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.
- checksums.yaml +4 -4
- data/.gitignore +0 -0
- data/.rspec +0 -0
- data/.rubocop.yml +1 -0
- data/.simplecov +7 -7
- data/.travis.yml +0 -0
- data/Guardfile +1 -1
- data/LICENSE +0 -0
- data/Procfile +1 -1
- data/Rakefile +0 -0
- data/app/assets/images/.keep +0 -0
- data/app/assets/images/favicon.ico +0 -0
- data/app/assets/javascripts/blocks/blockly.js.coffee.erb +0 -0
- data/app/assets/javascripts/blocks/character.js.coffee.erb +3 -0
- data/app/assets/javascripts/blocks/data.js.coffee.erb +0 -0
- data/app/assets/javascripts/blocks/etc.js.coffee.erb +0 -0
- data/app/assets/javascripts/blocks/field_character.js.coffee.erb +13 -1
- data/app/assets/javascripts/blocks/field_costume.js.coffee.erb +84 -0
- data/app/assets/javascripts/blocks/hardware.js.coffee.erb +26 -0
- data/app/assets/javascripts/blocks/looks.js.coffee.erb +32 -0
- data/app/assets/javascripts/collections/.keep +0 -0
- data/app/assets/javascripts/collections/character_set.js.coffee +0 -0
- data/app/assets/javascripts/generators/ruby.js.coffee.erb +10 -1
- data/app/assets/javascripts/models/.keep +0 -0
- data/app/assets/javascripts/models/character.js.coffee +45 -6
- data/app/assets/javascripts/models/scene.js.coffee +0 -0
- data/app/assets/javascripts/msg/en_us.js +4 -0
- data/app/assets/javascripts/msg/ja.js +4 -0
- data/app/assets/javascripts/routers/.keep +0 -0
- data/app/assets/javascripts/smalruby.js.coffee.erb +5 -1
- data/app/assets/javascripts/views/.keep +0 -0
- data/app/assets/javascripts/views/character_modal_view.js.coffee.erb +357 -0
- data/app/assets/javascripts/views/character_selector_view.js.coffee +2 -0
- data/app/assets/stylesheets/editor.css.scss +201 -16
- data/app/assets/stylesheets/flatstrap-custom.css.scss +0 -0
- data/app/assets/stylesheets/load-modal.css.scss +0 -0
- data/app/assets/templates/.keep +0 -0
- data/app/controllers/application_controller.rb +8 -2
- data/app/controllers/concerns/.keep +0 -0
- data/app/controllers/costumes_controller.rb +58 -0
- data/app/controllers/editor_controller.rb +2 -0
- data/app/helpers/costumes_helper.rb +2 -0
- data/app/helpers/editor_helper.rb +0 -0
- data/app/helpers/sessions_helper.rb +0 -4
- data/app/mailers/.keep +0 -0
- data/app/models/.keep +0 -0
- data/app/models/concerns/.keep +0 -0
- data/app/models/concerns/ruby_to_block.rb +0 -0
- data/app/models/concerns/ruby_to_block/block.rb +0 -0
- data/app/models/concerns/ruby_to_block/block/base.rb +2 -0
- data/app/models/concerns/ruby_to_block/block/character.rb +32 -11
- data/app/models/concerns/ruby_to_block/block/character_event.rb +0 -0
- data/app/models/concerns/ruby_to_block/block/character_method_call.rb +0 -0
- data/app/models/concerns/ruby_to_block/block/character_new.rb +0 -0
- data/app/models/concerns/ruby_to_block/block/character_operation.rb +0 -0
- data/app/models/concerns/ruby_to_block/block/control_beark.rb +0 -0
- data/app/models/concerns/ruby_to_block/block/control_if.rb +0 -0
- data/app/models/concerns/ruby_to_block/block/control_loop.rb +0 -0
- data/app/models/concerns/ruby_to_block/block/control_sleep.rb +0 -0
- data/app/models/concerns/ruby_to_block/block/do.rb +0 -0
- data/app/models/concerns/ruby_to_block/block/else.rb +0 -0
- data/app/models/concerns/ruby_to_block/block/end.rb +0 -0
- data/app/models/concerns/ruby_to_block/block/events_on_click.rb +0 -0
- data/app/models/concerns/ruby_to_block/block/events_on_key_push_or_down.rb +0 -0
- data/app/models/concerns/ruby_to_block/block/events_on_start.rb +0 -0
- data/app/models/concerns/ruby_to_block/block/hardware_button_pressed_or_released.rb +0 -0
- data/app/models/concerns/ruby_to_block/block/hardware_init_hardware.rb +0 -0
- data/app/models/concerns/ruby_to_block/block/hardware_led_turn_off.rb +0 -0
- data/app/models/concerns/ruby_to_block/block/hardware_led_turn_on.rb +0 -0
- data/app/models/concerns/ruby_to_block/block/hardware_motor_driver.rb +0 -0
- data/app/models/concerns/ruby_to_block/block/hardware_motor_driver_set_speed.rb +0 -0
- data/app/models/concerns/ruby_to_block/block/hardware_motor_driver_speed.rb +0 -0
- data/app/models/concerns/ruby_to_block/block/hardware_neo_pixel_set_rgb.rb +31 -0
- data/app/models/concerns/ruby_to_block/block/hardware_rgb_led_set_color.rb +0 -0
- data/app/models/concerns/ruby_to_block/block/hardware_rgb_led_turn_off.rb +0 -0
- data/app/models/concerns/ruby_to_block/block/hardware_sensor_value.rb +0 -0
- data/app/models/concerns/ruby_to_block/block/hardware_two_wheel_drive_car.rb +0 -0
- data/app/models/concerns/ruby_to_block/block/hardware_two_wheel_drive_car_commands.rb +0 -0
- data/app/models/concerns/ruby_to_block/block/hardware_two_wheel_drive_car_run.rb +0 -0
- data/app/models/concerns/ruby_to_block/block/hardware_two_wheel_drive_car_set_speed.rb +0 -0
- data/app/models/concerns/ruby_to_block/block/hardware_two_wheel_drive_car_speed.rb +0 -0
- data/app/models/concerns/ruby_to_block/block/looks_hide.rb +0 -0
- data/app/models/concerns/ruby_to_block/block/looks_next_costume.rb +12 -0
- data/app/models/concerns/ruby_to_block/block/looks_say.rb +0 -0
- data/app/models/concerns/ruby_to_block/block/looks_show.rb +0 -0
- data/app/models/concerns/ruby_to_block/block/looks_switch_costume.rb +22 -0
- data/app/models/concerns/ruby_to_block/block/looks_vanish.rb +0 -0
- data/app/models/concerns/ruby_to_block/block/math_number.rb +0 -0
- data/app/models/concerns/ruby_to_block/block/motion_change_x_by.rb +0 -0
- data/app/models/concerns/ruby_to_block/block/motion_change_y_by.rb +0 -0
- data/app/models/concerns/ruby_to_block/block/motion_go_to_character.rb +0 -0
- data/app/models/concerns/ruby_to_block/block/motion_go_to_mouse.rb +0 -0
- data/app/models/concerns/ruby_to_block/block/motion_move.rb +0 -0
- data/app/models/concerns/ruby_to_block/block/motion_point_towards_character.rb +0 -0
- data/app/models/concerns/ruby_to_block/block/motion_point_towards_mouse.rb +0 -0
- data/app/models/concerns/ruby_to_block/block/motion_rotate_left.rb +0 -0
- data/app/models/concerns/ruby_to_block/block/motion_rotate_right.rb +0 -0
- data/app/models/concerns/ruby_to_block/block/motion_self_angle.rb +0 -0
- data/app/models/concerns/ruby_to_block/block/motion_self_x.rb +0 -0
- data/app/models/concerns/ruby_to_block/block/motion_self_y.rb +0 -0
- data/app/models/concerns/ruby_to_block/block/motion_set_angle.rb +0 -0
- data/app/models/concerns/ruby_to_block/block/motion_set_x.rb +0 -0
- data/app/models/concerns/ruby_to_block/block/motion_set_x_y.rb +0 -0
- data/app/models/concerns/ruby_to_block/block/motion_set_y.rb +0 -0
- data/app/models/concerns/ruby_to_block/block/motion_turn.rb +0 -0
- data/app/models/concerns/ruby_to_block/block/motion_turn_if_reach_wall.rb +0 -0
- data/app/models/concerns/ruby_to_block/block/motion_turn_xy.rb +0 -0
- data/app/models/concerns/ruby_to_block/block/null.rb +0 -0
- data/app/models/concerns/ruby_to_block/block/operators_compare.rb +0 -0
- data/app/models/concerns/ruby_to_block/block/operators_false.rb +0 -0
- data/app/models/concerns/ruby_to_block/block/operators_true.rb +0 -0
- data/app/models/concerns/ruby_to_block/block/require_smalruby.rb +0 -0
- data/app/models/concerns/ruby_to_block/block/ruby_comment.rb +0 -0
- data/app/models/concerns/ruby_to_block/block/ruby_expression.rb +0 -0
- data/app/models/concerns/ruby_to_block/block/ruby_p.rb +0 -0
- data/app/models/concerns/ruby_to_block/block/ruby_statement.rb +0 -0
- data/app/models/concerns/ruby_to_block/block/sensing_hit.rb +0 -0
- data/app/models/concerns/ruby_to_block/block/sensing_reach_wall.rb +0 -0
- data/app/models/concerns/ruby_to_block/block/sound_play.rb +0 -0
- data/app/models/concerns/ruby_to_block/block/sound_preset_sounds.rb +0 -0
- data/app/models/concerns/ruby_to_block/block/text.rb +0 -0
- data/app/models/concerns/ruby_to_block/block/value.rb +0 -0
- data/app/models/concerns/ruby_to_block/context.rb +0 -0
- data/app/models/concerns/ruby_to_block/formatter.rb +0 -0
- data/app/models/costume.rb +67 -0
- data/app/models/source_code.rb +9 -1
- data/app/models/user.rb +7 -0
- data/app/views/costumes/index.html.haml +19 -0
- data/app/views/editor/_character_modal.html.haml +35 -7
- data/app/views/editor/_toolbox_default.html.haml +9 -0
- data/app/views/editor/demo.html.erb +0 -0
- data/app/views/editor/index.html.haml +1 -0
- data/bin/smalruby-editor +1 -0
- data/bin/spring +7 -9
- data/config.ru +0 -0
- data/config/boot.rb +0 -0
- data/config/database.yml.mysql2 +0 -0
- data/config/database.yml.sqlite3 +0 -0
- data/config/database.yml.travis +0 -0
- data/config/environment.rb +0 -0
- data/config/environments/development.rb +0 -0
- data/config/environments/production.rb +0 -0
- data/config/environments/standalone.rb +0 -0
- data/config/environments/test.rb +0 -0
- data/config/initializers/backtrace_silencers.rb +0 -0
- data/config/initializers/filter_parameter_logging.rb +0 -0
- data/config/initializers/inflections.rb +0 -0
- data/config/initializers/mime_types.rb +0 -0
- data/config/initializers/secret_token.rb +0 -0
- data/config/initializers/session_store.rb +0 -0
- data/config/initializers/teaspoon.rb +0 -0
- data/config/initializers/wrap_parameters.rb +0 -0
- data/config/locales/en.yml +10 -1
- data/config/locales/ja.yml +10 -0
- data/config/routes.rb +2 -0
- data/config/unicorn.rb +23 -23
- data/db/migrate/20131216121603_create_source_codes.rb +0 -0
- data/db/migrate/20131219045113_add_filename_to_source_code.rb +0 -0
- data/db/migrate/20150513061250_add_index_name_on_users.rb +1 -1
- data/db/migrate/20150607012053_create_costumes.rb +12 -0
- data/db/migrate/20150607012707_add_indexes_on_costumes.rb +13 -0
- data/db/migrate/20150607034013_acts_as_taggable_on_migration.acts_as_taggable_on_engine.rb +31 -0
- data/db/migrate/20150607034014_add_missing_unique_indices.acts_as_taggable_on_engine.rb +21 -0
- data/db/migrate/20150607034015_add_taggings_counter_cache_to_tags.acts_as_taggable_on_engine.rb +15 -0
- data/db/migrate/20150607034016_add_missing_taggable_index.acts_as_taggable_on_engine.rb +10 -0
- data/db/migrate/20150607034017_change_collation_for_tag_names.acts_as_taggable_on_engine.rb +12 -0
- data/db/migrate/20150607034018_insert_preset_costumes.rb +9 -0
- data/db/schema.rb +35 -2
- data/db/seeds.rb +2 -0
- data/demos/car_chase.rb.xml +128 -128
- data/demos/pong.rb.xml +379 -379
- data/demos/star.rb.xml +115 -115
- data/lib/assets/.keep +0 -0
- data/lib/smalruby_editor/version.rb +1 -1
- data/lib/tasks/.keep +0 -0
- data/lib/tasks/gem.rake +0 -0
- data/lib/tasks/rspec.rake +0 -0
- data/lib/tasks/rubocop.rake +0 -0
- data/log/.keep +0 -0
- data/public/404.html +0 -0
- data/public/422.html +0 -0
- data/public/500.html +0 -0
- data/public/apple-touch-icon.png +0 -0
- data/public/blockly/media/1x1.gif +0 -0
- data/public/blockly/media/click.mp3 +0 -0
- data/public/blockly/media/click.ogg +0 -0
- data/public/blockly/media/click.wav +0 -0
- data/public/blockly/media/delete.mp3 +0 -0
- data/public/blockly/media/delete.ogg +0 -0
- data/public/blockly/media/delete.wav +0 -0
- data/public/blockly/media/handopen.cur +0 -0
- data/public/blockly/media/quote0.png +0 -0
- data/public/blockly/media/quote1.png +0 -0
- data/public/browserconfig.xml +0 -0
- data/public/fonts/FontAwesome.otf +0 -0
- data/public/fonts/fontawesome-webfont.eot +0 -0
- data/public/fonts/fontawesome-webfont.ttf +0 -0
- data/public/fonts/fontawesome-webfont.woff +0 -0
- data/public/large.png +0 -0
- data/public/robots.txt +0 -0
- data/public/smalruby/assets/ball1.png +0 -0
- data/public/smalruby/assets/ball2.png +0 -0
- data/public/smalruby/assets/ball3.png +0 -0
- data/public/smalruby/assets/ball4.png +0 -0
- data/public/smalruby/assets/ball5.png +0 -0
- data/public/smalruby/assets/ball6.png +0 -0
- data/public/smalruby/assets/car1.png +0 -0
- data/public/smalruby/assets/car2.png +0 -0
- data/public/smalruby/assets/car3.png +0 -0
- data/public/smalruby/assets/car4.png +0 -0
- data/public/smalruby/assets/cat1.png +0 -0
- data/public/smalruby/assets/cat2.png +0 -0
- data/public/smalruby/assets/cat3.png +0 -0
- data/public/smalruby/assets/frog1.png +0 -0
- data/public/smalruby/assets/piano_do.wav +0 -0
- data/public/smalruby/assets/piano_do_2.wav +0 -0
- data/public/smalruby/assets/piano_fa.wav +0 -0
- data/public/smalruby/assets/piano_mi.wav +0 -0
- data/public/smalruby/assets/piano_ra.wav +0 -0
- data/public/smalruby/assets/piano_re.wav +0 -0
- data/public/smalruby/assets/piano_si.wav +0 -0
- data/public/smalruby/assets/piano_so.wav +0 -0
- data/public/smalruby/assets/ryu1.png +0 -0
- data/public/smalruby/assets/ryu2.png +0 -0
- data/public/smalruby/assets/taichi1.png +0 -0
- data/public/smalruby/assets/taichi2.png +0 -0
- data/public/square.png +0 -0
- data/public/tiny.png +0 -0
- data/public/wide.png +0 -0
- data/smalruby-editor.gemspec +2 -1
- data/spec/acceptance/block_mode/blocks/character/new.feature +5 -5
- data/spec/acceptance/block_mode/blocks/control/await.feature +2 -2
- data/spec/acceptance/block_mode/blocks/control/await_until.feature +3 -3
- data/spec/acceptance/block_mode/blocks/control/break.feature +0 -0
- data/spec/acceptance/block_mode/blocks/control/if.feature +0 -0
- data/spec/acceptance/block_mode/blocks/control/if_else.feature +0 -0
- data/spec/acceptance/block_mode/blocks/control/loop.feature +0 -0
- data/spec/acceptance/block_mode/blocks/control/next.feature +0 -0
- data/spec/acceptance/block_mode/blocks/control/redo.feature +0 -0
- data/spec/acceptance/block_mode/blocks/control/sleep.feature +0 -0
- data/spec/acceptance/block_mode/blocks/control/times.feature +0 -0
- data/spec/acceptance/block_mode/blocks/control/until.feature +0 -0
- data/spec/acceptance/block_mode/blocks/events/on_click.feature +2 -2
- data/spec/acceptance/block_mode/blocks/events/on_hit.feature +4 -4
- data/spec/acceptance/block_mode/blocks/events/on_key_push_or_down.feature +4 -4
- data/spec/acceptance/block_mode/blocks/events/on_start.feature +2 -2
- data/spec/acceptance/block_mode/blocks/hardware/init_hardware.feature +1 -1
- data/spec/acceptance/block_mode/blocks/hardware/led_turn_off.feature +2 -2
- data/spec/acceptance/block_mode/blocks/hardware/led_turn_on.feature +2 -2
- data/spec/acceptance/block_mode/blocks/hardware/motor_driver.feature +0 -0
- data/spec/acceptance/block_mode/blocks/hardware/motor_driver_speed.feature +0 -0
- data/spec/acceptance/block_mode/blocks/hardware/neo_pixel_set_rgb.feature +100 -0
- data/spec/acceptance/block_mode/blocks/hardware/rgb_led_set_color.feature +0 -0
- data/spec/acceptance/block_mode/blocks/hardware/rgb_led_turn_off.feature +0 -0
- data/spec/acceptance/block_mode/blocks/hardware/sensor_value.feature +0 -0
- data/spec/acceptance/block_mode/blocks/hardware/servo_set_position.feature +0 -0
- data/spec/acceptance/block_mode/blocks/hardware/smalrubot_s1_action_with_sec.feature +1 -1
- data/spec/acceptance/block_mode/blocks/hardware/smalrubot_s1_led_turn_on_or_off.feature +1 -1
- data/spec/acceptance/block_mode/blocks/hardware/smalrubot_v3_action_with_sec.feature +1 -1
- data/spec/acceptance/block_mode/blocks/hardware/two_wheel_drive_car.feature +0 -0
- data/spec/acceptance/block_mode/blocks/hardware/two_wheel_drive_car_speed.feature +0 -0
- data/spec/acceptance/block_mode/blocks/looks/hide.feature +2 -2
- data/spec/acceptance/block_mode/blocks/looks/next_costume.feature +56 -0
- data/spec/acceptance/block_mode/blocks/looks/say.feature +3 -3
- data/spec/acceptance/block_mode/blocks/looks/show.feature +2 -2
- data/spec/acceptance/block_mode/blocks/looks/vanish.feature +2 -2
- data/spec/acceptance/block_mode/blocks/motion/change_x_by.feature +2 -2
- data/spec/acceptance/block_mode/blocks/motion/change_y_by.feature +2 -2
- data/spec/acceptance/block_mode/blocks/motion/move.feature +2 -2
- data/spec/acceptance/block_mode/blocks/motion/reach_wall.feature +2 -2
- data/spec/acceptance/block_mode/blocks/motion/rotate_left.feature +2 -2
- data/spec/acceptance/block_mode/blocks/motion/rotate_right.feature +2 -2
- data/spec/acceptance/block_mode/blocks/motion/self_angle.feature +2 -2
- data/spec/acceptance/block_mode/blocks/motion/self_x.feature +2 -2
- data/spec/acceptance/block_mode/blocks/motion/self_y.feature +2 -2
- data/spec/acceptance/block_mode/blocks/motion/set_angle.feature +2 -2
- data/spec/acceptance/block_mode/blocks/motion/set_x.feature +2 -2
- data/spec/acceptance/block_mode/blocks/motion/set_x_y.feature +2 -2
- data/spec/acceptance/block_mode/blocks/motion/set_y.feature +2 -2
- data/spec/acceptance/block_mode/blocks/motion/turn.feature +2 -2
- data/spec/acceptance/block_mode/blocks/motion/turn_if_reach_wall.feature +2 -2
- data/spec/acceptance/block_mode/blocks/operators/and_or.feature +0 -0
- data/spec/acceptance/block_mode/blocks/operators/four_arithmetic_and_compares.feature +0 -0
- data/spec/acceptance/block_mode/blocks/operators/index_of.feature +0 -0
- data/spec/acceptance/block_mode/blocks/operators/length.feature +0 -0
- data/spec/acceptance/block_mode/blocks/operators/math_method.feature +0 -0
- data/spec/acceptance/block_mode/blocks/operators/negate.feature +0 -0
- data/spec/acceptance/block_mode/blocks/operators/rand.feature +0 -0
- data/spec/acceptance/block_mode/blocks/operators/round.feature +0 -0
- data/spec/acceptance/block_mode/blocks/operators/text.feature +0 -0
- data/spec/acceptance/block_mode/blocks/operators/true_false.feature +0 -0
- data/spec/acceptance/block_mode/blocks/ruby/expression.feature +0 -0
- data/spec/acceptance/block_mode/blocks/ruby/p.feature +0 -0
- data/spec/acceptance/block_mode/blocks/ruby/statement_comment.feature +0 -0
- data/spec/acceptance/block_mode/blocks/sensing/character_property.feature +2 -2
- data/spec/acceptance/block_mode/blocks/sensing/hit.feature +6 -6
- data/spec/acceptance/block_mode/blocks/sensing/input_key_push_or_down.feature +0 -0
- data/spec/acceptance/block_mode/blocks/sensing/input_mouse_pos_x.feature +0 -0
- data/spec/acceptance/block_mode/blocks/sensing/input_mouse_pos_y.feature +0 -0
- data/spec/acceptance/block_mode/blocks/sensing/input_mouse_push_or_down.feature +0 -0
- data/spec/acceptance/block_mode/blocks/sensing/reach_wall.feature +2 -2
- data/spec/acceptance/block_mode/blocks/sensing/time_now.feature +0 -0
- data/spec/acceptance/block_mode/blocks/sound/play.feature +2 -2
- data/spec/acceptance/block_mode/character_modal_view.feature +164 -0
- data/spec/acceptance/block_mode/demo.feature +2 -2
- data/spec/acceptance/block_mode/translate.feature +0 -0
- data/spec/acceptance/readme.md +0 -0
- data/spec/acceptance/ruby_mode/check.feature +0 -0
- data/spec/acceptance/ruby_mode/load.feature +0 -0
- data/spec/acceptance/ruby_mode/translate.feature +2 -2
- data/spec/acceptance/standalone/preference.feature +8 -8
- data/spec/acceptance/standalone/run.feature +0 -0
- data/spec/acceptance/standalone/save.feature +1 -1
- data/spec/acceptance/standalone/signin.feature +1 -1
- data/spec/controllers/source_codes_controller_spec.rb +0 -0
- data/spec/fixtures/files/01.rb +0 -0
- data/spec/fixtures/files/01.rb.xml +0 -0
- data/spec/fixtures/files/01_remix.rb +0 -0
- data/spec/fixtures/files/01_remix02.rb +0 -0
- data/spec/fixtures/files/01_remix10.rb.xml +0 -0
- data/spec/fixtures/files/extra_car.png +0 -0
- data/spec/fixtures/files/favicon.ico +0 -0
- data/spec/helpers/editor_helper_spec.rb +0 -0
- data/spec/javascripts/collections/character_set_spec.coffee +0 -0
- data/spec/javascripts/models/character_spec.coffee +2 -14
- data/spec/javascripts/models/scene_spec.coffee +0 -0
- data/spec/javascripts/spec_helper.js +0 -0
- data/spec/lib/smalruby_editor_spec.rb +0 -0
- data/spec/models/concerns/ruby_to_block/block/character_method_call_spec.rb +0 -0
- data/spec/models/concerns/ruby_to_block/block/character_spec.rb +71 -0
- data/spec/models/concerns/ruby_to_block/block/control_if_spec.rb +0 -0
- data/spec/models/concerns/ruby_to_block/block/control_loop_spec.rb +0 -0
- data/spec/models/concerns/ruby_to_block/block/events_on_start_spec.rb +6 -6
- data/spec/models/concerns/ruby_to_block/block/hardware__neo_pixel_spec.rb +77 -0
- data/spec/models/concerns/ruby_to_block/block/looks_say_spec.rb +0 -0
- data/spec/models/concerns/ruby_to_block/block/looks_spec.rb +26 -2
- data/spec/models/concerns/ruby_to_block/block/motion_move_spec.rb +0 -0
- data/spec/models/concerns/ruby_to_block/block/motion_spec.rb +0 -0
- data/spec/models/concerns/ruby_to_block/block/motion_turn_spec.rb +0 -0
- data/spec/models/concerns/ruby_to_block/block/motion_turn_xy_spec.rb +0 -0
- data/spec/models/concerns/ruby_to_block/block/require_smalruby_spec.rb +0 -0
- data/spec/models/concerns/ruby_to_block/block/ruby_comment_spec.rb +0 -0
- data/spec/models/concerns/ruby_to_block/block/ruby_statement_spec.rb +0 -0
- data/spec/models/concerns/ruby_to_block/block/sensing_reach_wall_spec.rb +0 -0
- data/spec/models/concerns/ruby_to_block/block/shared/block_examples.rb +2 -2
- data/spec/models/concerns/ruby_to_block/block/sound_spec.rb +0 -0
- data/spec/models/concerns/ruby_to_block/block/text_spec.rb +0 -0
- data/spec/models/concerns/ruby_to_block/block_spec.rb +0 -0
- data/spec/models/concerns/ruby_to_block_spec.rb +0 -0
- data/spec/spec_helper.rb +21 -10
- data/spec/steps/block_mode_steps.rb +0 -0
- data/spec/steps/fix_turnip.rb +0 -0
- data/spec/steps/global_variable.rb +0 -0
- data/spec/steps/standalone_steps.rb +3 -3
- data/spec/steps/then_steps.rb +28 -0
- data/spec/steps/when_steps.rb +15 -18
- data/spec/support/capybara.rb +0 -0
- data/spec/support/env.rb +0 -0
- data/spec/support/ruby_to_block.rb +0 -0
- data/spec/teaspoon_env.rb +0 -0
- data/spec/turnip_helper.rb +0 -0
- data/vendor/assets/javascripts/.keep +0 -0
- data/vendor/assets/javascripts/jquery.blockUI.js +0 -0
- data/vendor/assets/stylesheets/.keep +0 -0
- metadata +56 -14
- data/app/assets/javascripts/views/character_modal_view.js.coffee +0 -194
data/config.ru
CHANGED
File without changes
|
data/config/boot.rb
CHANGED
File without changes
|
data/config/database.yml.mysql2
CHANGED
File without changes
|
data/config/database.yml.sqlite3
CHANGED
File without changes
|
data/config/database.yml.travis
CHANGED
File without changes
|
data/config/environment.rb
CHANGED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
data/config/environments/test.rb
CHANGED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
data/config/locales/en.yml
CHANGED
@@ -37,6 +37,7 @@ en:
|
|
37
37
|
index:
|
38
38
|
block: "Block"
|
39
39
|
msg_input_program_name: "Input your program name(ex:01.rb)"
|
40
|
+
menu: "Menu"
|
40
41
|
run: "Run"
|
41
42
|
download: "Download"
|
42
43
|
load: "Load"
|
@@ -49,7 +50,7 @@ en:
|
|
49
50
|
|
50
51
|
block_tab:
|
51
52
|
character: "Character"
|
52
|
-
new_character: "New
|
53
|
+
new_character: "New character"
|
53
54
|
direction_parameter: "Dir:"
|
54
55
|
stage: "Stage"
|
55
56
|
|
@@ -74,6 +75,10 @@ en:
|
|
74
75
|
y_position: "Y"
|
75
76
|
msg_input_name: "car1 and ball1 etc..."
|
76
77
|
direction: "Dir"
|
78
|
+
costumes: "Costumes:"
|
79
|
+
new_costume: "New costume"
|
80
|
+
costume_name: "Costume name"
|
81
|
+
msg_input_costume_name: "costume1 etc..."
|
77
82
|
|
78
83
|
load_modal:
|
79
84
|
preset_programs: "Preset programs"
|
@@ -92,6 +97,10 @@ en:
|
|
92
97
|
message: "Input your name<br>not to mix with other people's program."
|
93
98
|
username_placeholder: "username, ID, nickname, etc..."
|
94
99
|
|
100
|
+
costumes:
|
101
|
+
index:
|
102
|
+
upload_costume: "Upload costume..."
|
103
|
+
|
95
104
|
users:
|
96
105
|
preferences:
|
97
106
|
toolbox: "Toolbox"
|
data/config/locales/ja.yml
CHANGED
@@ -38,6 +38,7 @@ ja:
|
|
38
38
|
index:
|
39
39
|
block: "ブロック"
|
40
40
|
msg_input_program_name: "プログラムの名前を入れてね(例:01.rb)"
|
41
|
+
menu: "メニュー"
|
41
42
|
run: "実行"
|
42
43
|
download: "ダウンロード"
|
43
44
|
load: "ロード"
|
@@ -75,6 +76,10 @@ ja:
|
|
75
76
|
y_position: "Y座標"
|
76
77
|
msg_input_name: "car1やball1など"
|
77
78
|
direction: "向き"
|
79
|
+
costumes: "コスチューム:"
|
80
|
+
new_costume: "新しいコスチューム"
|
81
|
+
costume_name: "コスチュームの名前"
|
82
|
+
msg_input_costume_name: "costume1など"
|
78
83
|
|
79
84
|
load_modal:
|
80
85
|
preset_programs: "いろいろなプログラム"
|
@@ -93,6 +98,11 @@ ja:
|
|
93
98
|
message: "あなたの名前をいれて、<br />ほかの人のプログラムとまざらないようにしよう♪"
|
94
99
|
username_placeholder: "名前、生徒番号、ニックネームなど"
|
95
100
|
|
101
|
+
costumes:
|
102
|
+
index:
|
103
|
+
upload_costume: "新しい画像"
|
104
|
+
confirm_to_delete_costume: "登録した画像を削除します。本当にいいですか?"
|
105
|
+
|
96
106
|
users:
|
97
107
|
preferences:
|
98
108
|
toolbox: "ツールボックス"
|
data/config/routes.rb
CHANGED
@@ -11,6 +11,8 @@ SmalrubyEditor::Application.routes.draw do
|
|
11
11
|
match '/signout', to: 'sessions#destroy', via: 'delete'
|
12
12
|
|
13
13
|
resources :users, only: [:update]
|
14
|
+
resources :costumes, only: [:index, :create, :destroy]
|
15
|
+
get "/smalruby/assets/:basename", to: "costumes#show"
|
14
16
|
|
15
17
|
resources :source_codes, only: [:create, :index]
|
16
18
|
post 'source_codes/check'
|
data/config/unicorn.rb
CHANGED
@@ -1,23 +1,23 @@
|
|
1
|
-
worker_processes Integer(ENV['WEB_CONCURRENCY'] || 3)
|
2
|
-
timeout 15
|
3
|
-
preload_app true
|
4
|
-
|
5
|
-
# rubocop:disable Output
|
6
|
-
before_fork do |server, worker|
|
7
|
-
Signal.trap 'TERM' do
|
8
|
-
puts 'Unicorn master intercepting TERM and sending myself QUIT instead'
|
9
|
-
Process.kill 'QUIT', Process.pid
|
10
|
-
end
|
11
|
-
|
12
|
-
defined?(ActiveRecord::Base) && ActiveRecord::Base.connection.disconnect!
|
13
|
-
end
|
14
|
-
|
15
|
-
after_fork do |server, worker|
|
16
|
-
Signal.trap 'TERM' do
|
17
|
-
puts 'Unicorn worker intercepting TERM and doing nothing.' \
|
18
|
-
' Wait for master to send QUIT'
|
19
|
-
end
|
20
|
-
|
21
|
-
defined?(ActiveRecord::Base) && ActiveRecord::Base.establish_connection
|
22
|
-
end
|
23
|
-
# rubocop:enable Output
|
1
|
+
worker_processes Integer(ENV['WEB_CONCURRENCY'] || 3)
|
2
|
+
timeout 15
|
3
|
+
preload_app true
|
4
|
+
|
5
|
+
# rubocop:disable Output
|
6
|
+
before_fork do |server, worker|
|
7
|
+
Signal.trap 'TERM' do
|
8
|
+
puts 'Unicorn master intercepting TERM and sending myself QUIT instead'
|
9
|
+
Process.kill 'QUIT', Process.pid
|
10
|
+
end
|
11
|
+
|
12
|
+
defined?(ActiveRecord::Base) && ActiveRecord::Base.connection.disconnect!
|
13
|
+
end
|
14
|
+
|
15
|
+
after_fork do |server, worker|
|
16
|
+
Signal.trap 'TERM' do
|
17
|
+
puts 'Unicorn worker intercepting TERM and doing nothing.' \
|
18
|
+
' Wait for master to send QUIT'
|
19
|
+
end
|
20
|
+
|
21
|
+
defined?(ActiveRecord::Base) && ActiveRecord::Base.establish_connection
|
22
|
+
end
|
23
|
+
# rubocop:enable Output
|
File without changes
|
File without changes
|
@@ -0,0 +1,12 @@
|
|
1
|
+
class CreateCostumes < ActiveRecord::Migration
|
2
|
+
def change
|
3
|
+
create_table :costumes do |t|
|
4
|
+
t.string :name, null: false, unique: true
|
5
|
+
t.boolean :preset, null: false, default: false
|
6
|
+
t.integer :position, null: false
|
7
|
+
t.references :user
|
8
|
+
|
9
|
+
t.timestamps
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
class AddIndexesOnCostumes < ActiveRecord::Migration
|
2
|
+
def up
|
3
|
+
add_index :costumes, :name
|
4
|
+
add_index :costumes, :position
|
5
|
+
add_index :costumes, :user_id
|
6
|
+
end
|
7
|
+
|
8
|
+
def down
|
9
|
+
remove_index :costumes, :name
|
10
|
+
remove_index :costumes, :position
|
11
|
+
remove_index :costumes, :user_id
|
12
|
+
end
|
13
|
+
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
# This migration comes from acts_as_taggable_on_engine (originally 1)
|
2
|
+
class ActsAsTaggableOnMigration < ActiveRecord::Migration
|
3
|
+
def self.up
|
4
|
+
create_table :tags do |t|
|
5
|
+
t.string :name
|
6
|
+
end
|
7
|
+
|
8
|
+
create_table :taggings do |t|
|
9
|
+
t.references :tag
|
10
|
+
|
11
|
+
# You should make sure that the column created is
|
12
|
+
# long enough to store the required class names.
|
13
|
+
t.references :taggable, polymorphic: true
|
14
|
+
t.references :tagger, polymorphic: true
|
15
|
+
|
16
|
+
# Limit is created to prevent MySQL error on index
|
17
|
+
# length for MyISAM table type: http://bit.ly/vgW2Ql
|
18
|
+
t.string :context, limit: 128
|
19
|
+
|
20
|
+
t.datetime :created_at
|
21
|
+
end
|
22
|
+
|
23
|
+
add_index :taggings, :tag_id
|
24
|
+
add_index :taggings, [:taggable_id, :taggable_type, :context]
|
25
|
+
end
|
26
|
+
|
27
|
+
def self.down
|
28
|
+
drop_table :taggings
|
29
|
+
drop_table :tags
|
30
|
+
end
|
31
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
# This migration comes from acts_as_taggable_on_engine (originally 2)
|
2
|
+
class AddMissingUniqueIndices < ActiveRecord::Migration
|
3
|
+
def self.up
|
4
|
+
add_index :tags, :name, unique: true
|
5
|
+
|
6
|
+
remove_index :taggings, :tag_id
|
7
|
+
remove_index :taggings, [:taggable_id, :taggable_type, :context]
|
8
|
+
add_index :taggings,
|
9
|
+
[:tag_id, :taggable_id, :taggable_type, :context,
|
10
|
+
:tagger_id, :tagger_type],
|
11
|
+
unique: true, name: 'taggings_idx'
|
12
|
+
end
|
13
|
+
|
14
|
+
def self.down
|
15
|
+
remove_index :tags, :name
|
16
|
+
|
17
|
+
remove_index :taggings, name: 'taggings_idx'
|
18
|
+
add_index :taggings, :tag_id
|
19
|
+
add_index :taggings, [:taggable_id, :taggable_type, :context]
|
20
|
+
end
|
21
|
+
end
|
data/db/migrate/20150607034015_add_taggings_counter_cache_to_tags.acts_as_taggable_on_engine.rb
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
# This migration comes from acts_as_taggable_on_engine (originally 3)
|
2
|
+
class AddTaggingsCounterCacheToTags < ActiveRecord::Migration
|
3
|
+
def self.up
|
4
|
+
add_column :tags, :taggings_count, :integer, default: 0
|
5
|
+
|
6
|
+
ActsAsTaggableOn::Tag.reset_column_information
|
7
|
+
ActsAsTaggableOn::Tag.find_each do |tag|
|
8
|
+
ActsAsTaggableOn::Tag.reset_counters(tag.id, :taggings)
|
9
|
+
end
|
10
|
+
end
|
11
|
+
|
12
|
+
def self.down
|
13
|
+
remove_column :tags, :taggings_count
|
14
|
+
end
|
15
|
+
end
|
@@ -0,0 +1,10 @@
|
|
1
|
+
# This migration comes from acts_as_taggable_on_engine (originally 4)
|
2
|
+
class AddMissingTaggableIndex < ActiveRecord::Migration
|
3
|
+
def self.up
|
4
|
+
add_index :taggings, [:taggable_id, :taggable_type, :context]
|
5
|
+
end
|
6
|
+
|
7
|
+
def self.down
|
8
|
+
remove_index :taggings, [:taggable_id, :taggable_type, :context]
|
9
|
+
end
|
10
|
+
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
# This migration comes from acts_as_taggable_on_engine (originally 5)
|
2
|
+
# This migration is added to circumvent issue #623 and have special characters
|
3
|
+
# work properly
|
4
|
+
class ChangeCollationForTagNames < ActiveRecord::Migration
|
5
|
+
# rubocop:disable LineLength
|
6
|
+
def up
|
7
|
+
if ActsAsTaggableOn::Utils.using_mysql?
|
8
|
+
execute("ALTER TABLE tags MODIFY name varchar(255) CHARACTER SET utf8 COLLATE utf8_bin;")
|
9
|
+
end
|
10
|
+
end
|
11
|
+
# rubocop:enable LineLength
|
12
|
+
end
|
data/db/schema.rb
CHANGED
@@ -11,7 +11,20 @@
|
|
11
11
|
#
|
12
12
|
# It's strongly recommended that you check this file into your version control system.
|
13
13
|
|
14
|
-
ActiveRecord::Schema.define(version:
|
14
|
+
ActiveRecord::Schema.define(version: 20150607034018) do
|
15
|
+
|
16
|
+
create_table "costumes", force: true do |t|
|
17
|
+
t.string "name", null: false
|
18
|
+
t.boolean "preset", default: false, null: false
|
19
|
+
t.integer "position", null: false
|
20
|
+
t.integer "user_id"
|
21
|
+
t.datetime "created_at"
|
22
|
+
t.datetime "updated_at"
|
23
|
+
end
|
24
|
+
|
25
|
+
add_index "costumes", ["name"], name: "index_costumes_on_name"
|
26
|
+
add_index "costumes", ["position"], name: "index_costumes_on_position"
|
27
|
+
add_index "costumes", ["user_id"], name: "index_costumes_on_user_id"
|
15
28
|
|
16
29
|
create_table "source_codes", force: true do |t|
|
17
30
|
t.text "data"
|
@@ -20,6 +33,26 @@ ActiveRecord::Schema.define(version: 20150513061250) do
|
|
20
33
|
t.string "filename"
|
21
34
|
end
|
22
35
|
|
36
|
+
create_table "taggings", force: true do |t|
|
37
|
+
t.integer "tag_id"
|
38
|
+
t.integer "taggable_id"
|
39
|
+
t.string "taggable_type"
|
40
|
+
t.integer "tagger_id"
|
41
|
+
t.string "tagger_type"
|
42
|
+
t.string "context", limit: 128
|
43
|
+
t.datetime "created_at"
|
44
|
+
end
|
45
|
+
|
46
|
+
add_index "taggings", ["tag_id", "taggable_id", "taggable_type", "context", "tagger_id", "tagger_type"], name: "taggings_idx", unique: true
|
47
|
+
add_index "taggings", ["taggable_id", "taggable_type", "context"], name: "index_taggings_on_taggable_id_and_taggable_type_and_context"
|
48
|
+
|
49
|
+
create_table "tags", force: true do |t|
|
50
|
+
t.string "name"
|
51
|
+
t.integer "taggings_count", default: 0
|
52
|
+
end
|
53
|
+
|
54
|
+
add_index "tags", ["name"], name: "index_tags_on_name", unique: true
|
55
|
+
|
23
56
|
create_table "users", force: true do |t|
|
24
57
|
t.string "name"
|
25
58
|
t.text "preferences"
|
@@ -27,6 +60,6 @@ ActiveRecord::Schema.define(version: 20150513061250) do
|
|
27
60
|
t.datetime "updated_at"
|
28
61
|
end
|
29
62
|
|
30
|
-
add_index "users", ["name"], name: "index_users_on_name", unique: true
|
63
|
+
add_index "users", ["name"], name: "index_users_on_name", unique: true
|
31
64
|
|
32
65
|
end
|
data/db/seeds.rb
CHANGED
data/demos/car_chase.rb.xml
CHANGED
@@ -1,129 +1,129 @@
|
|
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>
|
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
129
|
</xml>
|