importPackage(java.io);
importPackage(java.lang);
Blockly.Blocks['draw_move'] = {
// Block for moving forward or backwards.
init: function() {
var DIRECTIONS =
[[BlocklyApps.getMsg('Turtle_moveForward'), 'moveForward'],
[BlocklyApps.getMsg('Turtle_moveBackward'), 'moveBackward']];
this.setColour(160);
this.appendValueInput('VALUE')
.setCheck('Number')
.appendTitle(new Blockly.FieldDropdown(DIRECTIONS), 'DIR');
this.setPreviousStatement(true);
this.setNextStatement(true);
this.setTooltip(BlocklyApps.getMsg('Turtle_moveTooltip'));
}
};
Blockly.JavaScript['draw_move'] = function(block) {
// Generate JavaScript for moving forward or backwards.
var value = Blockly.JavaScript.valueToCode(block, 'VALUE',
Blockly.JavaScript.ORDER_NONE) || '0';
return 'Turtle.' + block.getTitleValue('DIR') +
'(' + value + ', \'block_id_' + block.id + '\');\n';
};
aW1wb3J0UGFja2FnZShqYXZhLmlvKTsKaW1wb3J0UGFja2FnZShqYXZhLmxhbmcpOwoKQmxvY2tseS5CbG9ja3NbJ2RyYXdfbW92ZSddID0gewogIC8vIEJsb2NrIGZvciBtb3ZpbmcgZm9yd2FyZCBvciBiYWNrd2FyZHMuCiAgaW5pdDogZnVuY3Rpb24oKSB7CiAgICB2YXIgRElSRUNUSU9OUyA9CiAgICAgICAgW1tCbG9ja2x5QXBwcy5nZXRNc2coJ1R1cnRsZV9tb3ZlRm9yd2FyZCcpLCAnbW92ZUZvcndhcmQnXSwKICAgICAgICAgW0Jsb2NrbHlBcHBzLmdldE1zZygnVHVydGxlX21vdmVCYWNrd2FyZCcpLCAnbW92ZUJhY2t3YXJkJ11dOwogICAgdGhpcy5zZXRDb2xvdXIoMTYwKTsKICAgIHRoaXMuYXBwZW5kVmFsdWVJbnB1dCgnVkFMVUUnKQogICAgICAgIC5zZXRDaGVjaygnTnVtYmVyJykKICAgICAgICAuYXBwZW5kVGl0bGUobmV3IEJsb2NrbHkuRmllbGREcm9wZG93bihESVJFQ1RJT05TKSwgJ0RJUicpOwogICAgdGhpcy5zZXRQcmV2aW91c1N0YXRlbWVudCh0cnVlKTsKICAgIHRoaXMuc2V0TmV4dFN0YXRlbWVudCh0cnVlKTsKICAgIHRoaXMuc2V0VG9vbHRpcChCbG9ja2x5QXBwcy5nZXRNc2coJ1R1cnRsZV9tb3ZlVG9vbHRpcCcpKTsKICB9Cn07CgpCbG9ja2x5LkphdmFTY3JpcHRbJ2RyYXdfbW92ZSddID0gZnVuY3Rpb24oYmxvY2spIHsKICAvLyBHZW5lcmF0ZSBKYXZhU2NyaXB0IGZvciBtb3ZpbmcgZm9yd2FyZCBvciBiYWNrd2FyZHMuCiAgdmFyIHZhbHVlID0gQmxvY2tseS5KYXZhU2NyaXB0LnZhbHVlVG9Db2RlKGJsb2NrLCAnVkFMVUUnLAogICAgICBCbG9ja2x5LkphdmFTY3JpcHQuT1JERVJfTk9ORSkgfHwgJzAnOwogIHJldHVybiAnVHVydGxlLicgKyBibG9jay5nZXRUaXRsZVZhbHVlKCdESVInKSArCiAgICAgICcoJyArIHZhbHVlICsgJywgXCdibG9ja19pZF8nICsgYmxvY2suaWQgKyAnXCcpO1xuJzsKfTs=