smalruby-editor 0.3.5-x86-mingw32 → 0.4.0-x86-mingw32

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


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

Files changed (366) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +0 -0
  3. data/.rspec +0 -0
  4. data/.rubocop.yml +1 -0
  5. data/.simplecov +7 -7
  6. data/.travis.yml +0 -0
  7. data/Guardfile +1 -1
  8. data/LICENSE +0 -0
  9. data/Procfile +1 -1
  10. data/Rakefile +0 -0
  11. data/app/assets/images/.keep +0 -0
  12. data/app/assets/images/favicon.ico +0 -0
  13. data/app/assets/javascripts/blocks/blockly.js.coffee.erb +0 -0
  14. data/app/assets/javascripts/blocks/character.js.coffee.erb +3 -0
  15. data/app/assets/javascripts/blocks/data.js.coffee.erb +0 -0
  16. data/app/assets/javascripts/blocks/etc.js.coffee.erb +0 -0
  17. data/app/assets/javascripts/blocks/field_character.js.coffee.erb +13 -1
  18. data/app/assets/javascripts/blocks/field_costume.js.coffee.erb +84 -0
  19. data/app/assets/javascripts/blocks/hardware.js.coffee.erb +26 -0
  20. data/app/assets/javascripts/blocks/looks.js.coffee.erb +32 -0
  21. data/app/assets/javascripts/collections/.keep +0 -0
  22. data/app/assets/javascripts/collections/character_set.js.coffee +0 -0
  23. data/app/assets/javascripts/generators/ruby.js.coffee.erb +10 -1
  24. data/app/assets/javascripts/models/.keep +0 -0
  25. data/app/assets/javascripts/models/character.js.coffee +45 -6
  26. data/app/assets/javascripts/models/scene.js.coffee +0 -0
  27. data/app/assets/javascripts/msg/en_us.js +4 -0
  28. data/app/assets/javascripts/msg/ja.js +4 -0
  29. data/app/assets/javascripts/routers/.keep +0 -0
  30. data/app/assets/javascripts/smalruby.js.coffee.erb +5 -1
  31. data/app/assets/javascripts/views/.keep +0 -0
  32. data/app/assets/javascripts/views/character_modal_view.js.coffee.erb +357 -0
  33. data/app/assets/javascripts/views/character_selector_view.js.coffee +2 -0
  34. data/app/assets/stylesheets/editor.css.scss +201 -16
  35. data/app/assets/stylesheets/flatstrap-custom.css.scss +0 -0
  36. data/app/assets/stylesheets/load-modal.css.scss +0 -0
  37. data/app/assets/templates/.keep +0 -0
  38. data/app/controllers/application_controller.rb +8 -2
  39. data/app/controllers/concerns/.keep +0 -0
  40. data/app/controllers/costumes_controller.rb +58 -0
  41. data/app/controllers/editor_controller.rb +2 -0
  42. data/app/helpers/costumes_helper.rb +2 -0
  43. data/app/helpers/editor_helper.rb +0 -0
  44. data/app/helpers/sessions_helper.rb +0 -4
  45. data/app/mailers/.keep +0 -0
  46. data/app/models/.keep +0 -0
  47. data/app/models/concerns/.keep +0 -0
  48. data/app/models/concerns/ruby_to_block.rb +0 -0
  49. data/app/models/concerns/ruby_to_block/block.rb +0 -0
  50. data/app/models/concerns/ruby_to_block/block/base.rb +2 -0
  51. data/app/models/concerns/ruby_to_block/block/character.rb +32 -11
  52. data/app/models/concerns/ruby_to_block/block/character_event.rb +0 -0
  53. data/app/models/concerns/ruby_to_block/block/character_method_call.rb +0 -0
  54. data/app/models/concerns/ruby_to_block/block/character_new.rb +0 -0
  55. data/app/models/concerns/ruby_to_block/block/character_operation.rb +0 -0
  56. data/app/models/concerns/ruby_to_block/block/control_beark.rb +0 -0
  57. data/app/models/concerns/ruby_to_block/block/control_if.rb +0 -0
  58. data/app/models/concerns/ruby_to_block/block/control_loop.rb +0 -0
  59. data/app/models/concerns/ruby_to_block/block/control_sleep.rb +0 -0
  60. data/app/models/concerns/ruby_to_block/block/do.rb +0 -0
  61. data/app/models/concerns/ruby_to_block/block/else.rb +0 -0
  62. data/app/models/concerns/ruby_to_block/block/end.rb +0 -0
  63. data/app/models/concerns/ruby_to_block/block/events_on_click.rb +0 -0
  64. data/app/models/concerns/ruby_to_block/block/events_on_key_push_or_down.rb +0 -0
  65. data/app/models/concerns/ruby_to_block/block/events_on_start.rb +0 -0
  66. data/app/models/concerns/ruby_to_block/block/hardware_button_pressed_or_released.rb +0 -0
  67. data/app/models/concerns/ruby_to_block/block/hardware_init_hardware.rb +0 -0
  68. data/app/models/concerns/ruby_to_block/block/hardware_led_turn_off.rb +0 -0
  69. data/app/models/concerns/ruby_to_block/block/hardware_led_turn_on.rb +0 -0
  70. data/app/models/concerns/ruby_to_block/block/hardware_motor_driver.rb +0 -0
  71. data/app/models/concerns/ruby_to_block/block/hardware_motor_driver_set_speed.rb +0 -0
  72. data/app/models/concerns/ruby_to_block/block/hardware_motor_driver_speed.rb +0 -0
  73. data/app/models/concerns/ruby_to_block/block/hardware_neo_pixel_set_rgb.rb +31 -0
  74. data/app/models/concerns/ruby_to_block/block/hardware_rgb_led_set_color.rb +0 -0
  75. data/app/models/concerns/ruby_to_block/block/hardware_rgb_led_turn_off.rb +0 -0
  76. data/app/models/concerns/ruby_to_block/block/hardware_sensor_value.rb +0 -0
  77. data/app/models/concerns/ruby_to_block/block/hardware_two_wheel_drive_car.rb +0 -0
  78. data/app/models/concerns/ruby_to_block/block/hardware_two_wheel_drive_car_commands.rb +0 -0
  79. data/app/models/concerns/ruby_to_block/block/hardware_two_wheel_drive_car_run.rb +0 -0
  80. data/app/models/concerns/ruby_to_block/block/hardware_two_wheel_drive_car_set_speed.rb +0 -0
  81. data/app/models/concerns/ruby_to_block/block/hardware_two_wheel_drive_car_speed.rb +0 -0
  82. data/app/models/concerns/ruby_to_block/block/looks_hide.rb +0 -0
  83. data/app/models/concerns/ruby_to_block/block/looks_next_costume.rb +12 -0
  84. data/app/models/concerns/ruby_to_block/block/looks_say.rb +0 -0
  85. data/app/models/concerns/ruby_to_block/block/looks_show.rb +0 -0
  86. data/app/models/concerns/ruby_to_block/block/looks_switch_costume.rb +22 -0
  87. data/app/models/concerns/ruby_to_block/block/looks_vanish.rb +0 -0
  88. data/app/models/concerns/ruby_to_block/block/math_number.rb +0 -0
  89. data/app/models/concerns/ruby_to_block/block/motion_change_x_by.rb +0 -0
  90. data/app/models/concerns/ruby_to_block/block/motion_change_y_by.rb +0 -0
  91. data/app/models/concerns/ruby_to_block/block/motion_go_to_character.rb +0 -0
  92. data/app/models/concerns/ruby_to_block/block/motion_go_to_mouse.rb +0 -0
  93. data/app/models/concerns/ruby_to_block/block/motion_move.rb +0 -0
  94. data/app/models/concerns/ruby_to_block/block/motion_point_towards_character.rb +0 -0
  95. data/app/models/concerns/ruby_to_block/block/motion_point_towards_mouse.rb +0 -0
  96. data/app/models/concerns/ruby_to_block/block/motion_rotate_left.rb +0 -0
  97. data/app/models/concerns/ruby_to_block/block/motion_rotate_right.rb +0 -0
  98. data/app/models/concerns/ruby_to_block/block/motion_self_angle.rb +0 -0
  99. data/app/models/concerns/ruby_to_block/block/motion_self_x.rb +0 -0
  100. data/app/models/concerns/ruby_to_block/block/motion_self_y.rb +0 -0
  101. data/app/models/concerns/ruby_to_block/block/motion_set_angle.rb +0 -0
  102. data/app/models/concerns/ruby_to_block/block/motion_set_x.rb +0 -0
  103. data/app/models/concerns/ruby_to_block/block/motion_set_x_y.rb +0 -0
  104. data/app/models/concerns/ruby_to_block/block/motion_set_y.rb +0 -0
  105. data/app/models/concerns/ruby_to_block/block/motion_turn.rb +0 -0
  106. data/app/models/concerns/ruby_to_block/block/motion_turn_if_reach_wall.rb +0 -0
  107. data/app/models/concerns/ruby_to_block/block/motion_turn_xy.rb +0 -0
  108. data/app/models/concerns/ruby_to_block/block/null.rb +0 -0
  109. data/app/models/concerns/ruby_to_block/block/operators_compare.rb +0 -0
  110. data/app/models/concerns/ruby_to_block/block/operators_false.rb +0 -0
  111. data/app/models/concerns/ruby_to_block/block/operators_true.rb +0 -0
  112. data/app/models/concerns/ruby_to_block/block/require_smalruby.rb +0 -0
  113. data/app/models/concerns/ruby_to_block/block/ruby_comment.rb +0 -0
  114. data/app/models/concerns/ruby_to_block/block/ruby_expression.rb +0 -0
  115. data/app/models/concerns/ruby_to_block/block/ruby_p.rb +0 -0
  116. data/app/models/concerns/ruby_to_block/block/ruby_statement.rb +0 -0
  117. data/app/models/concerns/ruby_to_block/block/sensing_hit.rb +0 -0
  118. data/app/models/concerns/ruby_to_block/block/sensing_reach_wall.rb +0 -0
  119. data/app/models/concerns/ruby_to_block/block/sound_play.rb +0 -0
  120. data/app/models/concerns/ruby_to_block/block/sound_preset_sounds.rb +0 -0
  121. data/app/models/concerns/ruby_to_block/block/text.rb +0 -0
  122. data/app/models/concerns/ruby_to_block/block/value.rb +0 -0
  123. data/app/models/concerns/ruby_to_block/context.rb +0 -0
  124. data/app/models/concerns/ruby_to_block/formatter.rb +0 -0
  125. data/app/models/costume.rb +67 -0
  126. data/app/models/source_code.rb +9 -1
  127. data/app/models/user.rb +7 -0
  128. data/app/views/costumes/index.html.haml +19 -0
  129. data/app/views/editor/_character_modal.html.haml +35 -7
  130. data/app/views/editor/_toolbox_default.html.haml +9 -0
  131. data/app/views/editor/demo.html.erb +0 -0
  132. data/app/views/editor/index.html.haml +1 -0
  133. data/bin/smalruby-editor +1 -0
  134. data/bin/spring +7 -9
  135. data/config.ru +0 -0
  136. data/config/boot.rb +0 -0
  137. data/config/database.yml.mysql2 +0 -0
  138. data/config/database.yml.sqlite3 +0 -0
  139. data/config/database.yml.travis +0 -0
  140. data/config/environment.rb +0 -0
  141. data/config/environments/development.rb +0 -0
  142. data/config/environments/production.rb +0 -0
  143. data/config/environments/standalone.rb +0 -0
  144. data/config/environments/test.rb +0 -0
  145. data/config/initializers/backtrace_silencers.rb +0 -0
  146. data/config/initializers/filter_parameter_logging.rb +0 -0
  147. data/config/initializers/inflections.rb +0 -0
  148. data/config/initializers/mime_types.rb +0 -0
  149. data/config/initializers/secret_token.rb +0 -0
  150. data/config/initializers/session_store.rb +0 -0
  151. data/config/initializers/teaspoon.rb +0 -0
  152. data/config/initializers/wrap_parameters.rb +0 -0
  153. data/config/locales/en.yml +10 -1
  154. data/config/locales/ja.yml +10 -0
  155. data/config/routes.rb +2 -0
  156. data/config/unicorn.rb +23 -23
  157. data/db/migrate/20131216121603_create_source_codes.rb +0 -0
  158. data/db/migrate/20131219045113_add_filename_to_source_code.rb +0 -0
  159. data/db/migrate/20150513061250_add_index_name_on_users.rb +1 -1
  160. data/db/migrate/20150607012053_create_costumes.rb +12 -0
  161. data/db/migrate/20150607012707_add_indexes_on_costumes.rb +13 -0
  162. data/db/migrate/20150607034013_acts_as_taggable_on_migration.acts_as_taggable_on_engine.rb +31 -0
  163. data/db/migrate/20150607034014_add_missing_unique_indices.acts_as_taggable_on_engine.rb +21 -0
  164. data/db/migrate/20150607034015_add_taggings_counter_cache_to_tags.acts_as_taggable_on_engine.rb +15 -0
  165. data/db/migrate/20150607034016_add_missing_taggable_index.acts_as_taggable_on_engine.rb +10 -0
  166. data/db/migrate/20150607034017_change_collation_for_tag_names.acts_as_taggable_on_engine.rb +12 -0
  167. data/db/migrate/20150607034018_insert_preset_costumes.rb +9 -0
  168. data/db/schema.rb +35 -2
  169. data/db/seeds.rb +2 -0
  170. data/demos/car_chase.rb.xml +128 -128
  171. data/demos/pong.rb.xml +379 -379
  172. data/demos/star.rb.xml +115 -115
  173. data/lib/assets/.keep +0 -0
  174. data/lib/smalruby_editor/version.rb +1 -1
  175. data/lib/tasks/.keep +0 -0
  176. data/lib/tasks/gem.rake +0 -0
  177. data/lib/tasks/rspec.rake +0 -0
  178. data/lib/tasks/rubocop.rake +0 -0
  179. data/log/.keep +0 -0
  180. data/public/404.html +0 -0
  181. data/public/422.html +0 -0
  182. data/public/500.html +0 -0
  183. data/public/apple-touch-icon.png +0 -0
  184. data/public/blockly/media/1x1.gif +0 -0
  185. data/public/blockly/media/click.mp3 +0 -0
  186. data/public/blockly/media/click.ogg +0 -0
  187. data/public/blockly/media/click.wav +0 -0
  188. data/public/blockly/media/delete.mp3 +0 -0
  189. data/public/blockly/media/delete.ogg +0 -0
  190. data/public/blockly/media/delete.wav +0 -0
  191. data/public/blockly/media/handopen.cur +0 -0
  192. data/public/blockly/media/quote0.png +0 -0
  193. data/public/blockly/media/quote1.png +0 -0
  194. data/public/browserconfig.xml +0 -0
  195. data/public/fonts/FontAwesome.otf +0 -0
  196. data/public/fonts/fontawesome-webfont.eot +0 -0
  197. data/public/fonts/fontawesome-webfont.ttf +0 -0
  198. data/public/fonts/fontawesome-webfont.woff +0 -0
  199. data/public/large.png +0 -0
  200. data/public/robots.txt +0 -0
  201. data/public/smalruby/assets/ball1.png +0 -0
  202. data/public/smalruby/assets/ball2.png +0 -0
  203. data/public/smalruby/assets/ball3.png +0 -0
  204. data/public/smalruby/assets/ball4.png +0 -0
  205. data/public/smalruby/assets/ball5.png +0 -0
  206. data/public/smalruby/assets/ball6.png +0 -0
  207. data/public/smalruby/assets/car1.png +0 -0
  208. data/public/smalruby/assets/car2.png +0 -0
  209. data/public/smalruby/assets/car3.png +0 -0
  210. data/public/smalruby/assets/car4.png +0 -0
  211. data/public/smalruby/assets/cat1.png +0 -0
  212. data/public/smalruby/assets/cat2.png +0 -0
  213. data/public/smalruby/assets/cat3.png +0 -0
  214. data/public/smalruby/assets/frog1.png +0 -0
  215. data/public/smalruby/assets/piano_do.wav +0 -0
  216. data/public/smalruby/assets/piano_do_2.wav +0 -0
  217. data/public/smalruby/assets/piano_fa.wav +0 -0
  218. data/public/smalruby/assets/piano_mi.wav +0 -0
  219. data/public/smalruby/assets/piano_ra.wav +0 -0
  220. data/public/smalruby/assets/piano_re.wav +0 -0
  221. data/public/smalruby/assets/piano_si.wav +0 -0
  222. data/public/smalruby/assets/piano_so.wav +0 -0
  223. data/public/smalruby/assets/ryu1.png +0 -0
  224. data/public/smalruby/assets/ryu2.png +0 -0
  225. data/public/smalruby/assets/taichi1.png +0 -0
  226. data/public/smalruby/assets/taichi2.png +0 -0
  227. data/public/square.png +0 -0
  228. data/public/tiny.png +0 -0
  229. data/public/wide.png +0 -0
  230. data/smalruby-editor.gemspec +2 -1
  231. data/spec/acceptance/block_mode/blocks/character/new.feature +5 -5
  232. data/spec/acceptance/block_mode/blocks/control/await.feature +2 -2
  233. data/spec/acceptance/block_mode/blocks/control/await_until.feature +3 -3
  234. data/spec/acceptance/block_mode/blocks/control/break.feature +0 -0
  235. data/spec/acceptance/block_mode/blocks/control/if.feature +0 -0
  236. data/spec/acceptance/block_mode/blocks/control/if_else.feature +0 -0
  237. data/spec/acceptance/block_mode/blocks/control/loop.feature +0 -0
  238. data/spec/acceptance/block_mode/blocks/control/next.feature +0 -0
  239. data/spec/acceptance/block_mode/blocks/control/redo.feature +0 -0
  240. data/spec/acceptance/block_mode/blocks/control/sleep.feature +0 -0
  241. data/spec/acceptance/block_mode/blocks/control/times.feature +0 -0
  242. data/spec/acceptance/block_mode/blocks/control/until.feature +0 -0
  243. data/spec/acceptance/block_mode/blocks/events/on_click.feature +2 -2
  244. data/spec/acceptance/block_mode/blocks/events/on_hit.feature +4 -4
  245. data/spec/acceptance/block_mode/blocks/events/on_key_push_or_down.feature +4 -4
  246. data/spec/acceptance/block_mode/blocks/events/on_start.feature +2 -2
  247. data/spec/acceptance/block_mode/blocks/hardware/init_hardware.feature +1 -1
  248. data/spec/acceptance/block_mode/blocks/hardware/led_turn_off.feature +2 -2
  249. data/spec/acceptance/block_mode/blocks/hardware/led_turn_on.feature +2 -2
  250. data/spec/acceptance/block_mode/blocks/hardware/motor_driver.feature +0 -0
  251. data/spec/acceptance/block_mode/blocks/hardware/motor_driver_speed.feature +0 -0
  252. data/spec/acceptance/block_mode/blocks/hardware/neo_pixel_set_rgb.feature +100 -0
  253. data/spec/acceptance/block_mode/blocks/hardware/rgb_led_set_color.feature +0 -0
  254. data/spec/acceptance/block_mode/blocks/hardware/rgb_led_turn_off.feature +0 -0
  255. data/spec/acceptance/block_mode/blocks/hardware/sensor_value.feature +0 -0
  256. data/spec/acceptance/block_mode/blocks/hardware/servo_set_position.feature +0 -0
  257. data/spec/acceptance/block_mode/blocks/hardware/smalrubot_s1_action_with_sec.feature +1 -1
  258. data/spec/acceptance/block_mode/blocks/hardware/smalrubot_s1_led_turn_on_or_off.feature +1 -1
  259. data/spec/acceptance/block_mode/blocks/hardware/smalrubot_v3_action_with_sec.feature +1 -1
  260. data/spec/acceptance/block_mode/blocks/hardware/two_wheel_drive_car.feature +0 -0
  261. data/spec/acceptance/block_mode/blocks/hardware/two_wheel_drive_car_speed.feature +0 -0
  262. data/spec/acceptance/block_mode/blocks/looks/hide.feature +2 -2
  263. data/spec/acceptance/block_mode/blocks/looks/next_costume.feature +56 -0
  264. data/spec/acceptance/block_mode/blocks/looks/say.feature +3 -3
  265. data/spec/acceptance/block_mode/blocks/looks/show.feature +2 -2
  266. data/spec/acceptance/block_mode/blocks/looks/vanish.feature +2 -2
  267. data/spec/acceptance/block_mode/blocks/motion/change_x_by.feature +2 -2
  268. data/spec/acceptance/block_mode/blocks/motion/change_y_by.feature +2 -2
  269. data/spec/acceptance/block_mode/blocks/motion/move.feature +2 -2
  270. data/spec/acceptance/block_mode/blocks/motion/reach_wall.feature +2 -2
  271. data/spec/acceptance/block_mode/blocks/motion/rotate_left.feature +2 -2
  272. data/spec/acceptance/block_mode/blocks/motion/rotate_right.feature +2 -2
  273. data/spec/acceptance/block_mode/blocks/motion/self_angle.feature +2 -2
  274. data/spec/acceptance/block_mode/blocks/motion/self_x.feature +2 -2
  275. data/spec/acceptance/block_mode/blocks/motion/self_y.feature +2 -2
  276. data/spec/acceptance/block_mode/blocks/motion/set_angle.feature +2 -2
  277. data/spec/acceptance/block_mode/blocks/motion/set_x.feature +2 -2
  278. data/spec/acceptance/block_mode/blocks/motion/set_x_y.feature +2 -2
  279. data/spec/acceptance/block_mode/blocks/motion/set_y.feature +2 -2
  280. data/spec/acceptance/block_mode/blocks/motion/turn.feature +2 -2
  281. data/spec/acceptance/block_mode/blocks/motion/turn_if_reach_wall.feature +2 -2
  282. data/spec/acceptance/block_mode/blocks/operators/and_or.feature +0 -0
  283. data/spec/acceptance/block_mode/blocks/operators/four_arithmetic_and_compares.feature +0 -0
  284. data/spec/acceptance/block_mode/blocks/operators/index_of.feature +0 -0
  285. data/spec/acceptance/block_mode/blocks/operators/length.feature +0 -0
  286. data/spec/acceptance/block_mode/blocks/operators/math_method.feature +0 -0
  287. data/spec/acceptance/block_mode/blocks/operators/negate.feature +0 -0
  288. data/spec/acceptance/block_mode/blocks/operators/rand.feature +0 -0
  289. data/spec/acceptance/block_mode/blocks/operators/round.feature +0 -0
  290. data/spec/acceptance/block_mode/blocks/operators/text.feature +0 -0
  291. data/spec/acceptance/block_mode/blocks/operators/true_false.feature +0 -0
  292. data/spec/acceptance/block_mode/blocks/ruby/expression.feature +0 -0
  293. data/spec/acceptance/block_mode/blocks/ruby/p.feature +0 -0
  294. data/spec/acceptance/block_mode/blocks/ruby/statement_comment.feature +0 -0
  295. data/spec/acceptance/block_mode/blocks/sensing/character_property.feature +2 -2
  296. data/spec/acceptance/block_mode/blocks/sensing/hit.feature +6 -6
  297. data/spec/acceptance/block_mode/blocks/sensing/input_key_push_or_down.feature +0 -0
  298. data/spec/acceptance/block_mode/blocks/sensing/input_mouse_pos_x.feature +0 -0
  299. data/spec/acceptance/block_mode/blocks/sensing/input_mouse_pos_y.feature +0 -0
  300. data/spec/acceptance/block_mode/blocks/sensing/input_mouse_push_or_down.feature +0 -0
  301. data/spec/acceptance/block_mode/blocks/sensing/reach_wall.feature +2 -2
  302. data/spec/acceptance/block_mode/blocks/sensing/time_now.feature +0 -0
  303. data/spec/acceptance/block_mode/blocks/sound/play.feature +2 -2
  304. data/spec/acceptance/block_mode/character_modal_view.feature +164 -0
  305. data/spec/acceptance/block_mode/demo.feature +2 -2
  306. data/spec/acceptance/block_mode/translate.feature +0 -0
  307. data/spec/acceptance/readme.md +0 -0
  308. data/spec/acceptance/ruby_mode/check.feature +0 -0
  309. data/spec/acceptance/ruby_mode/load.feature +0 -0
  310. data/spec/acceptance/ruby_mode/translate.feature +2 -2
  311. data/spec/acceptance/standalone/preference.feature +8 -8
  312. data/spec/acceptance/standalone/run.feature +0 -0
  313. data/spec/acceptance/standalone/save.feature +1 -1
  314. data/spec/acceptance/standalone/signin.feature +1 -1
  315. data/spec/controllers/source_codes_controller_spec.rb +0 -0
  316. data/spec/fixtures/files/01.rb +0 -0
  317. data/spec/fixtures/files/01.rb.xml +0 -0
  318. data/spec/fixtures/files/01_remix.rb +0 -0
  319. data/spec/fixtures/files/01_remix02.rb +0 -0
  320. data/spec/fixtures/files/01_remix10.rb.xml +0 -0
  321. data/spec/fixtures/files/extra_car.png +0 -0
  322. data/spec/fixtures/files/favicon.ico +0 -0
  323. data/spec/helpers/editor_helper_spec.rb +0 -0
  324. data/spec/javascripts/collections/character_set_spec.coffee +0 -0
  325. data/spec/javascripts/models/character_spec.coffee +2 -14
  326. data/spec/javascripts/models/scene_spec.coffee +0 -0
  327. data/spec/javascripts/spec_helper.js +0 -0
  328. data/spec/lib/smalruby_editor_spec.rb +0 -0
  329. data/spec/models/concerns/ruby_to_block/block/character_method_call_spec.rb +0 -0
  330. data/spec/models/concerns/ruby_to_block/block/character_spec.rb +71 -0
  331. data/spec/models/concerns/ruby_to_block/block/control_if_spec.rb +0 -0
  332. data/spec/models/concerns/ruby_to_block/block/control_loop_spec.rb +0 -0
  333. data/spec/models/concerns/ruby_to_block/block/events_on_start_spec.rb +6 -6
  334. data/spec/models/concerns/ruby_to_block/block/hardware__neo_pixel_spec.rb +77 -0
  335. data/spec/models/concerns/ruby_to_block/block/looks_say_spec.rb +0 -0
  336. data/spec/models/concerns/ruby_to_block/block/looks_spec.rb +26 -2
  337. data/spec/models/concerns/ruby_to_block/block/motion_move_spec.rb +0 -0
  338. data/spec/models/concerns/ruby_to_block/block/motion_spec.rb +0 -0
  339. data/spec/models/concerns/ruby_to_block/block/motion_turn_spec.rb +0 -0
  340. data/spec/models/concerns/ruby_to_block/block/motion_turn_xy_spec.rb +0 -0
  341. data/spec/models/concerns/ruby_to_block/block/require_smalruby_spec.rb +0 -0
  342. data/spec/models/concerns/ruby_to_block/block/ruby_comment_spec.rb +0 -0
  343. data/spec/models/concerns/ruby_to_block/block/ruby_statement_spec.rb +0 -0
  344. data/spec/models/concerns/ruby_to_block/block/sensing_reach_wall_spec.rb +0 -0
  345. data/spec/models/concerns/ruby_to_block/block/shared/block_examples.rb +2 -2
  346. data/spec/models/concerns/ruby_to_block/block/sound_spec.rb +0 -0
  347. data/spec/models/concerns/ruby_to_block/block/text_spec.rb +0 -0
  348. data/spec/models/concerns/ruby_to_block/block_spec.rb +0 -0
  349. data/spec/models/concerns/ruby_to_block_spec.rb +0 -0
  350. data/spec/spec_helper.rb +21 -10
  351. data/spec/steps/block_mode_steps.rb +0 -0
  352. data/spec/steps/fix_turnip.rb +0 -0
  353. data/spec/steps/global_variable.rb +0 -0
  354. data/spec/steps/standalone_steps.rb +3 -3
  355. data/spec/steps/then_steps.rb +28 -0
  356. data/spec/steps/when_steps.rb +15 -18
  357. data/spec/support/capybara.rb +0 -0
  358. data/spec/support/env.rb +0 -0
  359. data/spec/support/ruby_to_block.rb +0 -0
  360. data/spec/teaspoon_env.rb +0 -0
  361. data/spec/turnip_helper.rb +0 -0
  362. data/vendor/assets/javascripts/.keep +0 -0
  363. data/vendor/assets/javascripts/jquery.blockUI.js +0 -0
  364. data/vendor/assets/stylesheets/.keep +0 -0
  365. metadata +56 -14
  366. data/app/assets/javascripts/views/character_modal_view.js.coffee +0 -194
@@ -1,380 +1,380 @@
1
- <xml xmlns="http://www.w3.org/1999/xhtml">
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">
9
- <field name="VAR">プレイ中</field>
10
- <value name="VALUE">
11
- <block type="operators_true"></block>
12
- </value>
13
- <next>
14
- <block type="variables_set" inline="false">
15
- <field name="VAR">回数</field>
16
- <value name="VALUE">
17
- <block type="math_number">
18
- <field name="NUM">0</field>
19
- </block>
20
- </value>
21
- </block>
22
- </next>
23
- </block>
24
- <block type="character_new" x="-19" y="-102">
25
- <field name="NAME">cat1</field>
26
- <statement name="DO">
27
- <block type="events_on_start">
28
- <statement name="DO">
29
- <block type="control_loop">
30
- <statement name="DO">
31
- <block type="looks_say" inline="true">
32
- <value name="TEXT">
33
- <block type="variables_get">
34
- <field name="VAR">回数</field>
35
- </block>
36
- </value>
37
- </block>
38
- </statement>
39
- </block>
40
- </statement>
41
- <next>
42
- <block type="events_on_key_push_or_down">
43
- <field name="KEY">K_UP</field>
44
- <field name="POD">down</field>
45
- <statement name="DO">
46
- <block type="motion_change_y_by" inline="true">
47
- <value name="Y">
48
- <block type="math_number">
49
- <field name="NUM">-20</field>
50
- </block>
51
- </value>
52
- </block>
53
- </statement>
54
- <next>
55
- <block type="events_on_key_push_or_down">
56
- <field name="KEY">K_DOWN</field>
57
- <field name="POD">down</field>
58
- <statement name="DO">
59
- <block type="motion_change_y_by" inline="true">
60
- <value name="Y">
61
- <block type="math_number">
62
- <field name="NUM">20</field>
63
- </block>
64
- </value>
65
- </block>
66
- </statement>
67
- </block>
68
- </next>
69
- </block>
70
- </next>
71
- </block>
72
- </statement>
73
- </block>
74
- <block type="character_new" x="591" y="-100">
75
- <field name="NAME">ball1</field>
76
- <statement name="DO">
77
- <block type="events_on_start">
78
- <statement name="DO">
79
- <block type="control_loop">
80
- <statement name="DO">
81
- <block type="motion_move" inline="true">
82
- <value name="STEP">
83
- <block type="operators_add" inline="true">
84
- <value name="A">
85
- <block type="math_number">
86
- <field name="NUM">10</field>
87
- </block>
88
- </value>
89
- <value name="B">
90
- <block type="variables_get">
91
- <field name="VAR">回数</field>
92
- </block>
93
- </value>
94
- </block>
95
- </value>
96
- <next>
97
- <block type="motion_turn_if_reach_wall">
98
- <next>
99
- <block type="control_if" inline="true">
100
- <value name="COND">
101
- <block type="operators_compare_gte" inline="true">
102
- <value name="A">
103
- <block type="sensing_character_property">
104
- <field name="CHAR">ball1</field>
105
- <field name="PROPERTY">x</field>
106
- </block>
107
- </value>
108
- <value name="B">
109
- <block type="math_number">
110
- <field name="NUM">608</field>
111
- </block>
112
- </value>
113
- </block>
114
- </value>
115
- <statement name="THEN">
116
- <block type="looks_say" inline="true">
117
- <value name="TEXT">
118
- <block type="text">
119
- <field name="TEXT">あなたの勝ち!</field>
120
- </block>
121
- </value>
122
- <next>
123
- <block type="variables_set" inline="false">
124
- <field name="VAR">プレイ中</field>
125
- <value name="VALUE">
126
- <block type="operators_false"></block>
127
- </value>
128
- </block>
129
- </next>
130
- </block>
131
- </statement>
132
- <next>
133
- <block type="control_if" inline="true">
134
- <value name="COND">
135
- <block type="operators_compare_lte" inline="true">
136
- <value name="A">
137
- <block type="sensing_character_property">
138
- <field name="CHAR">ball1</field>
139
- <field name="PROPERTY">x</field>
140
- </block>
141
- </value>
142
- <value name="B">
143
- <block type="math_number">
144
- <field name="NUM">0</field>
145
- </block>
146
- </value>
147
- </block>
148
- </value>
149
- <statement name="THEN">
150
- <block type="looks_say" inline="true">
151
- <value name="TEXT">
152
- <block type="text">
153
- <field name="TEXT">あなたの負け!</field>
154
- </block>
155
- </value>
156
- <next>
157
- <block type="variables_set" inline="false">
158
- <field name="VAR">プレイ中</field>
159
- <value name="VALUE">
160
- <block type="operators_false"></block>
161
- </value>
162
- </block>
163
- </next>
164
- </block>
165
- </statement>
166
- <next>
167
- <block type="control_if" inline="true">
168
- <value name="COND">
169
- <block type="operators_compare_eq" inline="true">
170
- <value name="A">
171
- <block type="variables_get">
172
- <field name="VAR">プレイ中</field>
173
- </block>
174
- </value>
175
- <value name="B">
176
- <block type="operators_false"></block>
177
- </value>
178
- </block>
179
- </value>
180
- <statement name="THEN">
181
- <block type="control_break"></block>
182
- </statement>
183
- </block>
184
- </next>
185
- </block>
186
- </next>
187
- </block>
188
- </next>
189
- </block>
190
- </next>
191
- </block>
192
- </statement>
193
- </block>
194
- </statement>
195
- <next>
196
- <block type="events_on_hit">
197
- <field name="CHAR">cat1</field>
198
- <statement name="DO">
199
- <block type="variables_set" inline="false">
200
- <field name="VAR">回数</field>
201
- <value name="VALUE">
202
- <block type="operators_add" inline="true">
203
- <value name="A">
204
- <block type="variables_get">
205
- <field name="VAR">回数</field>
206
- </block>
207
- </value>
208
- <value name="B">
209
- <block type="math_number">
210
- <field name="NUM">1</field>
211
- </block>
212
- </value>
213
- </block>
214
- </value>
215
- <next>
216
- <block type="motion_turn_xy">
217
- <field name="XY">x</field>
218
- <next>
219
- <block type="control_if" inline="true">
220
- <value name="COND">
221
- <block type="sensing_input_key_push_or_down">
222
- <field name="KEY">K_UP</field>
223
- <field name="POD">down</field>
224
- </block>
225
- </value>
226
- <statement name="THEN">
227
- <block type="motion_rotate_left" inline="true">
228
- <value name="ANGLE">
229
- <block type="math_number">
230
- <field name="NUM">5</field>
231
- </block>
232
- </value>
233
- </block>
234
- </statement>
235
- <next>
236
- <block type="control_if" inline="true">
237
- <value name="COND">
238
- <block type="sensing_input_key_push_or_down">
239
- <field name="KEY">K_DOWN</field>
240
- <field name="POD">down</field>
241
- </block>
242
- </value>
243
- <statement name="THEN">
244
- <block type="motion_rotate_right" inline="true">
245
- <value name="ANGLE">
246
- <block type="math_number">
247
- <field name="NUM">5</field>
248
- </block>
249
- </value>
250
- </block>
251
- </statement>
252
- <next>
253
- <block type="motion_set_x" inline="true">
254
- <value name="X">
255
- <block type="math_number">
256
- <field name="NUM">100</field>
257
- </block>
258
- </value>
259
- </block>
260
- </next>
261
- </block>
262
- </next>
263
- </block>
264
- </next>
265
- </block>
266
- </next>
267
- </block>
268
- </statement>
269
- <next>
270
- <block type="events_on_hit">
271
- <field name="CHAR">frog1</field>
272
- <statement name="DO">
273
- <block type="variables_set" inline="false">
274
- <field name="VAR">回数</field>
275
- <value name="VALUE">
276
- <block type="operators_add" inline="true">
277
- <value name="A">
278
- <block type="variables_get">
279
- <field name="VAR">回数</field>
280
- </block>
281
- </value>
282
- <value name="B">
283
- <block type="math_number">
284
- <field name="NUM">1</field>
285
- </block>
286
- </value>
287
- </block>
288
- </value>
289
- <next>
290
- <block type="motion_turn_xy">
291
- <field name="XY">x</field>
292
- <next>
293
- <block type="motion_set_x" inline="true">
294
- <value name="X">
295
- <block type="math_number">
296
- <field name="NUM">510</field>
297
- </block>
298
- </value>
299
- </block>
300
- </next>
301
- </block>
302
- </next>
303
- </block>
304
- </statement>
305
- </block>
306
- </next>
307
- </block>
308
- </next>
309
- </block>
310
- </statement>
311
- </block>
312
- <block type="character_new" x="-15" y="271">
313
- <field name="NAME">frog1</field>
314
- <statement name="DO">
315
- <block type="events_on_start">
316
- <statement name="DO">
317
- <block type="control_loop">
318
- <statement name="DO">
319
- <block type="control_if" inline="true">
320
- <value name="COND">
321
- <block type="operators_compare_eq" inline="true">
322
- <value name="A">
323
- <block type="variables_get">
324
- <field name="VAR">プレイ中</field>
325
- </block>
326
- </value>
327
- <value name="B">
328
- <block type="operators_false"></block>
329
- </value>
330
- </block>
331
- </value>
332
- <statement name="THEN">
333
- <block type="control_break"></block>
334
- </statement>
335
- <next>
336
- <block type="control_if_else" inline="true">
337
- <value name="COND">
338
- <block type="operators_compare_gte" inline="true">
339
- <value name="A">
340
- <block type="sensing_character_property">
341
- <field name="CHAR">frog1</field>
342
- <field name="PROPERTY">y</field>
343
- </block>
344
- </value>
345
- <value name="B">
346
- <block type="sensing_character_property">
347
- <field name="CHAR">ball1</field>
348
- <field name="PROPERTY">y</field>
349
- </block>
350
- </value>
351
- </block>
352
- </value>
353
- <statement name="THEN">
354
- <block type="motion_change_y_by" inline="true">
355
- <value name="Y">
356
- <block type="math_number">
357
- <field name="NUM">-15</field>
358
- </block>
359
- </value>
360
- </block>
361
- </statement>
362
- <statement name="ELSE">
363
- <block type="motion_change_y_by" inline="true">
364
- <value name="Y">
365
- <block type="math_number">
366
- <field name="NUM">15</field>
367
- </block>
368
- </value>
369
- </block>
370
- </statement>
371
- </block>
372
- </next>
373
- </block>
374
- </statement>
375
- </block>
376
- </statement>
377
- </block>
378
- </statement>
379
- </block>
1
+ <xml xmlns="http://www.w3.org/1999/xhtml">
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">
9
+ <field name="VAR">プレイ中</field>
10
+ <value name="VALUE">
11
+ <block type="operators_true"></block>
12
+ </value>
13
+ <next>
14
+ <block type="variables_set" inline="false">
15
+ <field name="VAR">回数</field>
16
+ <value name="VALUE">
17
+ <block type="math_number">
18
+ <field name="NUM">0</field>
19
+ </block>
20
+ </value>
21
+ </block>
22
+ </next>
23
+ </block>
24
+ <block type="character_new" x="-19" y="-102">
25
+ <field name="NAME">cat1</field>
26
+ <statement name="DO">
27
+ <block type="events_on_start">
28
+ <statement name="DO">
29
+ <block type="control_loop">
30
+ <statement name="DO">
31
+ <block type="looks_say" inline="true">
32
+ <value name="TEXT">
33
+ <block type="variables_get">
34
+ <field name="VAR">回数</field>
35
+ </block>
36
+ </value>
37
+ </block>
38
+ </statement>
39
+ </block>
40
+ </statement>
41
+ <next>
42
+ <block type="events_on_key_push_or_down">
43
+ <field name="KEY">K_UP</field>
44
+ <field name="POD">down</field>
45
+ <statement name="DO">
46
+ <block type="motion_change_y_by" inline="true">
47
+ <value name="Y">
48
+ <block type="math_number">
49
+ <field name="NUM">-20</field>
50
+ </block>
51
+ </value>
52
+ </block>
53
+ </statement>
54
+ <next>
55
+ <block type="events_on_key_push_or_down">
56
+ <field name="KEY">K_DOWN</field>
57
+ <field name="POD">down</field>
58
+ <statement name="DO">
59
+ <block type="motion_change_y_by" inline="true">
60
+ <value name="Y">
61
+ <block type="math_number">
62
+ <field name="NUM">20</field>
63
+ </block>
64
+ </value>
65
+ </block>
66
+ </statement>
67
+ </block>
68
+ </next>
69
+ </block>
70
+ </next>
71
+ </block>
72
+ </statement>
73
+ </block>
74
+ <block type="character_new" x="591" y="-100">
75
+ <field name="NAME">ball1</field>
76
+ <statement name="DO">
77
+ <block type="events_on_start">
78
+ <statement name="DO">
79
+ <block type="control_loop">
80
+ <statement name="DO">
81
+ <block type="motion_move" inline="true">
82
+ <value name="STEP">
83
+ <block type="operators_add" inline="true">
84
+ <value name="A">
85
+ <block type="math_number">
86
+ <field name="NUM">10</field>
87
+ </block>
88
+ </value>
89
+ <value name="B">
90
+ <block type="variables_get">
91
+ <field name="VAR">回数</field>
92
+ </block>
93
+ </value>
94
+ </block>
95
+ </value>
96
+ <next>
97
+ <block type="motion_turn_if_reach_wall">
98
+ <next>
99
+ <block type="control_if" inline="true">
100
+ <value name="COND">
101
+ <block type="operators_compare_gte" inline="true">
102
+ <value name="A">
103
+ <block type="sensing_character_property">
104
+ <field name="CHAR">ball1</field>
105
+ <field name="PROPERTY">x</field>
106
+ </block>
107
+ </value>
108
+ <value name="B">
109
+ <block type="math_number">
110
+ <field name="NUM">608</field>
111
+ </block>
112
+ </value>
113
+ </block>
114
+ </value>
115
+ <statement name="THEN">
116
+ <block type="looks_say" inline="true">
117
+ <value name="TEXT">
118
+ <block type="text">
119
+ <field name="TEXT">あなたの勝ち!</field>
120
+ </block>
121
+ </value>
122
+ <next>
123
+ <block type="variables_set" inline="false">
124
+ <field name="VAR">プレイ中</field>
125
+ <value name="VALUE">
126
+ <block type="operators_false"></block>
127
+ </value>
128
+ </block>
129
+ </next>
130
+ </block>
131
+ </statement>
132
+ <next>
133
+ <block type="control_if" inline="true">
134
+ <value name="COND">
135
+ <block type="operators_compare_lte" inline="true">
136
+ <value name="A">
137
+ <block type="sensing_character_property">
138
+ <field name="CHAR">ball1</field>
139
+ <field name="PROPERTY">x</field>
140
+ </block>
141
+ </value>
142
+ <value name="B">
143
+ <block type="math_number">
144
+ <field name="NUM">0</field>
145
+ </block>
146
+ </value>
147
+ </block>
148
+ </value>
149
+ <statement name="THEN">
150
+ <block type="looks_say" inline="true">
151
+ <value name="TEXT">
152
+ <block type="text">
153
+ <field name="TEXT">あなたの負け!</field>
154
+ </block>
155
+ </value>
156
+ <next>
157
+ <block type="variables_set" inline="false">
158
+ <field name="VAR">プレイ中</field>
159
+ <value name="VALUE">
160
+ <block type="operators_false"></block>
161
+ </value>
162
+ </block>
163
+ </next>
164
+ </block>
165
+ </statement>
166
+ <next>
167
+ <block type="control_if" inline="true">
168
+ <value name="COND">
169
+ <block type="operators_compare_eq" inline="true">
170
+ <value name="A">
171
+ <block type="variables_get">
172
+ <field name="VAR">プレイ中</field>
173
+ </block>
174
+ </value>
175
+ <value name="B">
176
+ <block type="operators_false"></block>
177
+ </value>
178
+ </block>
179
+ </value>
180
+ <statement name="THEN">
181
+ <block type="control_break"></block>
182
+ </statement>
183
+ </block>
184
+ </next>
185
+ </block>
186
+ </next>
187
+ </block>
188
+ </next>
189
+ </block>
190
+ </next>
191
+ </block>
192
+ </statement>
193
+ </block>
194
+ </statement>
195
+ <next>
196
+ <block type="events_on_hit">
197
+ <field name="CHAR">cat1</field>
198
+ <statement name="DO">
199
+ <block type="variables_set" inline="false">
200
+ <field name="VAR">回数</field>
201
+ <value name="VALUE">
202
+ <block type="operators_add" inline="true">
203
+ <value name="A">
204
+ <block type="variables_get">
205
+ <field name="VAR">回数</field>
206
+ </block>
207
+ </value>
208
+ <value name="B">
209
+ <block type="math_number">
210
+ <field name="NUM">1</field>
211
+ </block>
212
+ </value>
213
+ </block>
214
+ </value>
215
+ <next>
216
+ <block type="motion_turn_xy">
217
+ <field name="XY">x</field>
218
+ <next>
219
+ <block type="control_if" inline="true">
220
+ <value name="COND">
221
+ <block type="sensing_input_key_push_or_down">
222
+ <field name="KEY">K_UP</field>
223
+ <field name="POD">down</field>
224
+ </block>
225
+ </value>
226
+ <statement name="THEN">
227
+ <block type="motion_rotate_left" inline="true">
228
+ <value name="ANGLE">
229
+ <block type="math_number">
230
+ <field name="NUM">5</field>
231
+ </block>
232
+ </value>
233
+ </block>
234
+ </statement>
235
+ <next>
236
+ <block type="control_if" inline="true">
237
+ <value name="COND">
238
+ <block type="sensing_input_key_push_or_down">
239
+ <field name="KEY">K_DOWN</field>
240
+ <field name="POD">down</field>
241
+ </block>
242
+ </value>
243
+ <statement name="THEN">
244
+ <block type="motion_rotate_right" inline="true">
245
+ <value name="ANGLE">
246
+ <block type="math_number">
247
+ <field name="NUM">5</field>
248
+ </block>
249
+ </value>
250
+ </block>
251
+ </statement>
252
+ <next>
253
+ <block type="motion_set_x" inline="true">
254
+ <value name="X">
255
+ <block type="math_number">
256
+ <field name="NUM">100</field>
257
+ </block>
258
+ </value>
259
+ </block>
260
+ </next>
261
+ </block>
262
+ </next>
263
+ </block>
264
+ </next>
265
+ </block>
266
+ </next>
267
+ </block>
268
+ </statement>
269
+ <next>
270
+ <block type="events_on_hit">
271
+ <field name="CHAR">frog1</field>
272
+ <statement name="DO">
273
+ <block type="variables_set" inline="false">
274
+ <field name="VAR">回数</field>
275
+ <value name="VALUE">
276
+ <block type="operators_add" inline="true">
277
+ <value name="A">
278
+ <block type="variables_get">
279
+ <field name="VAR">回数</field>
280
+ </block>
281
+ </value>
282
+ <value name="B">
283
+ <block type="math_number">
284
+ <field name="NUM">1</field>
285
+ </block>
286
+ </value>
287
+ </block>
288
+ </value>
289
+ <next>
290
+ <block type="motion_turn_xy">
291
+ <field name="XY">x</field>
292
+ <next>
293
+ <block type="motion_set_x" inline="true">
294
+ <value name="X">
295
+ <block type="math_number">
296
+ <field name="NUM">510</field>
297
+ </block>
298
+ </value>
299
+ </block>
300
+ </next>
301
+ </block>
302
+ </next>
303
+ </block>
304
+ </statement>
305
+ </block>
306
+ </next>
307
+ </block>
308
+ </next>
309
+ </block>
310
+ </statement>
311
+ </block>
312
+ <block type="character_new" x="-15" y="271">
313
+ <field name="NAME">frog1</field>
314
+ <statement name="DO">
315
+ <block type="events_on_start">
316
+ <statement name="DO">
317
+ <block type="control_loop">
318
+ <statement name="DO">
319
+ <block type="control_if" inline="true">
320
+ <value name="COND">
321
+ <block type="operators_compare_eq" inline="true">
322
+ <value name="A">
323
+ <block type="variables_get">
324
+ <field name="VAR">プレイ中</field>
325
+ </block>
326
+ </value>
327
+ <value name="B">
328
+ <block type="operators_false"></block>
329
+ </value>
330
+ </block>
331
+ </value>
332
+ <statement name="THEN">
333
+ <block type="control_break"></block>
334
+ </statement>
335
+ <next>
336
+ <block type="control_if_else" inline="true">
337
+ <value name="COND">
338
+ <block type="operators_compare_gte" inline="true">
339
+ <value name="A">
340
+ <block type="sensing_character_property">
341
+ <field name="CHAR">frog1</field>
342
+ <field name="PROPERTY">y</field>
343
+ </block>
344
+ </value>
345
+ <value name="B">
346
+ <block type="sensing_character_property">
347
+ <field name="CHAR">ball1</field>
348
+ <field name="PROPERTY">y</field>
349
+ </block>
350
+ </value>
351
+ </block>
352
+ </value>
353
+ <statement name="THEN">
354
+ <block type="motion_change_y_by" inline="true">
355
+ <value name="Y">
356
+ <block type="math_number">
357
+ <field name="NUM">-15</field>
358
+ </block>
359
+ </value>
360
+ </block>
361
+ </statement>
362
+ <statement name="ELSE">
363
+ <block type="motion_change_y_by" inline="true">
364
+ <value name="Y">
365
+ <block type="math_number">
366
+ <field name="NUM">15</field>
367
+ </block>
368
+ </value>
369
+ </block>
370
+ </statement>
371
+ </block>
372
+ </next>
373
+ </block>
374
+ </statement>
375
+ </block>
376
+ </statement>
377
+ </block>
378
+ </statement>
379
+ </block>
380
380
  </xml>