Skip to content

Commit 770c26b

Browse files
committed
Added block to travel certain amount of millimeters
1 parent 231f098 commit 770c26b

File tree

3 files changed

+64
-1
lines changed

3 files changed

+64
-1
lines changed

src/assets/toolbox_adv.xml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -242,6 +242,18 @@
242242
</block>
243243
</value>
244244
</block>
245+
<block type="coderbot_adv_move_distance">
246+
<value name="SPEED">
247+
<block type="math_number">
248+
<field name="NUM">100</field>
249+
</block>
250+
</value>
251+
<value name="DISTANCE">
252+
<block type="math_number">
253+
<field name="NUM">1000</field>
254+
</block>
255+
</value>
256+
</block>
245257
<block type="coderbot_adv_motor">
246258
<value name="SPEED_LEFT">
247259
<block type="math_number">

src/components/Activity.vue

Lines changed: 51 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -756,7 +756,8 @@ export default {
756756
Blockly.Python.ORDER_NONE) || '\'\'';
757757
return sbsPrefix + 'get_bot().sleep(' + elapse + ')\n';
758758
};
759-
759+
760+
// muovi bot [direzione] a velocità [velcità] per [tempo]
760761
Blockly.Blocks['coderbot_adv_move'] = {
761762
// Block for moving forward.
762763
init: function() {
@@ -811,6 +812,55 @@ export default {
811812
var code = sbsPrefix + "get_bot()." + action + "(speed=" + speed + ", elapse=" + elapse + ")\n";
812813
return code;
813814
};
815+
816+
// muovi bot [direzione] per [distanza] metri
817+
Blockly.Blocks['coderbot_adv_move_distance'] = {
818+
// Block for moving forward.
819+
init: function() {
820+
var ACTIONS = [
821+
[Blockly.Msg.CODERBOT_MOVE_ADV_TIP_FORWARD, 'FORWARD'],
822+
[Blockly.Msg.CODERBOT_MOVE_ADV_TIP_BACKWARD, 'BACKWARD']
823+
]
824+
this.setHelpUrl('http://code.google.com/p/blockly/wiki/Move');
825+
this.setColour(40);
826+
827+
this.appendDummyInput("ACTION")
828+
.appendField(Blockly.Msg.CODERBOT_MOVE_ADV_MOVE)
829+
.appendField(new Blockly.FieldDropdown(ACTIONS), 'ACTION');
830+
this.appendValueInput('DISTANCE')
831+
.setCheck('Number')
832+
.appendField(Blockly.Msg.CODERBOT_MOVE_ADV_ELAPSE)
833+
.appendField(Blockly.Msg.MEASURE_UNIT);
834+
this.setInputsInline(true);
835+
// Assign 'this' to a variable for use in the tooltip closure below.
836+
var thisBlock = this;
837+
this.setTooltip(function() {
838+
var mode = thisBlock.getFieldValue('ACTION');
839+
var TOOLTIPS = {
840+
FORWARD: Blockly.Msg.CODERBOT_MOVE_ADV_TIP_FORWARD,
841+
BACKWARD: Blockly.Msg.CODERBOT_MOVE_ADV_TIP_BACKWARD
842+
};
843+
return TOOLTIPS[mode] + Blockly.Msg.CODERBOT_MOVE_ADV_TIP_TAIL;
844+
});
845+
this.setPreviousStatement(true);
846+
this.setNextStatement(true);
847+
}
848+
};
849+
850+
Blockly.Python['coderbot_adv_move_distance'] = function(block) {
851+
// Generate Python for moving forward.
852+
var OPERATORS = {
853+
FORWARD: ['forward'],
854+
BACKWARD: ['backward']
855+
};
856+
var tuple = OPERATORS[block.getFieldValue('ACTION')];
857+
var action = tuple[0];
858+
var speed = 100;
859+
var distance = Blockly.Python.valueToCode(block, 'DISTANCE', Blockly.Python.ORDER_NONE);
860+
var code = sbsPrefix + "get_bot()." + action + "(speed=" + speed + ", distance=" + distance + ")\n";
861+
return code;
862+
};
863+
814864
815865
Blockly.Blocks['coderbot_motion_move'] = {
816866
// Block for moving forward.

static/js/blockly/it.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -281,6 +281,7 @@ Blockly.Msg["MATH_TRIG_TOOLTIP_ATAN"] = "Restituisce l'arco-tangente di un numer
281281
Blockly.Msg["MATH_TRIG_TOOLTIP_COS"] = "Restituisce il coseno di un angolo espresso in gradi (non radianti).";
282282
Blockly.Msg["MATH_TRIG_TOOLTIP_SIN"] = "Restituisce il seno di un angolo espresso in gradi (non radianti).";
283283
Blockly.Msg["MATH_TRIG_TOOLTIP_TAN"] = "Restituisce la tangente di un angolo espresso in gradi (non radianti).";
284+
Blockly.Msg["MEASURE_UNIT"] = "millimetri"
284285
Blockly.Msg["NEW_VARIABLE"] = "Crea variabile...";
285286
Blockly.Msg["NEW_VARIABLE_TITLE"] = "Nome della nuova variabile:";
286287
Blockly.Msg["ORDINAL_NUMBER_SUFFIX"] = ""; // untranslated

0 commit comments

Comments
 (0)