@@ -504,6 +504,8 @@ Blockly.Blocks.coderbot_adv_move_distance = {
504504 const ACTIONS = [
505505 [ Blockly . Msg . CODERBOT_MOVE_ADV_TIP_FORWARD , 'FORWARD' ] ,
506506 [ Blockly . Msg . CODERBOT_MOVE_ADV_TIP_BACKWARD , 'BACKWARD' ] ,
507+ [ Blockly . Msg . CODERBOT_MOVE_ADV_TIP_LEFT , 'LEFT' ] ,
508+ [ Blockly . Msg . CODERBOT_MOVE_ADV_TIP_RIGHT , 'RIGHT' ] ,
507509 ] ;
508510 this . setHelpUrl ( 'http://code.google.com/p/blockly/wiki/Move' ) ;
509511 this . setColour ( 40 ) ;
@@ -523,6 +525,8 @@ Blockly.Blocks.coderbot_adv_move_distance = {
523525 const TOOLTIPS = {
524526 FORWARD : Blockly . Msg . CODERBOT_MOVE_ADV_TIP_FORWARD ,
525527 BACKWARD : Blockly . Msg . CODERBOT_MOVE_ADV_TIP_BACKWARD ,
528+ LEFT : Blockly . Msg . CODERBOT_MOVE_ADV_TIP_LEFT ,
529+ RIGHT : Blockly . Msg . CODERBOT_MOVE_ADV_TIP_RIGHT ,
526530 } ;
527531 return TOOLTIPS [ mode ] + Blockly . Msg . CODERBOT_MOVE_ADV_TIP_TAIL ;
528532 } ) ;
@@ -539,12 +543,19 @@ Blockly.Python.coderbot_adv_move_distance = function (block) {
539543 const OPERATORS = {
540544 FORWARD : [ 'forward' ] ,
541545 BACKWARD : [ 'backward' ] ,
546+ LEFT : [ 'motor_control' ] ,
547+ RIGHT : [ 'motor_control' ] ,
542548 } ;
543549 const tuple = OPERATORS [ block . getFieldValue ( 'ACTION' ) ] ;
544550 const action = tuple [ 0 ] ;
545551 const speed = 100 ;
546552 const distance = Blockly . Python . valueToCode ( block , 'DISTANCE' , Blockly . Python . ORDER_NONE ) ;
547- const code = `${ sbsPrefix } get_bot().${ action } (speed=${ speed } , distance=${ distance } )\n` ;
553+ let code = '' ;
554+ if ( action == 'motor_control' ) {
555+ code = `${ sbsPrefix } get_bot().motor_control(speed_left=${ speed } , speed_right=-${ speed } , target_distance=${ distance } )\n` ;
556+ } else {
557+ code = `${ sbsPrefix } get_bot().${ action } (speed=${ speed } , distance=${ distance } )\n` ;
558+ }
548559 return code ;
549560} ;
550561
@@ -555,6 +566,8 @@ Blockly.Blocks.coderbot_adv_move_speed_distance = {
555566 const ACTIONS = [
556567 [ Blockly . Msg . CODERBOT_MOVE_ADV_TIP_FORWARD , 'FORWARD' ] ,
557568 [ Blockly . Msg . CODERBOT_MOVE_ADV_TIP_BACKWARD , 'BACKWARD' ] ,
569+ [ Blockly . Msg . CODERBOT_MOVE_ADV_TIP_LEFT , 'LEFT' ] ,
570+ [ Blockly . Msg . CODERBOT_MOVE_ADV_TIP_RIGHT , 'RIGHT' ] ,
558571 ] ;
559572 this . setHelpUrl ( 'http://code.google.com/p/blockly/wiki/Move' ) ;
560573 this . setColour ( 40 ) ;
@@ -590,12 +603,19 @@ Blockly.Python.coderbot_adv_move_speed_distance = function (block) {
590603 const OPERATORS = {
591604 FORWARD : [ 'forward' ] ,
592605 BACKWARD : [ 'backward' ] ,
606+ LEFT : [ 'motor_control' ] ,
607+ RIGHT : [ 'motor_control' ] ,
593608 } ;
594609 const tuple = OPERATORS [ block . getFieldValue ( 'ACTION' ) ] ;
595610 const action = tuple [ 0 ] ;
596611 const speed = Blockly . Python . valueToCode ( block , 'SPEED' , Blockly . Python . ORDER_NONE ) ;
597612 const distance = Blockly . Python . valueToCode ( block , 'DISTANCE' , Blockly . Python . ORDER_NONE ) ;
598- const code = `${ sbsPrefix } get_bot().${ action } (speed=${ speed } , distance=${ distance } )\n` ;
613+ let code = '' ;
614+ if ( action == 'motor_control' ) {
615+ code = `${ sbsPrefix } get_bot().motor_control(speed_left=${ speed } , speed_right=-${ speed } , target_distance=${ distance } )\n` ;
616+ } else {
617+ code = `${ sbsPrefix } get_bot().${ action } (speed=${ speed } , distance=${ distance } )\n` ;
618+ }
599619 return code ;
600620} ;
601621
0 commit comments