|
5 | 5 | */ |
6 | 6 | export default function (Blockly) { |
7 | 7 | Blockly.Ruby.motion_movesteps = function (block) { |
8 | | - const steps = Blockly.Ruby.valueToCode(block, 'STEPS', Blockly.Ruby.ORDER_NONE) || '0'; |
| 8 | + const steps = Blockly.Ruby.valueToCode(block, 'STEPS', Blockly.Ruby.ORDER_NONE) || 0; |
9 | 9 | return `move(${steps})\n`; |
10 | 10 | }; |
11 | 11 |
|
12 | 12 | Blockly.Ruby.motion_turnright = function (block) { |
13 | | - const degrees = Blockly.Ruby.valueToCode(block, 'DEGREES', Blockly.Ruby.ORDER_NONE) || '0'; |
| 13 | + const degrees = Blockly.Ruby.valueToCode(block, 'DEGREES', Blockly.Ruby.ORDER_NONE) || 0; |
14 | 14 | return `turn_right(${degrees})\n`; |
15 | 15 | }; |
16 | 16 |
|
17 | 17 | Blockly.Ruby.motion_turnleft = function (block) { |
18 | | - const degrees = Blockly.Ruby.valueToCode(block, 'DEGREES', Blockly.Ruby.ORDER_NONE) || null; |
| 18 | + const degrees = Blockly.Ruby.valueToCode(block, 'DEGREES', Blockly.Ruby.ORDER_NONE) || 0; |
19 | 19 | return `turn_left(${degrees})\n`; |
20 | 20 | }; |
21 | 21 |
|
22 | 22 | Blockly.Ruby.motion_goto = function (block) { |
23 | | - const place = Blockly.Ruby.valueToCode(block, 'TO', Blockly.Ruby.ORDER_NONE) || '0'; |
| 23 | + const place = Blockly.Ruby.valueToCode(block, 'TO', Blockly.Ruby.ORDER_NONE); |
24 | 24 | return `go_to(${place})\n`; |
25 | 25 | }; |
26 | 26 |
|
27 | 27 | Blockly.Ruby.motion_goto_menu = function (block) { |
28 | | - const place = block.getFieldValue('TO') || null; |
29 | | - return [Blockly.Ruby.specialSymbolToCode(place), Blockly.Ruby.ORDER_ATOMIC]; |
| 28 | + const place = Blockly.Ruby.quote_(block.getFieldValue('TO') || null); |
| 29 | + return [place, Blockly.Ruby.ORDER_ATOMIC]; |
30 | 30 | }; |
31 | 31 |
|
32 | 32 | Blockly.Ruby.motion_gotoxy = function (block) { |
33 | | - const x = Blockly.Ruby.valueToCode(block, 'X', Blockly.Ruby.ORDER_NONE) || '0'; |
34 | | - const y = Blockly.Ruby.valueToCode(block, 'Y', Blockly.Ruby.ORDER_NONE) || '0'; |
| 33 | + const x = Blockly.Ruby.valueToCode(block, 'X', Blockly.Ruby.ORDER_NONE) || 0; |
| 34 | + const y = Blockly.Ruby.valueToCode(block, 'Y', Blockly.Ruby.ORDER_NONE) || 0; |
35 | 35 | return `go_to([${x}, ${y}])\n`; |
36 | 36 | }; |
37 | 37 |
|
38 | 38 | Blockly.Ruby.motion_glideto = function (block) { |
39 | | - const secs = Blockly.Ruby.valueToCode(block, 'SECS', Blockly.Ruby.ORDER_NONE) || '0'; |
40 | | - const place = Blockly.Ruby.valueToCode(block, 'TO', Blockly.Ruby.ORDER_NONE) || '0'; |
| 39 | + const secs = Blockly.Ruby.valueToCode(block, 'SECS', Blockly.Ruby.ORDER_NONE) || 0; |
| 40 | + const place = Blockly.Ruby.valueToCode(block, 'TO', Blockly.Ruby.ORDER_NONE); |
41 | 41 | return `glide(${place}, secs: ${secs})\n`; |
42 | 42 | }; |
43 | 43 |
|
44 | 44 | Blockly.Ruby.motion_glideto_menu = Blockly.Ruby.motion_goto_menu; |
45 | 45 |
|
46 | 46 | Blockly.Ruby.motion_glidesecstoxy = function (block) { |
47 | | - const secs = Blockly.Ruby.valueToCode(block, 'SECS', Blockly.Ruby.ORDER_NONE) || '0'; |
48 | | - const x = Blockly.Ruby.valueToCode(block, 'X', Blockly.Ruby.ORDER_NONE) || '0'; |
49 | | - const y = Blockly.Ruby.valueToCode(block, 'Y', Blockly.Ruby.ORDER_NONE) || '0'; |
| 47 | + const secs = Blockly.Ruby.valueToCode(block, 'SECS', Blockly.Ruby.ORDER_NONE) || 0; |
| 48 | + const x = Blockly.Ruby.valueToCode(block, 'X', Blockly.Ruby.ORDER_NONE) || 0; |
| 49 | + const y = Blockly.Ruby.valueToCode(block, 'Y', Blockly.Ruby.ORDER_NONE) || 0; |
50 | 50 | return `glide([${x}, ${y}], secs: ${secs})\n`; |
51 | 51 | }; |
52 | 52 |
|
53 | 53 | Blockly.Ruby.motion_pointindirection = function (block) { |
54 | | - const direction = Blockly.Ruby.valueToCode(block, 'DIRECTION', Blockly.Ruby.ORDER_NONE) || '0'; |
55 | | - return `point_in_direction(${direction})\n`; |
| 54 | + const direction = Blockly.Ruby.valueToCode(block, 'DIRECTION', Blockly.Ruby.ORDER_NONE) || 90; |
| 55 | + return `self.direction = ${direction}\n`; |
56 | 56 | }; |
57 | 57 |
|
58 | 58 | Blockly.Ruby.motion_pointtowards = function (block) { |
59 | | - const towards = Blockly.Ruby.valueToCode(block, 'TOWARDS', Blockly.Ruby.ORDER_NONE) || null; |
| 59 | + const towards = Blockly.Ruby.valueToCode(block, 'TOWARDS', Blockly.Ruby.ORDER_NONE); |
60 | 60 | return `point_towards(${towards})\n`; |
61 | 61 | }; |
62 | 62 |
|
63 | 63 | Blockly.Ruby.motion_pointtowards_menu = function (block) { |
64 | | - const towards = Blockly.Ruby.quote_(block.getFieldValue('TOWARDS') || null); |
| 64 | + const towards = Blockly.Ruby.quote_(block.getFieldValue('TOWARDS') || '_mouse_'); |
65 | 65 | return [towards, Blockly.Ruby.ORDER_ATOMIC]; |
66 | 66 | }; |
67 | 67 |
|
68 | 68 | Blockly.Ruby.motion_changexby = function (block) { |
69 | | - const dx = Blockly.Ruby.valueToCode(block, 'DX', Blockly.Ruby.ORDER_NONE) || '0'; |
| 69 | + const dx = Blockly.Ruby.valueToCode(block, 'DX', Blockly.Ruby.ORDER_NONE) || 0; |
70 | 70 | return `self.x += ${dx}\n`; |
71 | 71 | }; |
72 | 72 |
|
73 | 73 | Blockly.Ruby.motion_setx = function (block) { |
74 | | - const x = Blockly.Ruby.valueToCode(block, 'X', Blockly.Ruby.ORDER_NONE) || '0'; |
| 74 | + const x = Blockly.Ruby.valueToCode(block, 'X', Blockly.Ruby.ORDER_NONE) || 0; |
75 | 75 | return `self.x = ${x}\n`; |
76 | 76 | }; |
77 | 77 |
|
78 | 78 | Blockly.Ruby.motion_changeyby = function (block) { |
79 | | - const dy = Blockly.Ruby.valueToCode(block, 'DY', Blockly.Ruby.ORDER_NONE) || '0'; |
| 79 | + const dy = Blockly.Ruby.valueToCode(block, 'DY', Blockly.Ruby.ORDER_NONE) || 0; |
80 | 80 | return `self.y += ${dy}\n`; |
81 | 81 | }; |
82 | 82 |
|
83 | 83 | Blockly.Ruby.motion_sety = function (block) { |
84 | | - const y = Blockly.Ruby.valueToCode(block, 'Y', Blockly.Ruby.ORDER_NONE) || '0'; |
| 84 | + const y = Blockly.Ruby.valueToCode(block, 'Y', Blockly.Ruby.ORDER_NONE) || 0; |
85 | 85 | return `self.y = ${y}\n`; |
86 | 86 | }; |
87 | 87 |
|
88 | 88 | Blockly.Ruby.motion_ifonedgebounce = function () { |
89 | | - return 'if_on_edge_bounce\n'; |
| 89 | + return 'bounce_if_on_edge\n'; |
90 | 90 | }; |
91 | 91 |
|
92 | 92 | Blockly.Ruby.motion_setrotationstyle = function (block) { |
93 | | - const style = Blockly.Ruby.quote_(block.getFieldValue('STYLE') || null); |
94 | | - return `set_rotation_style(${style})\n`; |
| 93 | + const style = Blockly.Ruby.quote_(block.getFieldValue('STYLE') || 'all around'); |
| 94 | + return `self.rotation_style = ${style}\n`; |
95 | 95 | }; |
96 | 96 |
|
97 | 97 | Blockly.Ruby.motion_xposition = function () { |
|
0 commit comments