smalruby-editor 0.1.22-x86-mingw32 → 0.1.23-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.
- checksums.yaml +4 -4
- data/.gitignore +0 -0
- data/.rspec +0 -0
- data/.rubocop.yml +0 -0
- data/.ruby-version +1 -1
- data/.simplecov +0 -0
- data/.travis.yml +1 -1
- data/LEGAL +0 -0
- data/LICENSE +0 -0
- data/Procfile +0 -0
- data/README.rdoc +1 -0
- data/Rakefile +0 -0
- data/app/assets/images/.keep +0 -0
- data/app/assets/images/favicon.ico +0 -0
- data/app/assets/javascripts/application.js +0 -1
- data/app/assets/javascripts/blocks/blockly.js.coffee.erb +0 -0
- data/app/assets/javascripts/blocks/character.js.coffee.erb +0 -0
- data/app/assets/javascripts/blocks/control.js.coffee.erb +16 -19
- 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/events.js.coffee.erb +8 -6
- data/app/assets/javascripts/blocks/field_character.js.coffee.erb +6 -1
- data/app/assets/javascripts/blocks/hardware.js.coffee.erb +117 -167
- data/app/assets/javascripts/blocks/looks.js.coffee.erb +14 -16
- data/app/assets/javascripts/blocks/motion.js.coffee.erb +46 -47
- data/app/assets/javascripts/blocks/operators.js.coffee.erb +54 -57
- data/app/assets/javascripts/blocks/pen.js.coffee.erb +5 -9
- data/app/assets/javascripts/blocks/ruby.js.coffee.erb +4 -3
- data/app/assets/javascripts/blocks/sensing.js.coffee.erb +53 -48
- data/app/assets/javascripts/blocks/sound.js.coffee.erb +12 -10
- data/app/assets/javascripts/collections/.keep +0 -0
- data/app/assets/javascripts/collections/character_set.js.coffee +0 -0
- data/app/assets/javascripts/fix_blockly.js +74 -0
- data/app/assets/javascripts/generators/ruby.js.coffee.erb +0 -0
- data/app/assets/javascripts/models/.keep +0 -0
- data/app/assets/javascripts/models/character.js.coffee +0 -0
- data/app/assets/javascripts/models/scene.js.coffee +0 -0
- data/app/assets/javascripts/models/source_code.js.coffee +0 -0
- data/app/assets/javascripts/msg/en_us.js +236 -0
- data/app/assets/javascripts/msg/ja.js +237 -0
- data/app/assets/javascripts/routers/.keep +0 -0
- data/app/assets/javascripts/smalruby.js.coffee +8 -0
- data/app/assets/javascripts/views/.keep +0 -0
- data/app/assets/javascripts/views/character_modal_view.js.coffee +0 -0
- data/app/assets/javascripts/views/character_selector_view.js.coffee +0 -0
- data/app/assets/javascripts/views/load_modal_view.js.coffee +0 -0
- data/app/assets/javascripts/views/{main_menu_view.js.coffee → main_menu_view.js.coffee.erb} +19 -18
- data/app/assets/javascripts/views/reset_modal_view.js.coffee +0 -0
- data/app/assets/javascripts/views/signin_modal_view.js.coffee +0 -0
- data/app/assets/stylesheets/application.css +0 -0
- data/app/assets/stylesheets/editor.css.scss +4 -0
- data/app/assets/stylesheets/flatstrap-custom.css.scss +0 -0
- data/app/assets/stylesheets/load-modal.css.scss +0 -0
- data/app/assets/stylesheets/toolbox.css.scss.erb +0 -0
- data/app/assets/templates/.keep +0 -0
- data/app/controllers/application_controller.rb +16 -0
- data/app/controllers/concerns/.keep +0 -0
- data/app/controllers/editor_controller.rb +0 -0
- data/app/controllers/sessions_controller.rb +0 -0
- data/app/controllers/source_codes_controller.rb +0 -0
- data/app/helpers/application_helper.rb +11 -0
- data/app/helpers/editor_helper.rb +0 -0
- data/app/helpers/sessions_helper.rb +0 -0
- 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 +0 -0
- data/app/models/concerns/ruby_to_block/block/character.rb +0 -0
- 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_down_or_up.rb +0 -0
- data/app/models/concerns/ruby_to_block/block/hardware_button_not_use_pullup.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_off.rb +0 -0
- data/app/models/concerns/ruby_to_block/block/hardware_led_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_on_button_down_or_up.rb +0 -0
- data/app/models/concerns/ruby_to_block/block/hardware_on_sensor_change.rb +0 -0
- data/app/models/concerns/ruby_to_block/block/hardware_operation.rb +0 -0
- data/app/models/concerns/ruby_to_block/block/hardware_rgb_led_off.rb +0 -0
- data/app/models/concerns/ruby_to_block/block/hardware_rgb_led_on.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_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_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_rotation_style.rb +17 -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/source_code.rb +0 -0
- data/app/views/editor/_block_tab.html.haml +4 -4
- data/app/views/editor/_character_modal.html.haml +7 -7
- data/app/views/editor/_load_modal.html.haml +6 -6
- data/app/views/editor/_reset_modal.html.haml +0 -0
- data/app/views/editor/_signin_modal.html.haml +0 -0
- data/app/views/editor/_toolbox.html.haml +39 -39
- data/app/views/editor/demo.html.erb +0 -0
- data/app/views/editor/index.html.haml +18 -18
- data/app/views/layouts/application.html.erb +2 -0
- data/bin/bundle +0 -0
- data/bin/rails +0 -0
- data/bin/rake +0 -0
- data/bin/smalruby-editor +0 -0
- data/config.ru +0 -0
- data/config/application.rb +1 -1
- 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 +4 -1
- 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 +64 -22
- data/config/locales/ja.yml +65 -0
- data/config/routes.rb +3 -1
- data/config/unicorn.rb +0 -0
- data/db/migrate/20131216121603_create_source_codes.rb +0 -0
- data/db/migrate/20131219045113_add_filename_to_source_code.rb +0 -0
- data/db/schema.rb +0 -0
- data/db/seeds.rb +0 -0
- data/demos/adjust_2wd_car.rb.xml +0 -0
- data/demos/car_chase.rb.xml +0 -0
- data/demos/hardware_led.rb.xml +0 -0
- data/demos/pong.rb.xml +0 -0
- data/demos/star.rb.xml +0 -0
- data/lib/assets/.keep +0 -0
- data/lib/smalruby_editor.rb +0 -0
- data/lib/smalruby_editor/blockly_message_helper.rb +20 -0
- data/lib/smalruby_editor/version.rb +1 -1
- data/lib/tasks/.keep +0 -0
- data/lib/tasks/gem.rake +1 -3
- data/lib/tasks/release.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/handclosed.cur +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/blockly/media/trashbody.png +0 -0
- data/public/blockly/media/trashlid.png +0 -0
- data/public/blockly/media/tree.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 +1 -1
- data/spec/acceptance/base.feature +0 -0
- data/spec/acceptance/block_mode/blocks/character/new.feature +0 -0
- data/spec/acceptance/block_mode/blocks/control/await.feature +0 -0
- data/spec/acceptance/block_mode/blocks/control/await_until.feature +0 -0
- 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 +0 -0
- data/spec/acceptance/block_mode/blocks/events/on_hit.feature +0 -0
- data/spec/acceptance/block_mode/blocks/events/on_key_push_or_down.feature +0 -0
- data/spec/acceptance/block_mode/blocks/events/on_start.feature +0 -0
- data/spec/acceptance/block_mode/blocks/hardware/button_down_or_up.feature +0 -0
- data/spec/acceptance/block_mode/blocks/hardware/button_not_use_pullup.feature +0 -0
- data/spec/acceptance/block_mode/blocks/hardware/init_hardware.feature +0 -0
- data/spec/acceptance/block_mode/blocks/hardware/led_off.feature +0 -0
- data/spec/acceptance/block_mode/blocks/hardware/led_on.feature +0 -0
- 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/on_button_down_or_up.feature +0 -0
- data/spec/acceptance/block_mode/blocks/hardware/on_sensor_change.feature +0 -0
- data/spec/acceptance/block_mode/blocks/hardware/rgb_led_off.feature +0 -0
- data/spec/acceptance/block_mode/blocks/hardware/rgb_led_on.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/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 +0 -0
- data/spec/acceptance/block_mode/blocks/looks/say.feature +0 -0
- data/spec/acceptance/block_mode/blocks/looks/show.feature +0 -0
- data/spec/acceptance/block_mode/blocks/looks/vanish.feature +0 -0
- data/spec/acceptance/block_mode/blocks/motion/change_x_by.feature +0 -0
- data/spec/acceptance/block_mode/blocks/motion/change_y_by.feature +0 -0
- data/spec/acceptance/block_mode/blocks/motion/move.feature +0 -0
- data/spec/acceptance/block_mode/blocks/motion/reach_wall.feature +0 -0
- data/spec/acceptance/block_mode/blocks/motion/rotate_left.feature +0 -0
- data/spec/acceptance/block_mode/blocks/motion/rotate_right.feature +0 -0
- data/spec/acceptance/block_mode/blocks/motion/self_angle.feature +0 -0
- data/spec/acceptance/block_mode/blocks/motion/self_x.feature +0 -0
- data/spec/acceptance/block_mode/blocks/motion/self_y.feature +0 -0
- data/spec/acceptance/block_mode/blocks/motion/set_angle.feature +0 -0
- data/spec/acceptance/block_mode/blocks/motion/set_x.feature +0 -0
- data/spec/acceptance/block_mode/blocks/motion/set_x_y.feature +0 -0
- data/spec/acceptance/block_mode/blocks/motion/set_y.feature +0 -0
- data/spec/acceptance/block_mode/blocks/motion/turn.feature +0 -0
- data/spec/acceptance/block_mode/blocks/motion/turn_if_reach_wall.feature +0 -0
- 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 +0 -0
- data/spec/acceptance/block_mode/blocks/sensing/hit.feature +0 -0
- 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 +0 -0
- data/spec/acceptance/block_mode/blocks/sensing/time_now.feature +0 -0
- data/spec/acceptance/block_mode/blocks/sound/play.feature +0 -0
- data/spec/acceptance/block_mode/demo.feature +0 -0
- 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/download.feature +0 -0
- data/spec/acceptance/ruby_mode/load.feature +0 -0
- data/spec/acceptance/ruby_mode/translate.feature +0 -0
- data/spec/acceptance/standalone/run.feature +0 -0
- data/spec/acceptance/standalone/save.feature +0 -0
- data/spec/acceptance/standalone/signin.feature +0 -0
- data/spec/controllers/editor_controller_spec.rb +0 -0
- data/spec/controllers/sessions_controller_spec.rb +0 -0
- 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/favicon.ico +0 -0
- data/spec/helpers/editor_helper_spec.rb +0 -0
- data/spec/helpers/sessions_helper_spec.rb +0 -0
- data/spec/javascripts/collections/character_set_spec.coffee +0 -0
- data/spec/javascripts/models/character_spec.coffee +0 -0
- data/spec/javascripts/models/scene_spec.coffee +0 -0
- data/spec/javascripts/models/source_code_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/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 +0 -0
- data/spec/models/concerns/ruby_to_block/block/hardware_spec.rb +0 -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 +0 -0
- 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 +0 -0
- 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/models/source_code_spec.rb +0 -0
- data/spec/spec_helper.rb +0 -0
- data/spec/steps/base_steps.rb +1 -0
- 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/text_editor_steps.rb +0 -0
- 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/blockly/blockly_compressed.js +0 -0
- data/vendor/assets/javascripts/blockly/blocks_compressed.js +0 -0
- data/vendor/assets/javascripts/blockly/msg/js/en_us.js +507 -0
- data/vendor/assets/javascripts/blockly/msg/js/ja.js +0 -0
- data/vendor/assets/javascripts/jquery.blockUI.js +0 -0
- data/vendor/assets/stylesheets/.keep +0 -0
- metadata +80 -66
@@ -9,10 +9,7 @@
|
|
9
9
|
# ペンを下ろす
|
10
10
|
# ペンを上げる
|
11
11
|
# <%
|
12
|
-
|
13
|
-
['down_pen', 'ペンを下ろす'],
|
14
|
-
['up_pen', 'ペンを上げる'],
|
15
|
-
].each do |suffix, label|
|
12
|
+
%w(down_pen up_pen).each do |suffix|
|
16
13
|
n = "#{category}_#{suffix}"
|
17
14
|
%>
|
18
15
|
|
@@ -21,7 +18,7 @@ Blockly.Blocks['<%= n %>'] =
|
|
21
18
|
@setHelpUrl('')
|
22
19
|
@setColour(<%= color %>)
|
23
20
|
@appendDummyInput()
|
24
|
-
.appendField(
|
21
|
+
.appendField(<%= bm(".#{suffix}") %>)
|
25
22
|
@setPreviousStatement(true)
|
26
23
|
@setNextStatement(true)
|
27
24
|
@setTooltip('')
|
@@ -36,10 +33,9 @@ Blockly.Blocks['<%= n %>'] =
|
|
36
33
|
init: ()->
|
37
34
|
@setHelpUrl('')
|
38
35
|
@setColour(<%= color %>)
|
39
|
-
@
|
40
|
-
|
41
|
-
|
42
|
-
.appendField('にする')
|
36
|
+
@interpolateMsg(<%= bm('.set_pen_color') %>,
|
37
|
+
['COLOUR', ['Colour', '#ff0000'], Blockly.ALIGN_RIGHT],
|
38
|
+
Blockly.ALIGN_RIGHT)
|
43
39
|
@setPreviousStatement(true)
|
44
40
|
@setNextStatement(true)
|
45
41
|
@setTooltip('')
|
@@ -3,6 +3,7 @@
|
|
3
3
|
<%
|
4
4
|
category = 'ruby'
|
5
5
|
require 'smalruby_editor'
|
6
|
+
require 'smalruby_editor/blockly_message_helper'
|
6
7
|
color = SmalrubyEditor::COLORS[category.to_sym]
|
7
8
|
%>
|
8
9
|
|
@@ -13,7 +14,7 @@ Blockly.Blocks['<%= n %>'] =
|
|
13
14
|
@setHelpUrl('')
|
14
15
|
@setColour(<%= color %>)
|
15
16
|
@appendDummyInput()
|
16
|
-
.appendField('
|
17
|
+
.appendField(<%= bm('.statement') %>)
|
17
18
|
.appendField(new Blockly.FieldTextInput(''), 'STATEMENT')
|
18
19
|
@setPreviousStatement(true)
|
19
20
|
@setNextStatement(true)
|
@@ -30,7 +31,7 @@ Blockly.Blocks['<%= n %>'] =
|
|
30
31
|
@setHelpUrl('')
|
31
32
|
@setColour(<%= color %>)
|
32
33
|
@appendDummyInput()
|
33
|
-
.appendField('
|
34
|
+
.appendField(<%= bm('.expression') %>)
|
34
35
|
.appendField(new Blockly.FieldTextInput(''), 'EXP')
|
35
36
|
@setOutput(true, null)
|
36
37
|
@setTooltip('')
|
@@ -46,7 +47,7 @@ Blockly.Blocks['<%= n %>'] =
|
|
46
47
|
@setHelpUrl('')
|
47
48
|
@setColour(<%= color %>)
|
48
49
|
@appendDummyInput()
|
49
|
-
.appendField('
|
50
|
+
.appendField(<%= bm('.comment') %>)
|
50
51
|
.appendField(new Blockly.FieldTextInput(''), 'COMMENT')
|
51
52
|
@setPreviousStatement(true)
|
52
53
|
@setNextStatement(true)
|
@@ -3,34 +3,36 @@
|
|
3
3
|
<%
|
4
4
|
category = 'sensing'
|
5
5
|
require 'smalruby_editor'
|
6
|
+
require 'smalruby_editor/blockly_message_helper'
|
6
7
|
color = SmalrubyEditor::COLORS[category.to_sym]
|
7
8
|
%>
|
8
9
|
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
[
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
[
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
[
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
[
|
32
|
-
|
33
|
-
|
10
|
+
$(document).ready ->
|
11
|
+
# 調べるの環境設定
|
12
|
+
window.SmalrubyEditor.Sensing =
|
13
|
+
KeyDropdown: [
|
14
|
+
[<%= bm('.k_up') %>, 'K_UP'],
|
15
|
+
[<%= bm('.k_down') %>, 'K_DOWN'],
|
16
|
+
[<%= bm('.k_left') %>, 'K_LEFT'],
|
17
|
+
[<%= bm('.k_right') %>, 'K_RIGHT'],
|
18
|
+
[<%= bm('.k_space') %>, 'K_SPACE'],
|
19
|
+
<% (('a'..'z').to_a + ('0'..'9').to_a).each do |k| %>
|
20
|
+
['<%= k %>', 'K_<%= k.upcase %>'],
|
21
|
+
<% end %>
|
22
|
+
]
|
23
|
+
PushOrDownDropdown: [
|
24
|
+
[<%= bm('.push') %>, 'push'],
|
25
|
+
[<%= bm('.hold_down') %>, 'down'],
|
26
|
+
]
|
27
|
+
MouseButtonDropdown: [
|
28
|
+
[<%= bm('.m_lbutton') %>, 'M_LBUTTON'],
|
29
|
+
[<%= bm('.m_mbutton') %>, 'M_MBUTTON'],
|
30
|
+
[<%= bm('.m_rbutton') %>, 'M_RBUTTON'],
|
31
|
+
]
|
32
|
+
DownOrUpDropdown: [
|
33
|
+
[<%= bm('.down') %>, 'down'],
|
34
|
+
[<%= bm('.up') %>, 'up'],
|
35
|
+
]
|
34
36
|
|
35
37
|
# 条件:端に触れた
|
36
38
|
<% n = "#{category}_reach_wall" %>
|
@@ -38,7 +40,7 @@ Blockly.Blocks['<%= n %>'] =
|
|
38
40
|
init: ()->
|
39
41
|
@setHelpUrl('')
|
40
42
|
@setColour(<%= color %>)
|
41
|
-
@appendDummyInput().appendField('
|
43
|
+
@appendDummyInput().appendField(<%= bm('.reach_wall') %>)
|
42
44
|
@setOutput(true, 'Boolean')
|
43
45
|
@setTooltip('')
|
44
46
|
|
@@ -59,10 +61,11 @@ Blockly.Blocks['<%= n %>'] =
|
|
59
61
|
@setHelpUrl('')
|
60
62
|
@setColour(<%= color %>)
|
61
63
|
@appendDummyInput()
|
62
|
-
.appendField('
|
64
|
+
.appendField(<%= bm('.input_key_push_or_down_prefix') %>)
|
63
65
|
.appendField(new Blockly.FieldDropdown(keyDropdown), 'KEY')
|
64
|
-
.appendField('
|
66
|
+
.appendField(<%= bm('.input_key_push_or_down_middle') %>)
|
65
67
|
.appendField(new Blockly.FieldDropdown(podDropdown), 'POD')
|
68
|
+
.appendField(<%= bm('.input_key_push_or_down_suffix') %>)
|
66
69
|
@setOutput(true, 'Boolean')
|
67
70
|
@setTooltip('')
|
68
71
|
|
@@ -81,10 +84,11 @@ Blockly.Blocks['<%= n %>'] =
|
|
81
84
|
@setHelpUrl('')
|
82
85
|
@setColour(<%= color %>)
|
83
86
|
@appendDummyInput()
|
84
|
-
.appendField('
|
87
|
+
.appendField(<%= bm('.input_mouse_push_or_down_prefix') %>)
|
85
88
|
.appendField(new Blockly.FieldDropdown(mbDropdown), 'MOUSE_BUTTON')
|
86
|
-
.appendField('
|
89
|
+
.appendField(<%= bm('.input_mouse_push_or_down_middle') %>)
|
87
90
|
.appendField(new Blockly.FieldDropdown(podDropdown), 'POD')
|
91
|
+
.appendField(<%= bm('.input_mouse_push_or_down_suffix') %>)
|
88
92
|
@setOutput(true, 'Boolean')
|
89
93
|
@setTooltip('')
|
90
94
|
|
@@ -105,7 +109,7 @@ Blockly.Blocks['<%= n %>'] =
|
|
105
109
|
@setHelpUrl('')
|
106
110
|
@setColour(<%= color %>)
|
107
111
|
@appendDummyInput()
|
108
|
-
.appendField(
|
112
|
+
.appendField(<%= bm(".input_mouse_pos_#{suffix}") %>)
|
109
113
|
@setOutput(true, 'Number')
|
110
114
|
@setTooltip('')
|
111
115
|
|
@@ -120,8 +124,9 @@ Blockly.Blocks['<%= n %>'] =
|
|
120
124
|
@setHelpUrl('')
|
121
125
|
@setColour(<%= color %>)
|
122
126
|
@appendDummyInput()
|
127
|
+
.appendField(<%= bm('.hit_prefix') %>)
|
123
128
|
.appendField(new Smalruby.FieldCharacter(), 'CHAR')
|
124
|
-
.appendField('
|
129
|
+
.appendField(<%= bm('.hit_suffix') %>)
|
125
130
|
@setOutput(true, 'Boolean')
|
126
131
|
@setTooltip('')
|
127
132
|
|
@@ -195,20 +200,20 @@ Blockly.Ruby['<%= n %>'] = (block) ->
|
|
195
200
|
Blockly.Blocks['<%= n %>'] =
|
196
201
|
init: ()->
|
197
202
|
dropdown = [
|
198
|
-
['
|
199
|
-
['
|
200
|
-
['
|
201
|
-
['
|
202
|
-
['
|
203
|
-
['
|
204
|
-
['
|
203
|
+
[<%= bm('.character_property_x') %>, 'x'],
|
204
|
+
[<%= bm('.character_property_y') %>, 'y'],
|
205
|
+
[<%= bm('.character_property_angle') %>, 'angle'],
|
206
|
+
[<%= bm('.character_property_costume_index') %>, 'costume_index'],
|
207
|
+
[<%= bm('.character_property_costume') %>, 'costume'],
|
208
|
+
[<%= bm('.character_property_scale') %>, 'scale'],
|
209
|
+
[<%= bm('.character_property_volume') %>, 'volume'],
|
205
210
|
]
|
206
211
|
|
207
212
|
@setHelpUrl('')
|
208
213
|
@setColour(<%= color %>)
|
209
214
|
@appendDummyInput()
|
210
215
|
.appendField(new Smalruby.FieldCharacter(), 'CHAR')
|
211
|
-
.appendField('
|
216
|
+
.appendField(<%= bm('.character_property_middle') %>)
|
212
217
|
.appendField(new Blockly.FieldDropdown(dropdown), 'PROPERTY')
|
213
218
|
@setOutput(true, ['Number', 'String'])
|
214
219
|
@setTooltip('')
|
@@ -224,19 +229,19 @@ Blockly.Ruby['<%= n %>'] = (block) ->
|
|
224
229
|
Blockly.Blocks['<%= n %>'] =
|
225
230
|
init: ()->
|
226
231
|
dropdown = [
|
227
|
-
['
|
228
|
-
['
|
229
|
-
['
|
230
|
-
['
|
231
|
-
['
|
232
|
-
['
|
233
|
-
['
|
232
|
+
[<%= bm('.time_now_year') %>, 'year'],
|
233
|
+
[<%= bm('.time_now_month') %>, 'month'],
|
234
|
+
[<%= bm('.time_now_day') %>, 'day'],
|
235
|
+
[<%= bm('.time_now_wday') %>, 'wday'],
|
236
|
+
[<%= bm('.time_now_hour') %>, 'hour'],
|
237
|
+
[<%= bm('.time_now_min') %>, 'min'],
|
238
|
+
[<%= bm('.time_now_sec') %>, 'sec'],
|
234
239
|
]
|
235
240
|
|
236
241
|
@setHelpUrl('')
|
237
242
|
@setColour(<%= color %>)
|
238
243
|
@appendDummyInput()
|
239
|
-
.appendField('
|
244
|
+
.appendField(<%= bm('.time_now') %>)
|
240
245
|
.appendField(new Blockly.FieldDropdown(dropdown), 'METHOD')
|
241
246
|
@setOutput(true, 'Number')
|
242
247
|
@setTooltip('')
|
@@ -3,6 +3,7 @@
|
|
3
3
|
<%
|
4
4
|
category = 'sound'
|
5
5
|
require 'smalruby_editor'
|
6
|
+
require 'smalruby_editor/blockly_message_helper'
|
6
7
|
color = SmalrubyEditor::COLORS[category.to_sym]
|
7
8
|
%>
|
8
9
|
|
@@ -11,14 +12,14 @@
|
|
11
12
|
Blockly.Blocks['<%= n %>'] =
|
12
13
|
init: ()->
|
13
14
|
sounds = [
|
14
|
-
['
|
15
|
-
['
|
16
|
-
['
|
17
|
-
['
|
18
|
-
['
|
19
|
-
['
|
20
|
-
['
|
21
|
-
['
|
15
|
+
[<%= bm('.preset_sounds_piano_do') %>, 'piano_do.wav'],
|
16
|
+
[<%= bm('.preset_sounds_piano_re') %>, 'piano_re.wav'],
|
17
|
+
[<%= bm('.preset_sounds_piano_mi') %>, 'piano_mi.wav'],
|
18
|
+
[<%= bm('.preset_sounds_piano_fa') %>, 'piano_fa.wav'],
|
19
|
+
[<%= bm('.preset_sounds_piano_so') %>, 'piano_so.wav'],
|
20
|
+
[<%= bm('.preset_sounds_piano_ra') %>, 'piano_ra.wav'],
|
21
|
+
[<%= bm('.preset_sounds_piano_si') %>, 'piano_si.wav'],
|
22
|
+
[<%= bm('.preset_sounds_piano_do_2') %>, 'piano_do_2.wav'],
|
22
23
|
]
|
23
24
|
@setHelpUrl('')
|
24
25
|
@setColour(<%= color %>)
|
@@ -36,8 +37,9 @@ Blockly.Blocks['<%= n %>'] =
|
|
36
37
|
init: ()->
|
37
38
|
@setHelpUrl('')
|
38
39
|
@setColour(<%= color %>)
|
39
|
-
@
|
40
|
-
|
40
|
+
@interpolateMsg(<%= bm('.play') %>,
|
41
|
+
['NAME', ['String'], Blockly.ALIGN_RIGHT],
|
42
|
+
Blockly.ALIGN_RIGHT)
|
41
43
|
@setInputsInline(true)
|
42
44
|
@setPreviousStatement(true)
|
43
45
|
@setNextStatement(true)
|
File without changes
|
File without changes
|
@@ -1,3 +1,19 @@
|
|
1
|
+
/**
|
2
|
+
* this program copied from Blockly and modified
|
3
|
+
*
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
5
|
+
* you may not use this file except in compliance with the License.
|
6
|
+
* You may obtain a copy of the License at
|
7
|
+
*
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
9
|
+
*
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
13
|
+
* See the License for the specific language governing permissions and
|
14
|
+
* limitations under the License.
|
15
|
+
*/
|
16
|
+
|
1
17
|
Blockly.Names.prototype.safeName_ = function(name) {
|
2
18
|
if (!name) {
|
3
19
|
name = 'unnamed';
|
@@ -52,3 +68,61 @@ Blockly.loadAudio_ = function(filenames, name) {
|
|
52
68
|
Blockly.SOUNDS_[name] = sound;
|
53
69
|
}
|
54
70
|
};
|
71
|
+
|
72
|
+
// blockly/core/block.js
|
73
|
+
Blockly.Block.prototype.interpolateMsg = function(msg, var_args) {
|
74
|
+
// Validate the msg at the start and the dummy alignment at the end,
|
75
|
+
// and remove the latter.
|
76
|
+
goog.asserts.assertString(msg);
|
77
|
+
var dummyAlign = arguments[arguments.length - 1];
|
78
|
+
goog.asserts.assert(
|
79
|
+
dummyAlign === Blockly.ALIGN_LEFT ||
|
80
|
+
dummyAlign === Blockly.ALIGN_CENTRE ||
|
81
|
+
dummyAlign === Blockly.ALIGN_RIGHT,
|
82
|
+
'Illegal final argument "%d" is not an alignment.', dummyAlign);
|
83
|
+
arguments.length = arguments.length - 1;
|
84
|
+
|
85
|
+
var tokens = msg.split(/(%\d)/);
|
86
|
+
for (var i = 0; i < tokens.length; i += 2) {
|
87
|
+
var text = goog.string.trim(tokens[i]);
|
88
|
+
var symbol = tokens[i + 1];
|
89
|
+
if (symbol) {
|
90
|
+
// Value input.
|
91
|
+
var digit = parseInt(symbol.charAt(1), 10);
|
92
|
+
var tuple = arguments[digit];
|
93
|
+
goog.asserts.assertArray(tuple,
|
94
|
+
'Message symbol "%s" is out of range.', symbol);
|
95
|
+
if (goog.typeOf(tuple[1]) == 'array' && tuple[1][0] == 'Dropdown') {
|
96
|
+
this.appendDummyInput()
|
97
|
+
.appendField(text)
|
98
|
+
.setAlign(tuple[2])
|
99
|
+
.appendField(new Blockly.FieldDropdown(tuple[1][1]), tuple[0]);
|
100
|
+
}
|
101
|
+
else if (goog.typeOf(tuple[1]) == 'array' && tuple[1][0] == 'Colour') {
|
102
|
+
this.appendDummyInput()
|
103
|
+
.appendField(text)
|
104
|
+
.setAlign(tuple[2])
|
105
|
+
.appendField(new Blockly.FieldColour(tuple[1][1]), tuple[0]);
|
106
|
+
}
|
107
|
+
else {
|
108
|
+
this.appendValueInput(tuple[0])
|
109
|
+
.setCheck(tuple[1])
|
110
|
+
.setAlign(tuple[2])
|
111
|
+
.appendField(text);
|
112
|
+
}
|
113
|
+
arguments[digit] = null; // Inputs may not be reused.
|
114
|
+
} else if (text) {
|
115
|
+
this.appendDummyInput()
|
116
|
+
.setAlign(dummyAlign)
|
117
|
+
.appendField(text);
|
118
|
+
}
|
119
|
+
}
|
120
|
+
// Verify that all inputs were used.
|
121
|
+
for (var i = 1; i < arguments.length - 1; i++) {
|
122
|
+
goog.asserts.assert(arguments[i] === null,
|
123
|
+
'Input "%%s" not used in message: "%s"', i, msg);
|
124
|
+
}
|
125
|
+
// Make the inputs inline unless there is only one input and
|
126
|
+
// no text follows it.
|
127
|
+
this.setInputsInline(!msg.match(/%1\s*$/))
|
128
|
+
};
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
@@ -0,0 +1,236 @@
|
|
1
|
+
goog.provide('Blockly.Msg.en_us.smalruby');
|
2
|
+
|
3
|
+
goog.require('Blockly.Msg');
|
4
|
+
|
5
|
+
|
6
|
+
/**
|
7
|
+
* Due to the frequency of long strings, the 80-column wrap rule need not apply
|
8
|
+
* to message files.
|
9
|
+
*/
|
10
|
+
|
11
|
+
// views/main_menu_view.js.coffee
|
12
|
+
Blockly.Msg.VIEWS_MAIN_MENU_VIEW_COMMON_LINES = ' Lines';
|
13
|
+
Blockly.Msg.VIEWS_MAIN_MENU_VIEW_COMMON_LETTERS = ' Letters';
|
14
|
+
Blockly.Msg.VIEWS_MAIN_MENU_VIEW_COMMON_COMMA = ', ';
|
15
|
+
|
16
|
+
|
17
|
+
Blockly.Msg.VIEWS_MAIN_MENU_VIEW_BLOCK_MODE_BLOCKUI_TITLE = 'Converting Program';
|
18
|
+
Blockly.Msg.VIEWS_MAIN_MENU_VIEW_BLOCK_MODE_BLOCKUI_MESSAGE = 'Converting your program to instruction blocks.';
|
19
|
+
Blockly.Msg.VIEWS_MAIN_MENU_VIEW_BLOCK_MODE_ERROR = "Can't convert your program to instruction blocks.";
|
20
|
+
|
21
|
+
Blockly.Msg.VIEWS_MAIN_MENU_VIEW_RUN_BLOCKUI_TITLE = 'Running';
|
22
|
+
Blockly.Msg.VIEWS_MAIN_MENU_VIEW_RUN_BLOCKUI_MESSAGE = "Please switch your program's window.";
|
23
|
+
Blockly.Msg.VIEWS_MAIN_MENU_VIEW_RUN_BLOCKUI_NOTICE = 'Running your program after save & check it.<br>Press ESC key to quit.';
|
24
|
+
Blockly.Msg.VIEWS_MAIN_MENU_VIEW_RUN_ERROR_CANT_RUN = "Can't run your program.";
|
25
|
+
Blockly.Msg.VIEWS_MAIN_MENU_VIEW_RUN_ERROR_CANCEL_TO_RUN = "Cancel to run your program.";
|
26
|
+
|
27
|
+
Blockly.Msg.VIEWS_MAIN_MENU_VIEW_DOWNLOAD_BLOCKUI_TITLE = 'Downloading';
|
28
|
+
Blockly.Msg.VIEWS_MAIN_MENU_VIEW_DOWNLOAD_BLOCKUI_MESSAGE = "Downloading your program.";
|
29
|
+
|
30
|
+
|
31
|
+
// blocks/motion.js.coffee.erb
|
32
|
+
Blockly.Msg.BLOCKS_MOTION_MOVE = 'move %1 steps';
|
33
|
+
Blockly.Msg.BLOCKS_MOTION_TURN_RIGHT_DEGREES = 'turn right %1 degrees';
|
34
|
+
Blockly.Msg.BLOCKS_MOTION_TURN_LEFT_DEGREES = 'turn left %1 degrees';
|
35
|
+
Blockly.Msg.BLOCKS_MOTION_POINT_IN_DIRECTION = 'point in direction %1';
|
36
|
+
Blockly.Msg.BLOCKS_MOTION_POINT_TOWARDS_MOUSE = 'point towards mouse-pointer';
|
37
|
+
Blockly.Msg.BLOCKS_MOTION_POINT_TOWARDS_CHARACTER = 'point towards';
|
38
|
+
Blockly.Msg.BLOCKS_MOTION_SET_X_Y_X = 'go to x:';
|
39
|
+
Blockly.Msg.BLOCKS_MOTION_SET_X_Y_Y = 'y:';
|
40
|
+
Blockly.Msg.BLOCKS_MOTION_SET_X_Y_SUFFIX = '';
|
41
|
+
Blockly.Msg.BLOCKS_MOTION_GO_TO_MOUSE = 'go to mouse-pointer';
|
42
|
+
Blockly.Msg.BLOCKS_MOTION_GO_TO_CHARACTER_PREFIX = 'go to ';
|
43
|
+
Blockly.Msg.BLOCKS_MOTION_GO_TO_CHARACTER_SUFFIX = '';
|
44
|
+
Blockly.Msg.BLOCKS_MOTION_CHANGE_X_BY = 'change x by %1';
|
45
|
+
Blockly.Msg.BLOCKS_MOTION_SET_X = 'set x to %1';
|
46
|
+
Blockly.Msg.BLOCKS_MOTION_CHANGE_Y_BY = 'change y by %1';
|
47
|
+
Blockly.Msg.BLOCKS_MOTION_SET_Y = 'set y to %1';
|
48
|
+
Blockly.Msg.BLOCKS_MOTION_TURN_IF_REACH_WALL = 'if reach wall, turn';
|
49
|
+
Blockly.Msg.BLOCKS_MOTION_TURN = 'turn';
|
50
|
+
Blockly.Msg.BLOCKS_MOTION_TURN_XY_X = '(x) horizontal';
|
51
|
+
Blockly.Msg.BLOCKS_MOTION_TURN_XY_Y = '(y) vertical';
|
52
|
+
Blockly.Msg.BLOCKS_MOTION_TURN_XY_PREFIX = 'turn to ';
|
53
|
+
Blockly.Msg.BLOCKS_MOTION_TURN_XY_SUFFIX = '';
|
54
|
+
Blockly.Msg.BLOCKS_MOTION_SET_ROTATION_STYLE_LEFT_RIGHT = 'left-right';
|
55
|
+
Blockly.Msg.BLOCKS_MOTION_SET_ROTATION_STYLE_NONE = "don't rorate";
|
56
|
+
Blockly.Msg.BLOCKS_MOTION_SET_ROTATION_STYLE_FREE = 'all around';
|
57
|
+
Blockly.Msg.BLOCKS_MOTION_SET_ROTATION_STYLE_PREFIX = 'set rotation style ';
|
58
|
+
Blockly.Msg.BLOCKS_MOTION_SET_ROTATION_STYLE_SUFFIX = '';
|
59
|
+
Blockly.Msg.BLOCKS_MOTION_SELF_X = 'x position';
|
60
|
+
Blockly.Msg.BLOCKS_MOTION_SELF_Y = 'y position';
|
61
|
+
Blockly.Msg.BLOCKS_MOTION_SELF_ANGLE = 'direction';
|
62
|
+
|
63
|
+
// blocks/events.js.coffee.erb
|
64
|
+
Blockly.Msg.BLOCKS_EVENTS_ON_START = 'when Run clicked';
|
65
|
+
Blockly.Msg.BLOCKS_EVENTS_ON_KEY_PUSH_OR_DOWN_PREFIX = 'when ';
|
66
|
+
Blockly.Msg.BLOCKS_EVENTS_ON_KEY_PUSH_OR_DOWN_MIDDLE = ' key ';
|
67
|
+
Blockly.Msg.BLOCKS_EVENTS_ON_KEY_PUSH_OR_DOWN_SUFFIX = '';
|
68
|
+
Blockly.Msg.BLOCKS_EVENTS_ON_CLICK = 'when this sprite clicked';
|
69
|
+
Blockly.Msg.BLOCKS_EVENTS_ON_HIT_PREFIX = 'when ';
|
70
|
+
Blockly.Msg.BLOCKS_EVENTS_ON_HIT_SUFFIX = ' hit';
|
71
|
+
|
72
|
+
// blocks/sensing.js.coffee.erb
|
73
|
+
Blockly.Msg.BLOCKS_SENSING_K_UP = 'up arrow';
|
74
|
+
Blockly.Msg.BLOCKS_SENSING_K_DOWN = 'down arrow';
|
75
|
+
Blockly.Msg.BLOCKS_SENSING_K_LEFT = 'left arrow';
|
76
|
+
Blockly.Msg.BLOCKS_SENSING_K_RIGHT = 'right arrow';
|
77
|
+
Blockly.Msg.BLOCKS_SENSING_K_SPACE = 'space';
|
78
|
+
Blockly.Msg.BLOCKS_SENSING_PUSH = 'pressed?';
|
79
|
+
Blockly.Msg.BLOCKS_SENSING_HOLD_DOWN = 'hold pressed?';
|
80
|
+
Blockly.Msg.BLOCKS_SENSING_DOWN = Blockly.Msg.BLOCKS_SENSING_PUSH;
|
81
|
+
Blockly.Msg.BLOCKS_SENSING_M_LBUTTON = 'left-button';
|
82
|
+
Blockly.Msg.BLOCKS_SENSING_M_MBUTTON = 'middle-button';
|
83
|
+
Blockly.Msg.BLOCKS_SENSING_M_RBUTTON = 'right-button';
|
84
|
+
Blockly.Msg.BLOCKS_SENSING_UP = 'released?';
|
85
|
+
Blockly.Msg.BLOCKS_SENSING_REACH_WALL = 'reach wall?';
|
86
|
+
Blockly.Msg.BLOCKS_SENSING_INPUT_KEY_PUSH_OR_DOWN_PREFIX = 'key ';
|
87
|
+
Blockly.Msg.BLOCKS_SENSING_INPUT_KEY_PUSH_OR_DOWN_MIDDLE = ' ';
|
88
|
+
Blockly.Msg.BLOCKS_SENSING_INPUT_KEY_PUSH_OR_DOWN_SUFFIX = '';
|
89
|
+
Blockly.Msg.BLOCKS_SENSING_INPUT_MOUSE_PUSH_OR_DOWN_PREFIX = 'mouse ';
|
90
|
+
Blockly.Msg.BLOCKS_SENSING_INPUT_MOUSE_PUSH_OR_DOWN_MIDDLE = ' ';
|
91
|
+
Blockly.Msg.BLOCKS_SENSING_INPUT_MOUSE_PUSH_OR_DOWN_SUFFIX = '';
|
92
|
+
Blockly.Msg.BLOCKS_SENSING_INPUT_MOUSE_POS_X = 'mouse x';
|
93
|
+
Blockly.Msg.BLOCKS_SENSING_INPUT_MOUSE_POS_Y = 'mouse y';
|
94
|
+
Blockly.Msg.BLOCKS_SENSING_HIT_PREFIX = 'reach ';
|
95
|
+
Blockly.Msg.BLOCKS_SENSING_HIT_SUFFIX = '?';
|
96
|
+
Blockly.Msg.BLOCKS_SENSING_CHARACTER_PROPERTY_X = 'x position';
|
97
|
+
Blockly.Msg.BLOCKS_SENSING_CHARACTER_PROPERTY_Y = 'y position';
|
98
|
+
Blockly.Msg.BLOCKS_SENSING_CHARACTER_PROPERTY_ANGLE = 'direction';
|
99
|
+
Blockly.Msg.BLOCKS_SENSING_CHARACTER_PROPERTY_COSTUME_INDEX = 'costume #';
|
100
|
+
Blockly.Msg.BLOCKS_SENSING_CHARACTER_PROPERTY_COSTUME = 'contume name';
|
101
|
+
Blockly.Msg.BLOCKS_SENSING_CHARACTER_PROPERTY_SCALE = 'size';
|
102
|
+
Blockly.Msg.BLOCKS_SENSING_CHARACTER_PROPERTY_VOLUME = 'volume';
|
103
|
+
Blockly.Msg.BLOCKS_SENSING_CHARACTER_PROPERTY_MIDDLE = ' of ';
|
104
|
+
Blockly.Msg.BLOCKS_SENSING_TIME_NOW_YEAR = 'year';
|
105
|
+
Blockly.Msg.BLOCKS_SENSING_TIME_NOW_MONTH = 'month';
|
106
|
+
Blockly.Msg.BLOCKS_SENSING_TIME_NOW_DAY = 'day';
|
107
|
+
Blockly.Msg.BLOCKS_SENSING_TIME_NOW_WDAY = 'day of week';
|
108
|
+
Blockly.Msg.BLOCKS_SENSING_TIME_NOW_HOUR = 'hour';
|
109
|
+
Blockly.Msg.BLOCKS_SENSING_TIME_NOW_MIN = 'min';
|
110
|
+
Blockly.Msg.BLOCKS_SENSING_TIME_NOW_SEC = 'sec';
|
111
|
+
Blockly.Msg.BLOCKS_SENSING_TIME_NOW = 'current ';
|
112
|
+
|
113
|
+
// blocks/control.js.coffee.erb
|
114
|
+
Blockly.Msg.BLOCKS_CONTROL_SLEEP = 'wait %1 secs';
|
115
|
+
Blockly.Msg.BLOCKS_CONTROL_LOOP = 'loop';
|
116
|
+
Blockly.Msg.BLOCKS_CONTROL_LOOP_END = 'end of loop';
|
117
|
+
Blockly.Msg.BLOCKS_CONTROL_BREAK = 'stop this loop';
|
118
|
+
Blockly.Msg.BLOCKS_CONTROL_NEXT = 'next iteration of this loop';
|
119
|
+
Blockly.Msg.BLOCKS_CONTROL_REDO = 'redo iteration of this loop';
|
120
|
+
Blockly.Msg.BLOCKS_CONTROL_IF = 'if ';
|
121
|
+
Blockly.Msg.BLOCKS_CONTROL_THEN = ' then';
|
122
|
+
Blockly.Msg.BLOCKS_CONTROL_ELSE = 'else';
|
123
|
+
Blockly.Msg.BLOCKS_CONTROL_TIMES = 'repeat %1';
|
124
|
+
Blockly.Msg.BLOCKS_CONTROL_AWAIT_UNTIL = 'wait until %1';
|
125
|
+
Blockly.Msg.BLOCKS_CONTROL_UNTIL = 'repeat until %1';
|
126
|
+
Blockly.Msg.BLOCKS_CONTROL_AWAIT = 'just wait a little';
|
127
|
+
|
128
|
+
// blocks/ruby.js.coffee.erb
|
129
|
+
Blockly.Msg.BLOCKS_RUBY_STATEMENT = 'statement ';
|
130
|
+
Blockly.Msg.BLOCKS_RUBY_EXPRESSION = 'expression ';
|
131
|
+
Blockly.Msg.BLOCKS_RUBY_COMMENT = 'comment ';
|
132
|
+
|
133
|
+
// blocks/field_character.js.coffee.erb
|
134
|
+
Blockly.Msg.BLOCKS_FIELD_CHARACTER_NO_CHARACTER = 'no character';
|
135
|
+
|
136
|
+
// blocks/sound.js.coffee.erb
|
137
|
+
Blockly.Msg.BLOCKS_SOUND_PRESET_SOUNDS_PIANO_DO = 'Middle C of piano';
|
138
|
+
Blockly.Msg.BLOCKS_SOUND_PRESET_SOUNDS_PIANO_RE = 'D of piano';
|
139
|
+
Blockly.Msg.BLOCKS_SOUND_PRESET_SOUNDS_PIANO_MI = 'E of piano';
|
140
|
+
Blockly.Msg.BLOCKS_SOUND_PRESET_SOUNDS_PIANO_FA = 'F of piano';
|
141
|
+
Blockly.Msg.BLOCKS_SOUND_PRESET_SOUNDS_PIANO_SO = 'G of piano';
|
142
|
+
Blockly.Msg.BLOCKS_SOUND_PRESET_SOUNDS_PIANO_RA = 'A of piano';
|
143
|
+
Blockly.Msg.BLOCKS_SOUND_PRESET_SOUNDS_PIANO_SI = 'B of piano';
|
144
|
+
Blockly.Msg.BLOCKS_SOUND_PRESET_SOUNDS_PIANO_DO_2 = 'High C of piano';
|
145
|
+
Blockly.Msg.BLOCKS_SOUND_PLAY = 'play sound %1';
|
146
|
+
|
147
|
+
// blocks/looks.js.coffee.erb
|
148
|
+
Blockly.Msg.BLOCKS_LOOKS_SAY = 'say %1';
|
149
|
+
Blockly.Msg.BLOCKS_LOOKS_THINK = 'think %1';
|
150
|
+
Blockly.Msg.BLOCKS_LOOKS_SAY_WITH_SECOND = 'say %1 for %2 secs';
|
151
|
+
Blockly.Msg.BLOCKS_LOOKS_THINK_WITH_SECOND = 'think %1 for %2 secs';
|
152
|
+
Blockly.Msg.BLOCKS_LOOKS_SHOW = 'show';
|
153
|
+
Blockly.Msg.BLOCKS_LOOKS_HIDE = 'hide';
|
154
|
+
Blockly.Msg.BLOCKS_LOOKS_VANISH = 'vanish';
|
155
|
+
|
156
|
+
// blocks/hardware.js.coffee.erb
|
157
|
+
Blockly.Msg.BLOCKS_HARDWARE_LED_ON = 'turn on LED %1';
|
158
|
+
Blockly.Msg.BLOCKS_HARDWARE_LED_OFF = 'turn off LED %1';
|
159
|
+
Blockly.Msg.BLOCKS_HARDWARE_ANODE = 'anode';
|
160
|
+
Blockly.Msg.BLOCKS_HARDWARE_CATHODE = 'cathode';
|
161
|
+
Blockly.Msg.BLOCKS_HARDWARE_LEFT = 'left';
|
162
|
+
Blockly.Msg.BLOCKS_HARDWARE_RIGHT = 'right';
|
163
|
+
Blockly.Msg.BLOCKS_HARDWARE_INIT_HARDWARE = 'setup hardware';
|
164
|
+
Blockly.Msg.BLOCKS_HARDWARE_RGB_LED_ON = 'set RGB LED %1 common %2 color to %3';
|
165
|
+
Blockly.Msg.BLOCKS_HARDWARE_RGB_LED_OFF = 'turn off RGB LED %1 common %2';
|
166
|
+
Blockly.Msg.BLOCKS_HARDWARE_SEVEN_SEGMENT_DISPLAY_SHOW = 'show 7 segment display %1';
|
167
|
+
Blockly.Msg.BLOCKS_HARDWARE_SEVEN_SEGMENT_DISPLAY_OFF = 'turn off 7 segment display';
|
168
|
+
Blockly.Msg.BLOCKS_HARDWARE_LCD_PUTS = 'display %1 on the LCD';
|
169
|
+
Blockly.Msg.BLOCKS_HARDWARE_LCD_CLEAR = 'clear LCD';
|
170
|
+
Blockly.Msg.BLOCKS_HARDWARE_SERVO_SET_POSITION = 'servo motor %1 set %2 degree (5-180)';
|
171
|
+
Blockly.Msg.BLOCKS_HARDWARE_TWO_WHEEL_DRIVE_CAR_FORWARD = 'forward 2WD car %1';
|
172
|
+
Blockly.Msg.BLOCKS_HARDWARE_TWO_WHEEL_DRIVE_CAR_BACKWARD = 'backward 2WD car %1';
|
173
|
+
Blockly.Msg.BLOCKS_HARDWARE_TWO_WHEEL_DRIVE_CAR_TURN_LEFT = 'turn left 2WD car %1';
|
174
|
+
Blockly.Msg.BLOCKS_HARDWARE_TWO_WHEEL_DRIVE_CAR_TURN_RIGHT = 'turn right 2WD car %1';
|
175
|
+
Blockly.Msg.BLOCKS_HARDWARE_TWO_WHEEL_DRIVE_CAR_STOP = 'stop 2WD car %1';
|
176
|
+
Blockly.Msg.BLOCKS_HARDWARE_TWO_WHEEL_DRIVE_CAR_RUN = '%1 2WD car %2 %3 secs';
|
177
|
+
Blockly.Msg.BLOCKS_HARDWARE_TWO_WHEEL_DRIVE_CAR_COMMANDS_FORWARD = 'forward';
|
178
|
+
Blockly.Msg.BLOCKS_HARDWARE_TWO_WHEEL_DRIVE_CAR_COMMANDS_BACKWARD = 'backward';
|
179
|
+
Blockly.Msg.BLOCKS_HARDWARE_TWO_WHEEL_DRIVE_CAR_COMMANDS_TURN_LEFT = 'turn left';
|
180
|
+
Blockly.Msg.BLOCKS_HARDWARE_TWO_WHEEL_DRIVE_CAR_COMMANDS_TURN_RIGHT = 'turn right';
|
181
|
+
Blockly.Msg.BLOCKS_HARDWARE_TWO_WHEEL_DRIVE_CAR_COMMANDS_STOP = 'stop';
|
182
|
+
Blockly.Msg.BLOCKS_HARDWARE_TWO_WHEEL_DRIVE_CAR_SET_SPEED = "set 2WD car %1 's %2 motor speed to %3 %";
|
183
|
+
Blockly.Msg.BLOCKS_HARDWARE_TWO_WHEEL_DRIVE_CAR_SPEED = "2WD car %1 's %2 motor speed (%)";
|
184
|
+
Blockly.Msg.BLOCKS_HARDWARE_MOTOR_DRIVER_FORWARD = 'forward';
|
185
|
+
Blockly.Msg.BLOCKS_HARDWARE_MOTOR_DRIVER_BACKWARD = 'backward';
|
186
|
+
Blockly.Msg.BLOCKS_HARDWARE_MOTOR_DRIVER_STOP = 'stop';
|
187
|
+
Blockly.Msg.BLOCKS_HARDWARE_MOTOR_DRIVER = "%2 (motor driver %1's) motor";
|
188
|
+
Blockly.Msg.BLOCKS_HARDWARE_MOTOR_DRIVER_SET_SPEED = "set (motor driver %1's) motor speed to %2 %";
|
189
|
+
Blockly.Msg.BLOCKS_HARDWARE_MOTOR_DRIVER_SPEED = "(motor driver %1's) motor speed (%)";
|
190
|
+
Blockly.Msg.BLOCKS_HARDWARE_BUTTON_DOWN_OR_UP = 'button %1 %2';
|
191
|
+
Blockly.Msg.BLOCKS_HARDWARE_ON_BUTTON_DOWN_OR_UP = 'when button %1 %2';
|
192
|
+
Blockly.Msg.BLOCKS_HARDWARE_BUTTON_NOT_USE_PULLUP = "don't use button %1's pull-up resistor";
|
193
|
+
Blockly.Msg.BLOCKS_HARDWARE_SENSOR_VALUE = 'sensor %1 value';
|
194
|
+
Blockly.Msg.BLOCKS_HARDWARE_ON_SENSOR_CHANGE = 'when sensor %1 value changed';
|
195
|
+
|
196
|
+
|
197
|
+
// blocks/operators.js.coffee.erb
|
198
|
+
Blockly.Msg.BLOCKS_OPERATORS_ADD = '%1 + %2';
|
199
|
+
Blockly.Msg.BLOCKS_OPERATORS_MINUS = '%1 - %2';
|
200
|
+
Blockly.Msg.BLOCKS_OPERATORS_MULTIPLY = '%1 * %2';
|
201
|
+
Blockly.Msg.BLOCKS_OPERATORS_DIVIDE = '%1 / %2';
|
202
|
+
Blockly.Msg.BLOCKS_OPERATORS_COMPARE_LT = '%1 < %2';
|
203
|
+
Blockly.Msg.BLOCKS_OPERATORS_COMPARE_LTE = '%1 <= %2';
|
204
|
+
Blockly.Msg.BLOCKS_OPERATORS_COMPARE_EQ = '%1 = %2';
|
205
|
+
Blockly.Msg.BLOCKS_OPERATORS_COMPARE_GTE = '%1 >= %2';
|
206
|
+
Blockly.Msg.BLOCKS_OPERATORS_COMPARE_GT = '%1 > %2';
|
207
|
+
Blockly.Msg.BLOCKS_OPERATORS_RAND = 'pick random %1 to %2';
|
208
|
+
Blockly.Msg.BLOCKS_OPERATORS_AND = '%1 and %2';
|
209
|
+
Blockly.Msg.BLOCKS_OPERATORS_OR = '%1 or %2';
|
210
|
+
Blockly.Msg.BLOCKS_OPERATORS_NOT = 'not %1';
|
211
|
+
Blockly.Msg.BLOCKS_OPERATORS_INDEX_OF = 'letter %1 of %2';
|
212
|
+
Blockly.Msg.BLOCKS_OPERATORS_LENGTH = 'length of %1';
|
213
|
+
Blockly.Msg.BLOCKS_OPERATORS_MODULO = '%1 mod %2';
|
214
|
+
Blockly.Msg.BLOCKS_OPERATORS_ROUND = 'round %1';
|
215
|
+
Blockly.Msg.BLOCKS_OPERATORS_MATH_METHOD = '%1 of %2';
|
216
|
+
Blockly.Msg.BLOCKS_OPERATORS_MATH_METHOD_ABS = 'abs';
|
217
|
+
Blockly.Msg.BLOCKS_OPERATORS_MATH_METHOD_FLOOR = 'floor';
|
218
|
+
Blockly.Msg.BLOCKS_OPERATORS_MATH_METHOD_CEIL = 'ceiling';
|
219
|
+
Blockly.Msg.BLOCKS_OPERATORS_MATH_METHOD_SQRT = 'sqrt';
|
220
|
+
Blockly.Msg.BLOCKS_OPERATORS_MATH_METHOD_SIN = 'sin';
|
221
|
+
Blockly.Msg.BLOCKS_OPERATORS_MATH_METHOD_COS = 'cos';
|
222
|
+
Blockly.Msg.BLOCKS_OPERATORS_MATH_METHOD_TAN = 'tan';
|
223
|
+
Blockly.Msg.BLOCKS_OPERATORS_MATH_METHOD_ASIN = 'asin';
|
224
|
+
Blockly.Msg.BLOCKS_OPERATORS_MATH_METHOD_ACOS = 'acos';
|
225
|
+
Blockly.Msg.BLOCKS_OPERATORS_MATH_METHOD_ATAN = 'atan';
|
226
|
+
Blockly.Msg.BLOCKS_OPERATORS_MATH_METHOD_LN = 'ln';
|
227
|
+
Blockly.Msg.BLOCKS_OPERATORS_MATH_METHOD_LOG = 'log';
|
228
|
+
Blockly.Msg.BLOCKS_OPERATORS_MATH_METHOD_E_SQUARE = 'e ^';
|
229
|
+
Blockly.Msg.BLOCKS_OPERATORS_MATH_METHOD_10_SQUARE = '10 ^';
|
230
|
+
Blockly.Msg.BLOCKS_OPERATORS_TRUE = 'true';
|
231
|
+
Blockly.Msg.BLOCKS_OPERATORS_FALSE = 'false';
|
232
|
+
|
233
|
+
// blocks/pen.js.coffee.erb
|
234
|
+
Blockly.Msg.BLOCKS_PEN_DOWN_PEN = 'pen down';
|
235
|
+
Blockly.Msg.BLOCKS_PEN_UP_PEN = 'pen up';
|
236
|
+
Blockly.Msg.BLOCKS_PEN_SET_PEN_COLOR = 'set pen color to %1';
|