smalruby-editor 0.1.20-x86-mingw32 → 0.1.21-x86-mingw32

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of smalruby-editor might be problematic. Click here for more details.

Files changed (75) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +0 -1
  3. data/app/assets/javascripts/blocks/character.js.coffee.erb +3 -10
  4. data/app/assets/javascripts/blocks/control.js.coffee.erb +2 -1
  5. data/app/assets/javascripts/blocks/data.js.coffee.erb +2 -1
  6. data/app/assets/javascripts/blocks/etc.js.coffee.erb +2 -1
  7. data/app/assets/javascripts/blocks/events.js.coffee.erb +5 -4
  8. data/app/assets/javascripts/blocks/field_character.js.coffee.erb +9 -0
  9. data/app/assets/javascripts/blocks/hardware.js.coffee.erb +171 -54
  10. data/app/assets/javascripts/blocks/looks.js.coffee.erb +2 -1
  11. data/app/assets/javascripts/blocks/motion.js.coffee.erb +4 -16
  12. data/app/assets/javascripts/blocks/operators.js.coffee.erb +2 -1
  13. data/app/assets/javascripts/blocks/pen.js.coffee.erb +2 -1
  14. data/app/assets/javascripts/blocks/ruby.js.coffee.erb +2 -1
  15. data/app/assets/javascripts/blocks/sensing.js.coffee.erb +25 -3
  16. data/app/assets/javascripts/blocks/sound.js.coffee.erb +2 -1
  17. data/app/assets/javascripts/generators/ruby.js.coffee.erb +27 -5
  18. data/app/assets/javascripts/models/source_code.js.coffee +20 -7
  19. data/app/assets/javascripts/views/main_menu_view.js.coffee +5 -7
  20. data/app/assets/stylesheets/editor.css.scss +5 -1
  21. data/app/assets/stylesheets/toolbox.css.scss.erb +29 -24
  22. data/app/controllers/source_codes_controller.rb +7 -36
  23. data/app/helpers/editor_helper.rb +9 -0
  24. data/app/models/concerns/ruby_to_block/block/hardware_button_down_or_up.rb +25 -0
  25. data/app/models/concerns/ruby_to_block/block/hardware_button_not_use_pullup.rb +18 -0
  26. data/app/models/concerns/ruby_to_block/block/hardware_motor_driver.rb +22 -0
  27. data/app/models/concerns/ruby_to_block/block/hardware_motor_driver_set_speed.rb +20 -0
  28. data/app/models/concerns/ruby_to_block/block/hardware_motor_driver_speed.rb +24 -0
  29. data/app/models/concerns/ruby_to_block/block/hardware_on_button_down_or_up.rb +19 -0
  30. data/app/models/concerns/ruby_to_block/block/hardware_operation.rb +15 -0
  31. data/app/models/concerns/ruby_to_block/block/hardware_two_wheel_drive_car_set_speed.rb +22 -0
  32. data/app/models/concerns/ruby_to_block/block/hardware_two_wheel_drive_car_speed.rb +26 -0
  33. data/app/models/concerns/ruby_to_block/block/ruby_p.rb +19 -0
  34. data/app/models/concerns/ruby_to_block/block/{motion_reach_wall.rb → sensing_reach_wall.rb} +1 -1
  35. data/app/models/concerns/ruby_to_block/block/text.rb +3 -2
  36. data/app/models/source_code.rb +20 -0
  37. data/app/views/editor/_toolbox.html.haml +84 -63
  38. data/app/views/editor/index.html.haml +1 -1
  39. data/demos/adjust_2wd_car.rb.xml +179 -0
  40. data/demos/car_chase.rb.xml +129 -126
  41. data/demos/hardware_led.rb.xml +7 -4
  42. data/demos/pong.rb.xml +17 -14
  43. data/demos/star.rb.xml +115 -112
  44. data/lib/smalruby_editor/version.rb +3 -3
  45. data/lib/smalruby_editor.rb +16 -0
  46. data/public/assets/{application-c8991557a0789ac1bc9220f409e7f1c1.js → application-734570836cdba680c1568220a51af40f.js} +216 -86
  47. data/public/assets/{application-c8991557a0789ac1bc9220f409e7f1c1.js.gz → application-734570836cdba680c1568220a51af40f.js.gz} +0 -0
  48. data/public/assets/{application-d4fe6c0f970efe8eab9267fd08718d96.css → application-898cb749439fba4ce44cffeac1216201.css} +37 -9
  49. data/public/assets/{application-d4fe6c0f970efe8eab9267fd08718d96.css.gz → application-898cb749439fba4ce44cffeac1216201.css.gz} +0 -0
  50. data/public/assets/manifest-332a5a1668194028b55103e0ea45c054.json +1 -1
  51. data/smalruby-editor.gemspec +2 -1
  52. data/spec/acceptance/block_mode/blocks/events/on_hit.feature +2 -0
  53. data/spec/acceptance/block_mode/blocks/hardware/button_down_or_up.feature +79 -0
  54. data/spec/acceptance/block_mode/blocks/hardware/button_not_use_pullup.feature +61 -0
  55. data/spec/acceptance/block_mode/blocks/hardware/motor_driver.feature +73 -0
  56. data/spec/acceptance/block_mode/blocks/hardware/motor_driver_speed.feature +93 -0
  57. data/spec/acceptance/block_mode/blocks/hardware/on_button_down_or_up.feature +87 -0
  58. data/spec/acceptance/block_mode/blocks/hardware/two_wheel_drive_car_speed.feature +111 -0
  59. data/spec/acceptance/block_mode/blocks/motion/reach_wall.feature +1 -1
  60. data/spec/acceptance/block_mode/blocks/operators/text.feature +38 -0
  61. data/spec/acceptance/block_mode/blocks/sensing/hit.feature +98 -52
  62. data/spec/acceptance/block_mode/blocks/sensing/reach_wall.feature +98 -0
  63. data/spec/acceptance/block_mode/demo.feature +3 -1
  64. data/spec/acceptance/standalone/save.feature +51 -0
  65. data/spec/helpers/editor_helper_spec.rb +20 -0
  66. data/spec/javascripts/models/source_code_spec.coffee +40 -0
  67. data/spec/models/concerns/ruby_to_block/block/hardware_spec.rb +269 -0
  68. data/spec/models/concerns/ruby_to_block/block/motion_spec.rb +1 -1
  69. data/spec/models/concerns/ruby_to_block/block/{motion_reach_wall_spec.rb → sensing_reach_wall_spec.rb} +2 -2
  70. data/spec/models/concerns/ruby_to_block/block/text_spec.rb +39 -0
  71. data/spec/models/concerns/ruby_to_block_spec.rb +2 -2
  72. data/spec/models/source_code_spec.rb +53 -0
  73. data/spec/steps/base_steps.rb +5 -0
  74. metadata +56 -12
  75. data/demos/rgb_led_anode.rb.xml +0 -83
@@ -1,126 +1,129 @@
1
- <xml xmlns="http://www.w3.org/1999/xhtml">
2
- <character name="car1" costumes="car2.png" angle="0" y="0" x="0" />
3
- <character name="car2" costumes="car3.png" angle="0" y="415" x="0" />
4
- <block type="ruby_comment" y="25" x="34">
5
- <field name="COMMENT">逃げる車</field>
6
- <next>
7
- <block type="character_new">
8
- <field name="NAME">car1</field>
9
- <statement name="DO">
10
- <block type="events_on_start">
11
- <statement name="DO">
12
- <block type="control_loop">
13
- <statement name="DO">
14
- <block type="motion_move" inline="true">
15
- <value name="STEP">
16
- <block type="math_number">
17
- <field name="NUM">6</field>
18
- </block>
19
- </value>
20
- <next>
21
- <block type="control_if" inline="true">
22
- <value name="COND">
23
- <block type="motion_reach_wall" />
24
- </value>
25
- <statement name="THEN">
26
- <block type="motion_turn" />
27
- </statement>
28
- </block>
29
- </next>
30
- </block>
31
- </statement>
32
- </block>
33
- </statement>
34
- <next>
35
- <block type="events_on_key_push_or_down">
36
- <field name="KEY">K_LEFT</field>
37
- <field name="POD">down</field>
38
- <statement name="DO">
39
- <block type="motion_rotate_left" inline="true">
40
- <value name="ANGLE">
41
- <block type="math_number">
42
- <field name="NUM">15</field>
43
- </block>
44
- </value>
45
- </block>
46
- </statement>
47
- <next>
48
- <block type="events_on_key_push_or_down">
49
- <field name="KEY">K_RIGHT</field>
50
- <field name="POD">down</field>
51
- <statement name="DO">
52
- <block type="motion_rotate_right" inline="true">
53
- <value name="ANGLE">
54
- <block type="math_number">
55
- <field name="NUM">15</field>
56
- </block>
57
- </value>
58
- </block>
59
- </statement>
60
- </block>
61
- </next>
62
- </block>
63
- </next>
64
- </block>
65
- </statement>
66
- </block>
67
- </next>
68
- </block>
69
- <block type="ruby_comment" y="23" x="480">
70
- <field name="COMMENT">追いかける車</field>
71
- <next>
72
- <block type="character_new">
73
- <field name="NAME">car2</field>
74
- <statement name="DO">
75
- <block type="events_on_start">
76
- <statement name="DO">
77
- <block type="control_loop">
78
- <statement name="DO">
79
- <block type="motion_point_towards_character">
80
- <field name="CHAR">car1</field>
81
- <next>
82
- <block type="motion_move" inline="true">
83
- <value name="STEP">
84
- <block type="math_number">
85
- <field name="NUM">3</field>
86
- </block>
87
- </value>
88
- <next>
89
- <block type="control_if_else" inline="true">
90
- <value name="COND">
91
- <block type="sensing_hit">
92
- <field name="CHAR">car1</field>
93
- </block>
94
- </value>
95
- <statement name="THEN">
96
- <block type="looks_say" inline="true">
97
- <value name="TEXT">
98
- <block type="text">
99
- <field name="TEXT">追いつきました!</field>
100
- </block>
101
- </value>
102
- </block>
103
- </statement>
104
- <statement name="ELSE">
105
- <block type="looks_say" inline="true">
106
- <value name="TEXT">
107
- <block type="text">
108
- <field name="TEXT" />
109
- </block>
110
- </value>
111
- </block>
112
- </statement>
113
- </block>
114
- </next>
115
- </block>
116
- </next>
117
- </block>
118
- </statement>
119
- </block>
120
- </statement>
121
- </block>
122
- </statement>
123
- </block>
124
- </next>
125
- </block>
126
- </xml>
1
+ <xml xmlns="http://www.w3.org/1999/xhtml">
2
+ <character name="car1" x="0" y="0" costumes="car2.png" angle="0" />
3
+ <character name="car2" x="0" y="415" costumes="car4.png" angle="0" />
4
+ <block type="ruby_comment" x="53" y="45">
5
+ <field name="COMMENT">車のおいかけっこ</field>
6
+ </block>
7
+ <block type="ruby_comment" x="55" y="100">
8
+ <field name="COMMENT">逃げる車</field>
9
+ <next>
10
+ <block type="character_new">
11
+ <field name="NAME">car1</field>
12
+ <statement name="DO">
13
+ <block type="events_on_start">
14
+ <statement name="DO">
15
+ <block type="control_loop">
16
+ <statement name="DO">
17
+ <block type="motion_move" inline="true">
18
+ <value name="STEP">
19
+ <block type="math_number">
20
+ <field name="NUM">6</field>
21
+ </block>
22
+ </value>
23
+ <next>
24
+ <block type="control_if" inline="true">
25
+ <value name="COND">
26
+ <block type="motion_reach_wall" />
27
+ </value>
28
+ <statement name="THEN">
29
+ <block type="motion_turn" />
30
+ </statement>
31
+ </block>
32
+ </next>
33
+ </block>
34
+ </statement>
35
+ </block>
36
+ </statement>
37
+ <next>
38
+ <block type="events_on_key_push_or_down">
39
+ <field name="KEY">K_LEFT</field>
40
+ <field name="POD">down</field>
41
+ <statement name="DO">
42
+ <block type="motion_rotate_left" inline="true">
43
+ <value name="ANGLE">
44
+ <block type="math_number">
45
+ <field name="NUM">15</field>
46
+ </block>
47
+ </value>
48
+ </block>
49
+ </statement>
50
+ <next>
51
+ <block type="events_on_key_push_or_down">
52
+ <field name="KEY">K_RIGHT</field>
53
+ <field name="POD">down</field>
54
+ <statement name="DO">
55
+ <block type="motion_rotate_right" inline="true">
56
+ <value name="ANGLE">
57
+ <block type="math_number">
58
+ <field name="NUM">15</field>
59
+ </block>
60
+ </value>
61
+ </block>
62
+ </statement>
63
+ </block>
64
+ </next>
65
+ </block>
66
+ </next>
67
+ </block>
68
+ </statement>
69
+ </block>
70
+ </next>
71
+ </block>
72
+ <block type="ruby_comment" x="454" y="99">
73
+ <field name="COMMENT">追いかける車</field>
74
+ <next>
75
+ <block type="character_new">
76
+ <field name="NAME">car2</field>
77
+ <statement name="DO">
78
+ <block type="events_on_start">
79
+ <statement name="DO">
80
+ <block type="control_loop">
81
+ <statement name="DO">
82
+ <block type="motion_point_towards_character">
83
+ <field name="CHAR">car1</field>
84
+ <next>
85
+ <block type="motion_move" inline="true">
86
+ <value name="STEP">
87
+ <block type="math_number">
88
+ <field name="NUM">3</field>
89
+ </block>
90
+ </value>
91
+ <next>
92
+ <block type="control_if_else" inline="true">
93
+ <value name="COND">
94
+ <block type="sensing_hit">
95
+ <field name="CHAR">car1</field>
96
+ </block>
97
+ </value>
98
+ <statement name="THEN">
99
+ <block type="looks_say" inline="true">
100
+ <value name="TEXT">
101
+ <block type="text">
102
+ <field name="TEXT">追いつきました!</field>
103
+ </block>
104
+ </value>
105
+ </block>
106
+ </statement>
107
+ <statement name="ELSE">
108
+ <block type="looks_say" inline="true">
109
+ <value name="TEXT">
110
+ <block type="text">
111
+ <field name="TEXT" />
112
+ </block>
113
+ </value>
114
+ </block>
115
+ </statement>
116
+ </block>
117
+ </next>
118
+ </block>
119
+ </next>
120
+ </block>
121
+ </statement>
122
+ </block>
123
+ </statement>
124
+ </block>
125
+ </statement>
126
+ </block>
127
+ </next>
128
+ </block>
129
+ </xml>
@@ -1,7 +1,10 @@
1
1
  <xml xmlns="http://www.w3.org/1999/xhtml">
2
- <character name="frog1" y="191" x="261" costumes="frog1.png" angle="0" />
3
- <block type="hardware_init_hardware" y="6" x="40" />
4
- <block type="character_new" y="50" x="45">
2
+ <character x="261" y="191" name="frog1" costumes="frog1.png" angle="0"></character>
3
+ <block type="ruby_comment" x="42" y="-39">
4
+ <field name="COMMENT">ライトをぴかっとさせるでよ</field>
5
+ </block>
6
+ <block type="hardware_init_hardware" x="40" y="6"></block>
7
+ <block type="character_new" x="45" y="50">
5
8
  <field name="NAME">frog1</field>
6
9
  <statement name="DO">
7
10
  <block type="events_on_click">
@@ -49,7 +52,7 @@
49
52
  <block type="looks_say" inline="true">
50
53
  <value name="TEXT">
51
54
  <block type="text">
52
- <field name="TEXT" />
55
+ <field name="TEXT"></field>
53
56
  </block>
54
57
  </value>
55
58
  </block>
data/demos/pong.rb.xml CHANGED
@@ -1,11 +1,14 @@
1
1
  <xml xmlns="http://www.w3.org/1999/xhtml">
2
- <character name="cat1" angle="0" costumes="cat2.png" y="0" x="0" rotation_style="left_right" />
3
- <character name="frog1" angle="180" costumes="frog1.png" y="0" x="544" rotation_style="left_right" />
4
- <character name="ball1" angle="225" costumes="ball6.png" y="184" x="304" rotation_style="left_right" />
5
- <block type="variables_set" y="-180" x="-25" inline="false">
2
+ <character x="0" y="0" name="cat1" costumes="cat2.png" angle="0" rotation_style="left_right"></character>
3
+ <character x="544" y="0" name="frog1" costumes="frog1.png" angle="180" rotation_style="left_right"></character>
4
+ <character x="304" y="184" name="ball1" costumes="ball6.png" angle="225" rotation_style="left_right"></character>
5
+ <block type="ruby_comment" x="-24" y="-222">
6
+ <field name="COMMENT">ピンポンゲーム</field>
7
+ </block>
8
+ <block type="variables_set" inline="false" x="-25" y="-180">
6
9
  <field name="VAR">プレイ中</field>
7
10
  <value name="VALUE">
8
- <block type="operators_true" />
11
+ <block type="operators_true"></block>
9
12
  </value>
10
13
  <next>
11
14
  <block type="variables_set" inline="false">
@@ -18,7 +21,7 @@
18
21
  </block>
19
22
  </next>
20
23
  </block>
21
- <block type="character_new" y="-102" x="-19">
24
+ <block type="character_new" x="-19" y="-102">
22
25
  <field name="NAME">cat1</field>
23
26
  <statement name="DO">
24
27
  <block type="events_on_start">
@@ -68,7 +71,7 @@
68
71
  </block>
69
72
  </statement>
70
73
  </block>
71
- <block type="character_new" y="-100" x="591">
74
+ <block type="character_new" x="591" y="-100">
72
75
  <field name="NAME">ball1</field>
73
76
  <statement name="DO">
74
77
  <block type="events_on_start">
@@ -120,7 +123,7 @@
120
123
  <block type="variables_set" inline="false">
121
124
  <field name="VAR">プレイ中</field>
122
125
  <value name="VALUE">
123
- <block type="operators_false" />
126
+ <block type="operators_false"></block>
124
127
  </value>
125
128
  </block>
126
129
  </next>
@@ -154,7 +157,7 @@
154
157
  <block type="variables_set" inline="false">
155
158
  <field name="VAR">プレイ中</field>
156
159
  <value name="VALUE">
157
- <block type="operators_false" />
160
+ <block type="operators_false"></block>
158
161
  </value>
159
162
  </block>
160
163
  </next>
@@ -170,12 +173,12 @@
170
173
  </block>
171
174
  </value>
172
175
  <value name="B">
173
- <block type="operators_false" />
176
+ <block type="operators_false"></block>
174
177
  </value>
175
178
  </block>
176
179
  </value>
177
180
  <statement name="THEN">
178
- <block type="control_break" />
181
+ <block type="control_break"></block>
179
182
  </statement>
180
183
  </block>
181
184
  </next>
@@ -306,7 +309,7 @@
306
309
  </block>
307
310
  </statement>
308
311
  </block>
309
- <block type="character_new" y="271" x="-15">
312
+ <block type="character_new" x="-15" y="271">
310
313
  <field name="NAME">frog1</field>
311
314
  <statement name="DO">
312
315
  <block type="events_on_start">
@@ -322,12 +325,12 @@
322
325
  </block>
323
326
  </value>
324
327
  <value name="B">
325
- <block type="operators_false" />
328
+ <block type="operators_false"></block>
326
329
  </value>
327
330
  </block>
328
331
  </value>
329
332
  <statement name="THEN">
330
- <block type="control_break" />
333
+ <block type="control_break"></block>
331
334
  </statement>
332
335
  <next>
333
336
  <block type="control_if_else" inline="true">
data/demos/star.rb.xml CHANGED
@@ -1,113 +1,116 @@
1
- <xml xmlns="http://www.w3.org/1999/xhtml">
2
- <character x="142" y="164" name="cat1" costumes="cat1.png" angle="0"></character>
3
- <block type="character_new" x="49" y="4">
4
- <field name="NAME">cat1</field>
5
- <statement name="DO">
6
- <block type="events_on_start">
7
- <statement name="DO">
8
- <block type="pen_set_pen_color">
9
- <field name="COLOUR">#3333ff</field>
10
- </block>
11
- </statement>
12
- <next>
13
- <block type="events_on_click">
14
- <statement name="DO">
15
- <block type="pen_down_pen">
16
- <next>
17
- <block type="motion_set_angle" inline="true">
18
- <value name="ANGLE">
19
- <block type="math_number">
20
- <field name="NUM">0</field>
21
- </block>
22
- </value>
23
- <next>
24
- <block type="control_times" inline="true">
25
- <value name="COUNT">
26
- <block type="math_number">
27
- <field name="NUM">5</field>
28
- </block>
29
- </value>
30
- <statement name="DO">
31
- <block type="control_times" inline="true">
32
- <value name="COUNT">
33
- <block type="math_number">
34
- <field name="NUM">22</field>
35
- </block>
36
- </value>
37
- <statement name="DO">
38
- <block type="motion_move" inline="true">
39
- <value name="STEP">
40
- <block type="math_number">
41
- <field name="NUM">10</field>
42
- </block>
43
- </value>
44
- <next>
45
- <block type="control_await"></block>
46
- </next>
47
- </block>
48
- </statement>
49
- <next>
50
- <block type="motion_rotate_right" inline="true">
51
- <value name="ANGLE">
52
- <block type="math_number">
53
- <field name="NUM">144</field>
54
- </block>
55
- </value>
56
- </block>
57
- </next>
58
- </block>
59
- </statement>
60
- <next>
61
- <block type="motion_rotate_left" inline="true">
62
- <value name="ANGLE">
63
- <block type="math_number">
64
- <field name="NUM">71.5</field>
65
- </block>
66
- </value>
67
- <next>
68
- <block type="control_times" inline="true">
69
- <value name="COUNT">
70
- <block type="math_number">
71
- <field name="NUM">370</field>
72
- </block>
73
- </value>
74
- <statement name="DO">
75
- <block type="motion_move" inline="true">
76
- <value name="STEP">
77
- <block type="math_number">
78
- <field name="NUM">2.01</field>
79
- </block>
80
- </value>
81
- <next>
82
- <block type="motion_rotate_right" inline="true">
83
- <value name="ANGLE">
84
- <block type="math_number">
85
- <field name="NUM">1</field>
86
- </block>
87
- </value>
88
- <next>
89
- <block type="control_await"></block>
90
- </next>
91
- </block>
92
- </next>
93
- </block>
94
- </statement>
95
- <next>
96
- <block type="looks_hide"></block>
97
- </next>
98
- </block>
99
- </next>
100
- </block>
101
- </next>
102
- </block>
103
- </next>
104
- </block>
105
- </next>
106
- </block>
107
- </statement>
108
- </block>
109
- </next>
110
- </block>
111
- </statement>
112
- </block>
1
+ <xml xmlns="http://www.w3.org/1999/xhtml">
2
+ <character x="142" y="164" name="cat1" costumes="cat1.png" angle="0"></character>
3
+ <block type="ruby_comment" x="49" y="-43">
4
+ <field name="COMMENT">クリックスターだにゃ~</field>
5
+ </block>
6
+ <block type="character_new" x="49" y="4">
7
+ <field name="NAME">cat1</field>
8
+ <statement name="DO">
9
+ <block type="events_on_start">
10
+ <statement name="DO">
11
+ <block type="pen_set_pen_color">
12
+ <field name="COLOUR">#3333ff</field>
13
+ </block>
14
+ </statement>
15
+ <next>
16
+ <block type="events_on_click">
17
+ <statement name="DO">
18
+ <block type="pen_down_pen">
19
+ <next>
20
+ <block type="motion_set_angle" inline="true">
21
+ <value name="ANGLE">
22
+ <block type="math_number">
23
+ <field name="NUM">0</field>
24
+ </block>
25
+ </value>
26
+ <next>
27
+ <block type="control_times" inline="true">
28
+ <value name="COUNT">
29
+ <block type="math_number">
30
+ <field name="NUM">5</field>
31
+ </block>
32
+ </value>
33
+ <statement name="DO">
34
+ <block type="control_times" inline="true">
35
+ <value name="COUNT">
36
+ <block type="math_number">
37
+ <field name="NUM">22</field>
38
+ </block>
39
+ </value>
40
+ <statement name="DO">
41
+ <block type="motion_move" inline="true">
42
+ <value name="STEP">
43
+ <block type="math_number">
44
+ <field name="NUM">10</field>
45
+ </block>
46
+ </value>
47
+ <next>
48
+ <block type="control_await"></block>
49
+ </next>
50
+ </block>
51
+ </statement>
52
+ <next>
53
+ <block type="motion_rotate_right" inline="true">
54
+ <value name="ANGLE">
55
+ <block type="math_number">
56
+ <field name="NUM">144</field>
57
+ </block>
58
+ </value>
59
+ </block>
60
+ </next>
61
+ </block>
62
+ </statement>
63
+ <next>
64
+ <block type="motion_rotate_left" inline="true">
65
+ <value name="ANGLE">
66
+ <block type="math_number">
67
+ <field name="NUM">71.5</field>
68
+ </block>
69
+ </value>
70
+ <next>
71
+ <block type="control_times" inline="true">
72
+ <value name="COUNT">
73
+ <block type="math_number">
74
+ <field name="NUM">370</field>
75
+ </block>
76
+ </value>
77
+ <statement name="DO">
78
+ <block type="motion_move" inline="true">
79
+ <value name="STEP">
80
+ <block type="math_number">
81
+ <field name="NUM">2.01</field>
82
+ </block>
83
+ </value>
84
+ <next>
85
+ <block type="motion_rotate_right" inline="true">
86
+ <value name="ANGLE">
87
+ <block type="math_number">
88
+ <field name="NUM">1</field>
89
+ </block>
90
+ </value>
91
+ <next>
92
+ <block type="control_await"></block>
93
+ </next>
94
+ </block>
95
+ </next>
96
+ </block>
97
+ </statement>
98
+ <next>
99
+ <block type="looks_hide"></block>
100
+ </next>
101
+ </block>
102
+ </next>
103
+ </block>
104
+ </next>
105
+ </block>
106
+ </next>
107
+ </block>
108
+ </next>
109
+ </block>
110
+ </statement>
111
+ </block>
112
+ </next>
113
+ </block>
114
+ </statement>
115
+ </block>
113
116
  </xml>