Skip to content

Commit e8f3931

Browse files
committed
Motionの命令ブロックの変換処理のいくつかを修正
1 parent ab388cc commit e8f3931

File tree

2 files changed

+24
-43
lines changed

2 files changed

+24
-43
lines changed

src/lib/ruby-generator/index.js

Lines changed: 0 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -491,25 +491,6 @@ export default function (Blockly) {
491491
return this.blockToCode_(block);
492492
};
493493

494-
Blockly.Ruby.SpecialSymbols = [
495-
'_myself_',
496-
'_mouse_',
497-
'_edge_',
498-
'_random_',
499-
'_stage_'
500-
];
501-
502-
Blockly.Ruby.isSpecialSymbol = function (name) {
503-
return this.SpecialSymbols.includes(name);
504-
};
505-
506-
Blockly.Ruby.specialSymbolToCode = function (name) {
507-
if (this.isSpecialSymbol(name)) {
508-
return `:${name}`;
509-
}
510-
return name;
511-
};
512-
513494
Blockly = GeneratedBlocks(Blockly);
514495

515496
Blockly = MathBlocks(Blockly);

src/lib/ruby-generator/motion.js

Lines changed: 24 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -5,93 +5,93 @@
55
*/
66
export default function (Blockly) {
77
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;
99
return `move(${steps})\n`;
1010
};
1111

1212
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;
1414
return `turn_right(${degrees})\n`;
1515
};
1616

1717
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;
1919
return `turn_left(${degrees})\n`;
2020
};
2121

2222
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);
2424
return `go_to(${place})\n`;
2525
};
2626

2727
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];
3030
};
3131

3232
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;
3535
return `go_to([${x}, ${y}])\n`;
3636
};
3737

3838
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);
4141
return `glide(${place}, secs: ${secs})\n`;
4242
};
4343

4444
Blockly.Ruby.motion_glideto_menu = Blockly.Ruby.motion_goto_menu;
4545

4646
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;
5050
return `glide([${x}, ${y}], secs: ${secs})\n`;
5151
};
5252

5353
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`;
5656
};
5757

5858
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);
6060
return `point_towards(${towards})\n`;
6161
};
6262

6363
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_');
6565
return [towards, Blockly.Ruby.ORDER_ATOMIC];
6666
};
6767

6868
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;
7070
return `self.x += ${dx}\n`;
7171
};
7272

7373
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;
7575
return `self.x = ${x}\n`;
7676
};
7777

7878
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;
8080
return `self.y += ${dy}\n`;
8181
};
8282

8383
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;
8585
return `self.y = ${y}\n`;
8686
};
8787

8888
Blockly.Ruby.motion_ifonedgebounce = function () {
89-
return 'if_on_edge_bounce\n';
89+
return 'bounce_if_on_edge\n';
9090
};
9191

9292
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`;
9595
};
9696

9797
Blockly.Ruby.motion_xposition = function () {

0 commit comments

Comments
 (0)