smalruby-editor 0.1.24-x86-mingw32 → 0.2.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/Guardfile +9 -0
- data/app/assets/javascripts/blocks/hardware.js.coffee.erb +147 -62
- data/app/assets/javascripts/blocks/sensing.js.coffee.erb +4 -0
- data/app/assets/javascripts/msg/en_us.js +34 -12
- data/app/assets/javascripts/msg/ja.js +35 -15
- data/app/helpers/editor_helper.rb +2 -1
- data/app/models/concerns/ruby_to_block/block/{hardware_button_down_or_up.rb → hardware_button_pressed_or_released.rb} +3 -3
- data/app/models/concerns/ruby_to_block/block/{hardware_led_on.rb → hardware_led_turn_off.rb} +2 -2
- data/app/models/concerns/ruby_to_block/block/{hardware_led_off.rb → hardware_led_turn_on.rb} +2 -2
- data/app/models/concerns/ruby_to_block/block/hardware_operation.rb +2 -0
- data/app/models/concerns/ruby_to_block/block/{hardware_rgb_led_on.rb → hardware_rgb_led_set_color.rb} +2 -2
- data/app/models/concerns/ruby_to_block/block/{hardware_rgb_led_off.rb → hardware_rgb_led_turn_off.rb} +2 -2
- data/app/models/concerns/ruby_to_block/block/hardware_smalrubot_v3_action.rb +22 -0
- data/app/models/concerns/ruby_to_block/block/hardware_smalrubot_v3_action_with_sec.rb +24 -0
- data/app/models/concerns/ruby_to_block/block/hardware_smalrubot_v3_led_turn_on_or_off.rb +22 -0
- data/app/models/concerns/ruby_to_block/block/hardware_smalrubot_v3_light_sensor_value.rb +28 -0
- data/app/models/concerns/ruby_to_block/block/hardware_smalrubot_v3_touch_sensor_pressed_or_released.rb +29 -0
- data/app/models/concerns/ruby_to_block/block/hardware_two_wheel_drive_car_commands.rb +3 -1
- data/app/views/editor/_toolbox.html.haml +30 -17
- data/app/views/layouts/application.html.erb +3 -1
- data/config/locales/en.yml +1 -0
- data/config/locales/ja.yml +1 -0
- data/lib/smalruby_editor/blockly_message_helper.rb +2 -1
- data/lib/smalruby_editor/version.rb +1 -1
- data/lib/tasks/release.rake +0 -0
- data/public/assets/{application-fda71a642d958ffbaf90185c471d6e51.js → application-b305a6ea9e7c045a8e170bbf6fb09dd1.js} +3 -3
- data/public/assets/{application-fda71a642d958ffbaf90185c471d6e51.js.gz → application-b305a6ea9e7c045a8e170bbf6fb09dd1.js.gz} +0 -0
- data/public/assets/{manifest-1a9856df207640ec658271db34b30dbb.json → manifest-ebd584fa603a378faf780f013e6a447d.json} +1 -1
- data/public/assets/msg/en_us-c6f8f0084f38560bf933b742ede64a52.js +1 -0
- data/public/assets/msg/en_us-c6f8f0084f38560bf933b742ede64a52.js.gz +0 -0
- data/public/assets/msg/ja-3703e6ceebd04ae1f08b0e871800539d.js +1 -0
- data/public/assets/msg/ja-3703e6ceebd04ae1f08b0e871800539d.js.gz +0 -0
- data/smalruby-editor.gemspec +1 -1
- data/spec/acceptance/block_mode/blocks/hardware/{button_down_or_up.feature → button_pressed_or_released.feature} +15 -15
- data/spec/acceptance/block_mode/blocks/hardware/led_turn_off.feature +67 -0
- data/spec/acceptance/block_mode/blocks/hardware/led_turn_on.feature +67 -0
- data/spec/acceptance/block_mode/blocks/hardware/rgb_led_set_color.feature +79 -0
- data/spec/acceptance/block_mode/blocks/hardware/{button_not_use_pullup.feature → rgb_led_turn_off.feature} +30 -18
- data/spec/acceptance/block_mode/blocks/hardware/smalrubot_v3_action.feature +107 -0
- data/spec/acceptance/block_mode/blocks/hardware/smalrubot_v3_action_with_sec.feature +151 -0
- data/spec/acceptance/block_mode/blocks/hardware/smalrubot_v3_led_turn_on_or_off.feature +73 -0
- data/spec/acceptance/block_mode/blocks/hardware/smalrubot_v3_light_sensor_value.feature +92 -0
- data/spec/acceptance/block_mode/blocks/hardware/smalrubot_v3_motor_speed.feature +116 -0
- data/spec/acceptance/block_mode/blocks/hardware/smalrubot_v3_touch_sensor_pressed_or_released.feature +108 -0
- data/spec/models/concerns/ruby_to_block/block/hardware_spec.rb +359 -36
- data/spec/models/concerns/ruby_to_block_spec.rb +8 -8
- data/spec/steps/block_mode_steps.rb +8 -0
- metadata +43 -35
- data/app/models/concerns/ruby_to_block/block/hardware_button_not_use_pullup.rb +0 -18
- data/app/models/concerns/ruby_to_block/block/hardware_on_button_down_or_up.rb +0 -19
- data/app/models/concerns/ruby_to_block/block/hardware_on_sensor_change.rb +0 -17
- data/public/assets/msg/en_us-893d970ff8061fbe7459f009582c4df5.js +0 -1
- data/public/assets/msg/en_us-893d970ff8061fbe7459f009582c4df5.js.gz +0 -0
- data/public/assets/msg/ja-4d22bd0341f464f9d1b9f373121bce6d.js +0 -1
- data/public/assets/msg/ja-4d22bd0341f464f9d1b9f373121bce6d.js.gz +0 -0
- data/spec/acceptance/block_mode/blocks/hardware/led_off.feature +0 -75
- data/spec/acceptance/block_mode/blocks/hardware/led_on.feature +0 -75
- data/spec/acceptance/block_mode/blocks/hardware/on_button_down_or_up.feature +0 -87
- data/spec/acceptance/block_mode/blocks/hardware/on_sensor_change.feature +0 -81
- data/spec/acceptance/block_mode/blocks/hardware/rgb_led_off.feature +0 -81
- data/spec/acceptance/block_mode/blocks/hardware/rgb_led_on.feature +0 -87
@@ -423,13 +423,13 @@ frog1 = Character.new(costume: "frog1.png", x: 261, y: 191, angle: 0)
|
|
423
423
|
|
424
424
|
frog1.on(:click) do
|
425
425
|
say(message: "ライトをぴかっとさせるでよ♪")
|
426
|
-
rgb_led_anode("D3").
|
426
|
+
rgb_led_anode("D3").color = [51, 51, 255]
|
427
427
|
sleep(1)
|
428
|
-
rgb_led_anode("D3").
|
428
|
+
rgb_led_anode("D3").color = [255, 255, 153]
|
429
429
|
sleep(1)
|
430
|
-
rgb_led_anode("D3").
|
430
|
+
rgb_led_anode("D3").color = [255, 0, 0]
|
431
431
|
sleep(1)
|
432
|
-
rgb_led_anode("D3").
|
432
|
+
rgb_led_anode("D3").turn_off
|
433
433
|
say(message: "")
|
434
434
|
end
|
435
435
|
EOS
|
@@ -453,7 +453,7 @@ end
|
|
453
453
|
</block>
|
454
454
|
</value>
|
455
455
|
<next>
|
456
|
-
<block type="
|
456
|
+
<block type="hardware_rgb_led_set_color">
|
457
457
|
<field name="AC">anode</field>
|
458
458
|
<field name="PIN">D3</field>
|
459
459
|
<field name="COLOUR">#3333ff</field>
|
@@ -465,7 +465,7 @@ end
|
|
465
465
|
</block>
|
466
466
|
</value>
|
467
467
|
<next>
|
468
|
-
<block type="
|
468
|
+
<block type="hardware_rgb_led_set_color">
|
469
469
|
<field name="AC">anode</field>
|
470
470
|
<field name="PIN">D3</field>
|
471
471
|
<field name="COLOUR">#ffff99</field>
|
@@ -477,7 +477,7 @@ end
|
|
477
477
|
</block>
|
478
478
|
</value>
|
479
479
|
<next>
|
480
|
-
<block type="
|
480
|
+
<block type="hardware_rgb_led_set_color">
|
481
481
|
<field name="AC">anode</field>
|
482
482
|
<field name="PIN">D3</field>
|
483
483
|
<field name="COLOUR">#ff0000</field>
|
@@ -489,7 +489,7 @@ end
|
|
489
489
|
</block>
|
490
490
|
</value>
|
491
491
|
<next>
|
492
|
-
<block type="
|
492
|
+
<block type="hardware_rgb_led_turn_off">
|
493
493
|
<field name="AC">anode</field>
|
494
494
|
<field name="PIN">D3</field>
|
495
495
|
<next>
|
@@ -50,6 +50,14 @@ step '次のキャラクターを追加する:' do |table|
|
|
50
50
|
end
|
51
51
|
end
|
52
52
|
|
53
|
+
step 'キャラクターcar1を追加する' do
|
54
|
+
table = Turnip::Table.new([
|
55
|
+
%w(name costumes x y angle),
|
56
|
+
%w(car1 car1.png 0 0 0),
|
57
|
+
])
|
58
|
+
step '次のキャラクターを追加する:', table
|
59
|
+
end
|
60
|
+
|
53
61
|
step '次のXMLと同等のブロックが配置されていること:' do |xml|
|
54
62
|
expect(page.evaluate_script('Smalruby.dumpXml()')).to eq(xml)
|
55
63
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: smalruby-editor
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: x86-mingw32
|
6
6
|
authors:
|
7
7
|
- Kouji Takao
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-01-
|
11
|
+
date: 2015-01-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -184,14 +184,14 @@ dependencies:
|
|
184
184
|
requirements:
|
185
185
|
- - "~>"
|
186
186
|
- !ruby/object:Gem::Version
|
187
|
-
version: 0.
|
187
|
+
version: 0.1.1
|
188
188
|
type: :runtime
|
189
189
|
prerelease: false
|
190
190
|
version_requirements: !ruby/object:Gem::Requirement
|
191
191
|
requirements:
|
192
192
|
- - "~>"
|
193
193
|
- !ruby/object:Gem::Version
|
194
|
-
version: 0.
|
194
|
+
version: 0.1.1
|
195
195
|
- !ruby/object:Gem::Dependency
|
196
196
|
name: bundler
|
197
197
|
requirement: !ruby/object:Gem::Requirement
|
@@ -316,20 +316,22 @@ files:
|
|
316
316
|
- app/models/concerns/ruby_to_block/block/events_on_click.rb
|
317
317
|
- app/models/concerns/ruby_to_block/block/events_on_key_push_or_down.rb
|
318
318
|
- app/models/concerns/ruby_to_block/block/events_on_start.rb
|
319
|
-
- app/models/concerns/ruby_to_block/block/
|
320
|
-
- app/models/concerns/ruby_to_block/block/hardware_button_not_use_pullup.rb
|
319
|
+
- app/models/concerns/ruby_to_block/block/hardware_button_pressed_or_released.rb
|
321
320
|
- app/models/concerns/ruby_to_block/block/hardware_init_hardware.rb
|
322
|
-
- app/models/concerns/ruby_to_block/block/
|
323
|
-
- app/models/concerns/ruby_to_block/block/
|
321
|
+
- app/models/concerns/ruby_to_block/block/hardware_led_turn_off.rb
|
322
|
+
- app/models/concerns/ruby_to_block/block/hardware_led_turn_on.rb
|
324
323
|
- app/models/concerns/ruby_to_block/block/hardware_motor_driver.rb
|
325
324
|
- app/models/concerns/ruby_to_block/block/hardware_motor_driver_set_speed.rb
|
326
325
|
- app/models/concerns/ruby_to_block/block/hardware_motor_driver_speed.rb
|
327
|
-
- app/models/concerns/ruby_to_block/block/hardware_on_button_down_or_up.rb
|
328
|
-
- app/models/concerns/ruby_to_block/block/hardware_on_sensor_change.rb
|
329
326
|
- app/models/concerns/ruby_to_block/block/hardware_operation.rb
|
330
|
-
- app/models/concerns/ruby_to_block/block/
|
331
|
-
- app/models/concerns/ruby_to_block/block/
|
327
|
+
- app/models/concerns/ruby_to_block/block/hardware_rgb_led_set_color.rb
|
328
|
+
- app/models/concerns/ruby_to_block/block/hardware_rgb_led_turn_off.rb
|
332
329
|
- app/models/concerns/ruby_to_block/block/hardware_sensor_value.rb
|
330
|
+
- app/models/concerns/ruby_to_block/block/hardware_smalrubot_v3_action.rb
|
331
|
+
- app/models/concerns/ruby_to_block/block/hardware_smalrubot_v3_action_with_sec.rb
|
332
|
+
- app/models/concerns/ruby_to_block/block/hardware_smalrubot_v3_led_turn_on_or_off.rb
|
333
|
+
- app/models/concerns/ruby_to_block/block/hardware_smalrubot_v3_light_sensor_value.rb
|
334
|
+
- app/models/concerns/ruby_to_block/block/hardware_smalrubot_v3_touch_sensor_pressed_or_released.rb
|
333
335
|
- app/models/concerns/ruby_to_block/block/hardware_two_wheel_drive_car.rb
|
334
336
|
- app/models/concerns/ruby_to_block/block/hardware_two_wheel_drive_car_commands.rb
|
335
337
|
- app/models/concerns/ruby_to_block/block/hardware_two_wheel_drive_car_run.rb
|
@@ -440,10 +442,10 @@ files:
|
|
440
442
|
- public/422.html
|
441
443
|
- public/500.html
|
442
444
|
- public/apple-touch-icon.png
|
445
|
+
- public/assets/application-b305a6ea9e7c045a8e170bbf6fb09dd1.js
|
446
|
+
- public/assets/application-b305a6ea9e7c045a8e170bbf6fb09dd1.js.gz
|
443
447
|
- public/assets/application-d5358d75a2c4e570c749b333c59b55ab.css
|
444
448
|
- public/assets/application-d5358d75a2c4e570c749b333c59b55ab.css.gz
|
445
|
-
- public/assets/application-fda71a642d958ffbaf90185c471d6e51.js
|
446
|
-
- public/assets/application-fda71a642d958ffbaf90185c471d6e51.js.gz
|
447
449
|
- public/assets/blockly/msg/js/en_us-6f7333af29688596ef863fa36a22cb41.js
|
448
450
|
- public/assets/blockly/msg/js/en_us-6f7333af29688596ef863fa36a22cb41.js.gz
|
449
451
|
- public/assets/blockly/msg/js/ja-d2cbf808bda8180571bc5f39141a98fe.js
|
@@ -464,11 +466,11 @@ files:
|
|
464
466
|
- public/assets/jquery-ui/ui-icons_888888_256x240-ce584ffa171c3ea9a018cf0d7bec65c8.png
|
465
467
|
- public/assets/jquery-ui/ui-icons_cd0a0a_256x240-747e96029e8dedcabc224e5f7d1f2ede.png
|
466
468
|
- public/assets/loading-e77296be32d066d3e29d3bf9803fa417.gif
|
467
|
-
- public/assets/manifest-
|
468
|
-
- public/assets/msg/en_us-
|
469
|
-
- public/assets/msg/en_us-
|
470
|
-
- public/assets/msg/ja-
|
471
|
-
- public/assets/msg/ja-
|
469
|
+
- public/assets/manifest-ebd584fa603a378faf780f013e6a447d.json
|
470
|
+
- public/assets/msg/en_us-c6f8f0084f38560bf933b742ede64a52.js
|
471
|
+
- public/assets/msg/en_us-c6f8f0084f38560bf933b742ede64a52.js.gz
|
472
|
+
- public/assets/msg/ja-3703e6ceebd04ae1f08b0e871800539d.js
|
473
|
+
- public/assets/msg/ja-3703e6ceebd04ae1f08b0e871800539d.js.gz
|
472
474
|
- public/assets/progressbar-ee8fb1222f286f625bbf7332844a6a0c.gif
|
473
475
|
- public/blockly/media/1x1.gif
|
474
476
|
- public/blockly/media/click.mp3
|
@@ -538,19 +540,22 @@ files:
|
|
538
540
|
- spec/acceptance/block_mode/blocks/events/on_hit.feature
|
539
541
|
- spec/acceptance/block_mode/blocks/events/on_key_push_or_down.feature
|
540
542
|
- spec/acceptance/block_mode/blocks/events/on_start.feature
|
541
|
-
- spec/acceptance/block_mode/blocks/hardware/
|
542
|
-
- spec/acceptance/block_mode/blocks/hardware/button_not_use_pullup.feature
|
543
|
+
- spec/acceptance/block_mode/blocks/hardware/button_pressed_or_released.feature
|
543
544
|
- spec/acceptance/block_mode/blocks/hardware/init_hardware.feature
|
544
|
-
- spec/acceptance/block_mode/blocks/hardware/
|
545
|
-
- spec/acceptance/block_mode/blocks/hardware/
|
545
|
+
- spec/acceptance/block_mode/blocks/hardware/led_turn_off.feature
|
546
|
+
- spec/acceptance/block_mode/blocks/hardware/led_turn_on.feature
|
546
547
|
- spec/acceptance/block_mode/blocks/hardware/motor_driver.feature
|
547
548
|
- spec/acceptance/block_mode/blocks/hardware/motor_driver_speed.feature
|
548
|
-
- spec/acceptance/block_mode/blocks/hardware/
|
549
|
-
- spec/acceptance/block_mode/blocks/hardware/
|
550
|
-
- spec/acceptance/block_mode/blocks/hardware/rgb_led_off.feature
|
551
|
-
- spec/acceptance/block_mode/blocks/hardware/rgb_led_on.feature
|
549
|
+
- spec/acceptance/block_mode/blocks/hardware/rgb_led_set_color.feature
|
550
|
+
- spec/acceptance/block_mode/blocks/hardware/rgb_led_turn_off.feature
|
552
551
|
- spec/acceptance/block_mode/blocks/hardware/sensor_value.feature
|
553
552
|
- spec/acceptance/block_mode/blocks/hardware/servo_set_position.feature
|
553
|
+
- spec/acceptance/block_mode/blocks/hardware/smalrubot_v3_action.feature
|
554
|
+
- spec/acceptance/block_mode/blocks/hardware/smalrubot_v3_action_with_sec.feature
|
555
|
+
- spec/acceptance/block_mode/blocks/hardware/smalrubot_v3_led_turn_on_or_off.feature
|
556
|
+
- spec/acceptance/block_mode/blocks/hardware/smalrubot_v3_light_sensor_value.feature
|
557
|
+
- spec/acceptance/block_mode/blocks/hardware/smalrubot_v3_motor_speed.feature
|
558
|
+
- spec/acceptance/block_mode/blocks/hardware/smalrubot_v3_touch_sensor_pressed_or_released.feature
|
554
559
|
- spec/acceptance/block_mode/blocks/hardware/two_wheel_drive_car.feature
|
555
560
|
- spec/acceptance/block_mode/blocks/hardware/two_wheel_drive_car_speed.feature
|
556
561
|
- spec/acceptance/block_mode/blocks/looks/hide.feature
|
@@ -707,19 +712,22 @@ test_files:
|
|
707
712
|
- spec/acceptance/block_mode/blocks/events/on_hit.feature
|
708
713
|
- spec/acceptance/block_mode/blocks/events/on_key_push_or_down.feature
|
709
714
|
- spec/acceptance/block_mode/blocks/events/on_start.feature
|
710
|
-
- spec/acceptance/block_mode/blocks/hardware/
|
711
|
-
- spec/acceptance/block_mode/blocks/hardware/button_not_use_pullup.feature
|
715
|
+
- spec/acceptance/block_mode/blocks/hardware/button_pressed_or_released.feature
|
712
716
|
- spec/acceptance/block_mode/blocks/hardware/init_hardware.feature
|
713
|
-
- spec/acceptance/block_mode/blocks/hardware/
|
714
|
-
- spec/acceptance/block_mode/blocks/hardware/
|
717
|
+
- spec/acceptance/block_mode/blocks/hardware/led_turn_off.feature
|
718
|
+
- spec/acceptance/block_mode/blocks/hardware/led_turn_on.feature
|
715
719
|
- spec/acceptance/block_mode/blocks/hardware/motor_driver.feature
|
716
720
|
- spec/acceptance/block_mode/blocks/hardware/motor_driver_speed.feature
|
717
|
-
- spec/acceptance/block_mode/blocks/hardware/
|
718
|
-
- spec/acceptance/block_mode/blocks/hardware/
|
719
|
-
- spec/acceptance/block_mode/blocks/hardware/rgb_led_off.feature
|
720
|
-
- spec/acceptance/block_mode/blocks/hardware/rgb_led_on.feature
|
721
|
+
- spec/acceptance/block_mode/blocks/hardware/rgb_led_set_color.feature
|
722
|
+
- spec/acceptance/block_mode/blocks/hardware/rgb_led_turn_off.feature
|
721
723
|
- spec/acceptance/block_mode/blocks/hardware/sensor_value.feature
|
722
724
|
- spec/acceptance/block_mode/blocks/hardware/servo_set_position.feature
|
725
|
+
- spec/acceptance/block_mode/blocks/hardware/smalrubot_v3_action.feature
|
726
|
+
- spec/acceptance/block_mode/blocks/hardware/smalrubot_v3_action_with_sec.feature
|
727
|
+
- spec/acceptance/block_mode/blocks/hardware/smalrubot_v3_led_turn_on_or_off.feature
|
728
|
+
- spec/acceptance/block_mode/blocks/hardware/smalrubot_v3_light_sensor_value.feature
|
729
|
+
- spec/acceptance/block_mode/blocks/hardware/smalrubot_v3_motor_speed.feature
|
730
|
+
- spec/acceptance/block_mode/blocks/hardware/smalrubot_v3_touch_sensor_pressed_or_released.feature
|
723
731
|
- spec/acceptance/block_mode/blocks/hardware/two_wheel_drive_car.feature
|
724
732
|
- spec/acceptance/block_mode/blocks/hardware/two_wheel_drive_car_speed.feature
|
725
733
|
- spec/acceptance/block_mode/blocks/looks/hide.feature
|
@@ -1,18 +0,0 @@
|
|
1
|
-
module RubyToBlock
|
2
|
-
module Block
|
3
|
-
class HardwareButtonNotUsePullup < CharacterMethodCall
|
4
|
-
include HardwareOperation
|
5
|
-
|
6
|
-
blocknize '^\s*' + CHAR_RE +
|
7
|
-
'button\(' + DIO_PIN_RE + '\)\.not_use_pullup\s*$',
|
8
|
-
statement: true
|
9
|
-
|
10
|
-
def self.process_match_data(md, context)
|
11
|
-
md2 = regexp.match(md[type])
|
12
|
-
add_character_method_call_block(context, md2[1],
|
13
|
-
new(fields: { PIN: md2[2] }))
|
14
|
-
true
|
15
|
-
end
|
16
|
-
end
|
17
|
-
end
|
18
|
-
end
|
@@ -1,19 +0,0 @@
|
|
1
|
-
module RubyToBlock
|
2
|
-
module Block
|
3
|
-
class HardwareOnButtonDownOrUp < CharacterEvent
|
4
|
-
include HardwareOperation
|
5
|
-
|
6
|
-
blocknize '^\s*' + CHAR_RE +
|
7
|
-
'on\(:button_(down|up),' + DIO_PIN_RE + '\)\s+' +
|
8
|
-
'do\s*$',
|
9
|
-
statement: true, indent: true
|
10
|
-
|
11
|
-
def self.process_match_data(md, context)
|
12
|
-
md2 = regexp.match(md[type])
|
13
|
-
add_character_event_blocks(context, md2[1],
|
14
|
-
new(fields: { PIN: md2[3], DOU: md2[2] }))
|
15
|
-
true
|
16
|
-
end
|
17
|
-
end
|
18
|
-
end
|
19
|
-
end
|
@@ -1,17 +0,0 @@
|
|
1
|
-
module RubyToBlock
|
2
|
-
module Block
|
3
|
-
class HardwareOnSensorChange < CharacterEvent
|
4
|
-
# rubocop:disable LineLength
|
5
|
-
blocknize '^\s*' + CHAR_RE + 'on\(:sensor_change,\s*"(A[0-5])"\s*\)\s+do\s*$',
|
6
|
-
statement: true, indent: true
|
7
|
-
# rubocop:enable LineLength
|
8
|
-
|
9
|
-
def self.process_match_data(md, context)
|
10
|
-
md2 = regexp.match(md[type])
|
11
|
-
add_character_event_blocks(context, md2[1],
|
12
|
-
new(fields: { PIN: md2[2] }))
|
13
|
-
true
|
14
|
-
end
|
15
|
-
end
|
16
|
-
end
|
17
|
-
end
|
@@ -1 +0,0 @@
|
|
1
|
-
goog.provide("Blockly.Msg.en_us.smalruby"),goog.require("Blockly.Msg"),Blockly.Msg.VIEWS_MAIN_MENU_VIEW_COMMON_LINES=" Lines",Blockly.Msg.VIEWS_MAIN_MENU_VIEW_COMMON_LETTERS=" Letters",Blockly.Msg.VIEWS_MAIN_MENU_VIEW_COMMON_COMMA=", ",Blockly.Msg.VIEWS_MAIN_MENU_VIEW_BLOCK_MODE_BLOCKUI_TITLE="Converting Program",Blockly.Msg.VIEWS_MAIN_MENU_VIEW_BLOCK_MODE_BLOCKUI_MESSAGE="Converting your program to instruction blocks.",Blockly.Msg.VIEWS_MAIN_MENU_VIEW_BLOCK_MODE_ERROR="Can't convert your program to instruction blocks.",Blockly.Msg.VIEWS_MAIN_MENU_VIEW_RUN_BLOCKUI_TITLE="Running",Blockly.Msg.VIEWS_MAIN_MENU_VIEW_RUN_BLOCKUI_MESSAGE="Please switch your program's window.",Blockly.Msg.VIEWS_MAIN_MENU_VIEW_RUN_BLOCKUI_NOTICE="Running your program after save & check it.<br>Press ESC key to quit.",Blockly.Msg.VIEWS_MAIN_MENU_VIEW_RUN_ERROR_CANT_RUN="Can't run your program.",Blockly.Msg.VIEWS_MAIN_MENU_VIEW_RUN_ERROR_CANCEL_TO_RUN="Cancel to run your program.",Blockly.Msg.VIEWS_MAIN_MENU_VIEW_DOWNLOAD_BLOCKUI_TITLE="Downloading",Blockly.Msg.VIEWS_MAIN_MENU_VIEW_DOWNLOAD_BLOCKUI_MESSAGE="Downloading your program.",Blockly.Msg.BLOCKS_MOTION_MOVE="move %1 steps",Blockly.Msg.BLOCKS_MOTION_TURN_RIGHT_DEGREES="turn right %1 degrees",Blockly.Msg.BLOCKS_MOTION_TURN_LEFT_DEGREES="turn left %1 degrees",Blockly.Msg.BLOCKS_MOTION_POINT_IN_DIRECTION="point in direction %1",Blockly.Msg.BLOCKS_MOTION_POINT_TOWARDS_MOUSE="point towards mouse-pointer",Blockly.Msg.BLOCKS_MOTION_POINT_TOWARDS_CHARACTER="point towards",Blockly.Msg.BLOCKS_MOTION_SET_X_Y_X="go to x:",Blockly.Msg.BLOCKS_MOTION_SET_X_Y_Y="y:",Blockly.Msg.BLOCKS_MOTION_SET_X_Y_SUFFIX="",Blockly.Msg.BLOCKS_MOTION_GO_TO_MOUSE="go to mouse-pointer",Blockly.Msg.BLOCKS_MOTION_GO_TO_CHARACTER_PREFIX="go to ",Blockly.Msg.BLOCKS_MOTION_GO_TO_CHARACTER_SUFFIX="",Blockly.Msg.BLOCKS_MOTION_CHANGE_X_BY="change x by %1",Blockly.Msg.BLOCKS_MOTION_SET_X="set x to %1",Blockly.Msg.BLOCKS_MOTION_CHANGE_Y_BY="change y by %1",Blockly.Msg.BLOCKS_MOTION_SET_Y="set y to %1",Blockly.Msg.BLOCKS_MOTION_TURN_IF_REACH_WALL="if reach wall, turn",Blockly.Msg.BLOCKS_MOTION_TURN="turn",Blockly.Msg.BLOCKS_MOTION_TURN_XY_X="(x) horizontal",Blockly.Msg.BLOCKS_MOTION_TURN_XY_Y="(y) vertical",Blockly.Msg.BLOCKS_MOTION_TURN_XY_PREFIX="turn to ",Blockly.Msg.BLOCKS_MOTION_TURN_XY_SUFFIX="",Blockly.Msg.BLOCKS_MOTION_SET_ROTATION_STYLE_LEFT_RIGHT="left-right",Blockly.Msg.BLOCKS_MOTION_SET_ROTATION_STYLE_NONE="don't rorate",Blockly.Msg.BLOCKS_MOTION_SET_ROTATION_STYLE_FREE="all around",Blockly.Msg.BLOCKS_MOTION_SET_ROTATION_STYLE_PREFIX="set rotation style ",Blockly.Msg.BLOCKS_MOTION_SET_ROTATION_STYLE_SUFFIX="",Blockly.Msg.BLOCKS_MOTION_SELF_X="x position",Blockly.Msg.BLOCKS_MOTION_SELF_Y="y position",Blockly.Msg.BLOCKS_MOTION_SELF_ANGLE="direction",Blockly.Msg.BLOCKS_EVENTS_ON_START="when Run clicked",Blockly.Msg.BLOCKS_EVENTS_ON_KEY_PUSH_OR_DOWN_PREFIX="when ",Blockly.Msg.BLOCKS_EVENTS_ON_KEY_PUSH_OR_DOWN_MIDDLE=" key ",Blockly.Msg.BLOCKS_EVENTS_ON_KEY_PUSH_OR_DOWN_SUFFIX="",Blockly.Msg.BLOCKS_EVENTS_ON_CLICK="when this sprite clicked",Blockly.Msg.BLOCKS_EVENTS_ON_HIT_PREFIX="when ",Blockly.Msg.BLOCKS_EVENTS_ON_HIT_SUFFIX=" hit",Blockly.Msg.BLOCKS_SENSING_K_UP="up arrow",Blockly.Msg.BLOCKS_SENSING_K_DOWN="down arrow",Blockly.Msg.BLOCKS_SENSING_K_LEFT="left arrow",Blockly.Msg.BLOCKS_SENSING_K_RIGHT="right arrow",Blockly.Msg.BLOCKS_SENSING_K_SPACE="space",Blockly.Msg.BLOCKS_SENSING_PUSH="pressed?",Blockly.Msg.BLOCKS_SENSING_HOLD_DOWN="hold pressed?",Blockly.Msg.BLOCKS_SENSING_DOWN=Blockly.Msg.BLOCKS_SENSING_PUSH,Blockly.Msg.BLOCKS_SENSING_M_LBUTTON="left-button",Blockly.Msg.BLOCKS_SENSING_M_MBUTTON="middle-button",Blockly.Msg.BLOCKS_SENSING_M_RBUTTON="right-button",Blockly.Msg.BLOCKS_SENSING_UP="released?",Blockly.Msg.BLOCKS_SENSING_REACH_WALL="reach wall?",Blockly.Msg.BLOCKS_SENSING_INPUT_KEY_PUSH_OR_DOWN_PREFIX="key ",Blockly.Msg.BLOCKS_SENSING_INPUT_KEY_PUSH_OR_DOWN_MIDDLE=" ",Blockly.Msg.BLOCKS_SENSING_INPUT_KEY_PUSH_OR_DOWN_SUFFIX="",Blockly.Msg.BLOCKS_SENSING_INPUT_MOUSE_PUSH_OR_DOWN_PREFIX="mouse ",Blockly.Msg.BLOCKS_SENSING_INPUT_MOUSE_PUSH_OR_DOWN_MIDDLE=" ",Blockly.Msg.BLOCKS_SENSING_INPUT_MOUSE_PUSH_OR_DOWN_SUFFIX="",Blockly.Msg.BLOCKS_SENSING_INPUT_MOUSE_POS_X="mouse x",Blockly.Msg.BLOCKS_SENSING_INPUT_MOUSE_POS_Y="mouse y",Blockly.Msg.BLOCKS_SENSING_HIT_PREFIX="reach ",Blockly.Msg.BLOCKS_SENSING_HIT_SUFFIX="?",Blockly.Msg.BLOCKS_SENSING_CHARACTER_PROPERTY_X="x position",Blockly.Msg.BLOCKS_SENSING_CHARACTER_PROPERTY_Y="y position",Blockly.Msg.BLOCKS_SENSING_CHARACTER_PROPERTY_ANGLE="direction",Blockly.Msg.BLOCKS_SENSING_CHARACTER_PROPERTY_COSTUME_INDEX="costume #",Blockly.Msg.BLOCKS_SENSING_CHARACTER_PROPERTY_COSTUME="contume name",Blockly.Msg.BLOCKS_SENSING_CHARACTER_PROPERTY_SCALE="size",Blockly.Msg.BLOCKS_SENSING_CHARACTER_PROPERTY_VOLUME="volume",Blockly.Msg.BLOCKS_SENSING_CHARACTER_PROPERTY_MIDDLE=" of ",Blockly.Msg.BLOCKS_SENSING_TIME_NOW_YEAR="year",Blockly.Msg.BLOCKS_SENSING_TIME_NOW_MONTH="month",Blockly.Msg.BLOCKS_SENSING_TIME_NOW_DAY="day",Blockly.Msg.BLOCKS_SENSING_TIME_NOW_WDAY="day of week",Blockly.Msg.BLOCKS_SENSING_TIME_NOW_HOUR="hour",Blockly.Msg.BLOCKS_SENSING_TIME_NOW_MIN="min",Blockly.Msg.BLOCKS_SENSING_TIME_NOW_SEC="sec",Blockly.Msg.BLOCKS_SENSING_TIME_NOW="current ",Blockly.Msg.BLOCKS_CONTROL_SLEEP="wait %1 secs",Blockly.Msg.BLOCKS_CONTROL_LOOP="loop",Blockly.Msg.BLOCKS_CONTROL_LOOP_END="end of loop",Blockly.Msg.BLOCKS_CONTROL_BREAK="stop this loop",Blockly.Msg.BLOCKS_CONTROL_NEXT="next iteration of this loop",Blockly.Msg.BLOCKS_CONTROL_REDO="redo iteration of this loop",Blockly.Msg.BLOCKS_CONTROL_IF="if ",Blockly.Msg.BLOCKS_CONTROL_THEN=" then",Blockly.Msg.BLOCKS_CONTROL_ELSE="else",Blockly.Msg.BLOCKS_CONTROL_TIMES="repeat %1",Blockly.Msg.BLOCKS_CONTROL_AWAIT_UNTIL="wait until %1",Blockly.Msg.BLOCKS_CONTROL_UNTIL="repeat until %1",Blockly.Msg.BLOCKS_CONTROL_AWAIT="just wait a little",Blockly.Msg.BLOCKS_RUBY_STATEMENT="statement ",Blockly.Msg.BLOCKS_RUBY_EXPRESSION="expression ",Blockly.Msg.BLOCKS_RUBY_COMMENT="comment ",Blockly.Msg.BLOCKS_FIELD_CHARACTER_NO_CHARACTER="no character",Blockly.Msg.BLOCKS_SOUND_PRESET_SOUNDS_PIANO_DO="Middle C of piano",Blockly.Msg.BLOCKS_SOUND_PRESET_SOUNDS_PIANO_RE="D of piano",Blockly.Msg.BLOCKS_SOUND_PRESET_SOUNDS_PIANO_MI="E of piano",Blockly.Msg.BLOCKS_SOUND_PRESET_SOUNDS_PIANO_FA="F of piano",Blockly.Msg.BLOCKS_SOUND_PRESET_SOUNDS_PIANO_SO="G of piano",Blockly.Msg.BLOCKS_SOUND_PRESET_SOUNDS_PIANO_RA="A of piano",Blockly.Msg.BLOCKS_SOUND_PRESET_SOUNDS_PIANO_SI="B of piano",Blockly.Msg.BLOCKS_SOUND_PRESET_SOUNDS_PIANO_DO_2="High C of piano",Blockly.Msg.BLOCKS_SOUND_PLAY="play sound %1",Blockly.Msg.BLOCKS_LOOKS_SAY="say %1",Blockly.Msg.BLOCKS_LOOKS_THINK="think %1",Blockly.Msg.BLOCKS_LOOKS_SAY_WITH_SECOND="say %1 for %2 secs",Blockly.Msg.BLOCKS_LOOKS_THINK_WITH_SECOND="think %1 for %2 secs",Blockly.Msg.BLOCKS_LOOKS_SHOW="show",Blockly.Msg.BLOCKS_LOOKS_HIDE="hide",Blockly.Msg.BLOCKS_LOOKS_VANISH="vanish",Blockly.Msg.BLOCKS_HARDWARE_LED_ON="turn on LED %1",Blockly.Msg.BLOCKS_HARDWARE_LED_OFF="turn off LED %1",Blockly.Msg.BLOCKS_HARDWARE_ANODE="anode",Blockly.Msg.BLOCKS_HARDWARE_CATHODE="cathode",Blockly.Msg.BLOCKS_HARDWARE_LEFT="left",Blockly.Msg.BLOCKS_HARDWARE_RIGHT="right",Blockly.Msg.BLOCKS_HARDWARE_INIT_HARDWARE="setup hardware",Blockly.Msg.BLOCKS_HARDWARE_RGB_LED_ON="set RGB LED %1 common %2 color to %3",Blockly.Msg.BLOCKS_HARDWARE_RGB_LED_OFF="turn off RGB LED %1 common %2",Blockly.Msg.BLOCKS_HARDWARE_SEVEN_SEGMENT_DISPLAY_SHOW="show 7 segment display %1",Blockly.Msg.BLOCKS_HARDWARE_SEVEN_SEGMENT_DISPLAY_OFF="turn off 7 segment display",Blockly.Msg.BLOCKS_HARDWARE_LCD_PUTS="display %1 on the LCD",Blockly.Msg.BLOCKS_HARDWARE_LCD_CLEAR="clear LCD",Blockly.Msg.BLOCKS_HARDWARE_SERVO_SET_POSITION="servo motor %1 set %2 degree (5-180)",Blockly.Msg.BLOCKS_HARDWARE_TWO_WHEEL_DRIVE_CAR_FORWARD="forward 2WD car %1",Blockly.Msg.BLOCKS_HARDWARE_TWO_WHEEL_DRIVE_CAR_BACKWARD="backward 2WD car %1",Blockly.Msg.BLOCKS_HARDWARE_TWO_WHEEL_DRIVE_CAR_TURN_LEFT="turn left 2WD car %1",Blockly.Msg.BLOCKS_HARDWARE_TWO_WHEEL_DRIVE_CAR_TURN_RIGHT="turn right 2WD car %1",Blockly.Msg.BLOCKS_HARDWARE_TWO_WHEEL_DRIVE_CAR_STOP="stop 2WD car %1",Blockly.Msg.BLOCKS_HARDWARE_TWO_WHEEL_DRIVE_CAR_RUN="%1 2WD car %2 %3 secs",Blockly.Msg.BLOCKS_HARDWARE_TWO_WHEEL_DRIVE_CAR_COMMANDS_FORWARD="forward",Blockly.Msg.BLOCKS_HARDWARE_TWO_WHEEL_DRIVE_CAR_COMMANDS_BACKWARD="backward",Blockly.Msg.BLOCKS_HARDWARE_TWO_WHEEL_DRIVE_CAR_COMMANDS_TURN_LEFT="turn left",Blockly.Msg.BLOCKS_HARDWARE_TWO_WHEEL_DRIVE_CAR_COMMANDS_TURN_RIGHT="turn right",Blockly.Msg.BLOCKS_HARDWARE_TWO_WHEEL_DRIVE_CAR_COMMANDS_STOP="stop",Blockly.Msg.BLOCKS_HARDWARE_TWO_WHEEL_DRIVE_CAR_SET_SPEED="set 2WD car %1 's %2 motor speed to %3 %",Blockly.Msg.BLOCKS_HARDWARE_TWO_WHEEL_DRIVE_CAR_SPEED="2WD car %1 's %2 motor speed (%)",Blockly.Msg.BLOCKS_HARDWARE_MOTOR_DRIVER_FORWARD="forward",Blockly.Msg.BLOCKS_HARDWARE_MOTOR_DRIVER_BACKWARD="backward",Blockly.Msg.BLOCKS_HARDWARE_MOTOR_DRIVER_STOP="stop",Blockly.Msg.BLOCKS_HARDWARE_MOTOR_DRIVER="%2 (motor driver %1's) motor",Blockly.Msg.BLOCKS_HARDWARE_MOTOR_DRIVER_SET_SPEED="set (motor driver %1's) motor speed to %2 %",Blockly.Msg.BLOCKS_HARDWARE_MOTOR_DRIVER_SPEED="(motor driver %1's) motor speed (%)",Blockly.Msg.BLOCKS_HARDWARE_BUTTON_DOWN_OR_UP="button %1 %2",Blockly.Msg.BLOCKS_HARDWARE_ON_BUTTON_DOWN_OR_UP="when button %1 %2",Blockly.Msg.BLOCKS_HARDWARE_BUTTON_NOT_USE_PULLUP="don't use button %1's pull-up resistor",Blockly.Msg.BLOCKS_HARDWARE_SENSOR_VALUE="sensor %1 value",Blockly.Msg.BLOCKS_HARDWARE_ON_SENSOR_CHANGE="when sensor %1 value changed",Blockly.Msg.BLOCKS_OPERATORS_ADD="%1 + %2",Blockly.Msg.BLOCKS_OPERATORS_MINUS="%1 - %2",Blockly.Msg.BLOCKS_OPERATORS_MULTIPLY="%1 * %2",Blockly.Msg.BLOCKS_OPERATORS_DIVIDE="%1 / %2",Blockly.Msg.BLOCKS_OPERATORS_COMPARE_LT="%1 < %2",Blockly.Msg.BLOCKS_OPERATORS_COMPARE_LTE="%1 <= %2",Blockly.Msg.BLOCKS_OPERATORS_COMPARE_EQ="%1 = %2",Blockly.Msg.BLOCKS_OPERATORS_COMPARE_GTE="%1 >= %2",Blockly.Msg.BLOCKS_OPERATORS_COMPARE_GT="%1 > %2",Blockly.Msg.BLOCKS_OPERATORS_RAND="pick random %1 to %2",Blockly.Msg.BLOCKS_OPERATORS_AND="%1 and %2",Blockly.Msg.BLOCKS_OPERATORS_OR="%1 or %2",Blockly.Msg.BLOCKS_OPERATORS_NOT="not %1",Blockly.Msg.BLOCKS_OPERATORS_INDEX_OF="letter %1 of %2",Blockly.Msg.BLOCKS_OPERATORS_LENGTH="length of %1",Blockly.Msg.BLOCKS_OPERATORS_MODULO="%1 mod %2",Blockly.Msg.BLOCKS_OPERATORS_ROUND="round %1",Blockly.Msg.BLOCKS_OPERATORS_MATH_METHOD="%1 of %2",Blockly.Msg.BLOCKS_OPERATORS_MATH_METHOD_ABS="abs",Blockly.Msg.BLOCKS_OPERATORS_MATH_METHOD_FLOOR="floor",Blockly.Msg.BLOCKS_OPERATORS_MATH_METHOD_CEIL="ceiling",Blockly.Msg.BLOCKS_OPERATORS_MATH_METHOD_SQRT="sqrt",Blockly.Msg.BLOCKS_OPERATORS_MATH_METHOD_SIN="sin",Blockly.Msg.BLOCKS_OPERATORS_MATH_METHOD_COS="cos",Blockly.Msg.BLOCKS_OPERATORS_MATH_METHOD_TAN="tan",Blockly.Msg.BLOCKS_OPERATORS_MATH_METHOD_ASIN="asin",Blockly.Msg.BLOCKS_OPERATORS_MATH_METHOD_ACOS="acos",Blockly.Msg.BLOCKS_OPERATORS_MATH_METHOD_ATAN="atan",Blockly.Msg.BLOCKS_OPERATORS_MATH_METHOD_LN="ln",Blockly.Msg.BLOCKS_OPERATORS_MATH_METHOD_LOG="log",Blockly.Msg.BLOCKS_OPERATORS_MATH_METHOD_E_SQUARE="e ^",Blockly.Msg.BLOCKS_OPERATORS_MATH_METHOD_10_SQUARE="10 ^",Blockly.Msg.BLOCKS_OPERATORS_TRUE="true",Blockly.Msg.BLOCKS_OPERATORS_FALSE="false",Blockly.Msg.BLOCKS_PEN_DOWN_PEN="pen down",Blockly.Msg.BLOCKS_PEN_UP_PEN="pen up",Blockly.Msg.BLOCKS_PEN_SET_PEN_COLOR="set pen color to %1";
|
Binary file
|
@@ -1 +0,0 @@
|
|
1
|
-
goog.provide("Blockly.Msg.ja.smalruby"),goog.require("Blockly.Msg"),Blockly.Msg.VIEWS_MAIN_MENU_VIEW_COMMON_LINES="行",Blockly.Msg.VIEWS_MAIN_MENU_VIEW_COMMON_LETTERS="文字",Blockly.Msg.VIEWS_MAIN_MENU_VIEW_COMMON_COMMA="、",Blockly.Msg.VIEWS_MAIN_MENU_VIEW_BLOCK_MODE_BLOCKUI_TITLE="プログラムの変換中",Blockly.Msg.VIEWS_MAIN_MENU_VIEW_BLOCK_MODE_BLOCKUI_MESSAGE="プログラムをブロックに変換しています。",Blockly.Msg.VIEWS_MAIN_MENU_VIEW_BLOCK_MODE_ERROR="ブロックへの変換に失敗しました",Blockly.Msg.VIEWS_MAIN_MENU_VIEW_RUN_BLOCKUI_TITLE="プログラムの実行中",Blockly.Msg.VIEWS_MAIN_MENU_VIEW_RUN_BLOCKUI_MESSAGE="プログラムの画面に切り替えてください。",Blockly.Msg.VIEWS_MAIN_MENU_VIEW_RUN_BLOCKUI_NOTICE="プログラムをセーブ・チェックしてから実行するよ♪<br>Escキーを押すとプログラムが終わります。",Blockly.Msg.VIEWS_MAIN_MENU_VIEW_RUN_ERROR_CANT_RUN="プログラムを実行できませんでした",Blockly.Msg.VIEWS_MAIN_MENU_VIEW_RUN_ERROR_CANCEL_TO_RUN="プログラムの実行をキャンセルしました",Blockly.Msg.VIEWS_MAIN_MENU_VIEW_DOWNLOAD_BLOCKUI_TITLE="プログラムのダウンロード中",Blockly.Msg.VIEWS_MAIN_MENU_VIEW_DOWNLOAD_BLOCKUI_MESSAGE="プログラムをダウンロードしています。",Blockly.Msg.BLOCKS_MOTION_MOVE="%1歩動かす",Blockly.Msg.BLOCKS_MOTION_TURN_RIGHT_DEGREES="時計回りに%1度回す",Blockly.Msg.BLOCKS_MOTION_TURN_LEFT_DEGREES="反時計回りに%1度回す",Blockly.Msg.BLOCKS_MOTION_POINT_IN_DIRECTION="%1度に向ける",Blockly.Msg.BLOCKS_MOTION_POINT_TOWARDS_MOUSE="マウスポインターへ向ける",Blockly.Msg.BLOCKS_MOTION_POINT_TOWARDS_CHARACTER="へ向ける",Blockly.Msg.BLOCKS_MOTION_SET_X_Y_X="x座標を",Blockly.Msg.BLOCKS_MOTION_SET_X_Y_Y="、y座標を",Blockly.Msg.BLOCKS_MOTION_SET_X_Y_SUFFIX="にする",Blockly.Msg.BLOCKS_MOTION_GO_TO_MOUSE="マウスポインターへ行く",Blockly.Msg.BLOCKS_MOTION_GO_TO_CHARACTER_PREFIX="",Blockly.Msg.BLOCKS_MOTION_GO_TO_CHARACTER_SUFFIX="へ行く",Blockly.Msg.BLOCKS_MOTION_CHANGE_X_BY="x座標を%1ずつ変える",Blockly.Msg.BLOCKS_MOTION_SET_X="x座標を%1にする",Blockly.Msg.BLOCKS_MOTION_CHANGE_Y_BY="y座標を%1ずつ変える",Blockly.Msg.BLOCKS_MOTION_SET_Y="y座標を%1にする",Blockly.Msg.BLOCKS_MOTION_TURN_IF_REACH_WALL="もし端に着いたら、跳ね返る",Blockly.Msg.BLOCKS_MOTION_TURN="跳ね返る",Blockly.Msg.BLOCKS_MOTION_TURN_XY_X="水平(x)",Blockly.Msg.BLOCKS_MOTION_TURN_XY_Y="垂直(y)",Blockly.Msg.BLOCKS_MOTION_TURN_XY_PREFIX="",Blockly.Msg.BLOCKS_MOTION_TURN_XY_SUFFIX="方向に跳ね返る",Blockly.Msg.BLOCKS_MOTION_SET_ROTATION_STYLE_LEFT_RIGHT="左右のみ",Blockly.Msg.BLOCKS_MOTION_SET_ROTATION_STYLE_NONE="回転しない",Blockly.Msg.BLOCKS_MOTION_SET_ROTATION_STYLE_FREE="自由に回転",Blockly.Msg.BLOCKS_MOTION_SET_ROTATION_STYLE_PREFIX="回転方法を",Blockly.Msg.BLOCKS_MOTION_SET_ROTATION_STYLE_SUFFIX="にする",Blockly.Msg.BLOCKS_MOTION_SELF_X="x座標",Blockly.Msg.BLOCKS_MOTION_SELF_Y="y座標",Blockly.Msg.BLOCKS_MOTION_SELF_ANGLE="向き",Blockly.Msg.BLOCKS_EVENTS_ON_START="実行ボタンがクリックされたとき",Blockly.Msg.BLOCKS_EVENTS_ON_KEY_PUSH_OR_DOWN_PREFIX="キーボードの",Blockly.Msg.BLOCKS_EVENTS_ON_KEY_PUSH_OR_DOWN_MIDDLE="が",Blockly.Msg.BLOCKS_EVENTS_ON_KEY_PUSH_OR_DOWN_SUFFIX="とき",Blockly.Msg.BLOCKS_EVENTS_ON_CLICK="キャラクターがクリックされたとき",Blockly.Msg.BLOCKS_EVENTS_ON_HIT_PREFIX="",Blockly.Msg.BLOCKS_EVENTS_ON_HIT_SUFFIX="にぶつかったとき",Blockly.Msg.BLOCKS_SENSING_K_UP="↑",Blockly.Msg.BLOCKS_SENSING_K_DOWN="↓",Blockly.Msg.BLOCKS_SENSING_K_LEFT="←",Blockly.Msg.BLOCKS_SENSING_K_RIGHT="→",Blockly.Msg.BLOCKS_SENSING_K_SPACE="スペース",Blockly.Msg.BLOCKS_SENSING_PUSH="押された",Blockly.Msg.BLOCKS_SENSING_HOLD_DOWN="押され続けている",Blockly.Msg.BLOCKS_SENSING_DOWN=Blockly.Msg.BLOCKS_SENSING_PUSH,Blockly.Msg.BLOCKS_SENSING_M_LBUTTON="左ボタン",Blockly.Msg.BLOCKS_SENSING_M_MBUTTON="中ボタン",Blockly.Msg.BLOCKS_SENSING_M_RBUTTON="右ボタン",Blockly.Msg.BLOCKS_SENSING_UP="離された",Blockly.Msg.BLOCKS_SENSING_REACH_WALL="端に触れた",Blockly.Msg.BLOCKS_SENSING_INPUT_KEY_PUSH_OR_DOWN_PREFIX="キーボードの",Blockly.Msg.BLOCKS_SENSING_INPUT_KEY_PUSH_OR_DOWN_MIDDLE="が",Blockly.Msg.BLOCKS_SENSING_INPUT_KEY_PUSH_OR_DOWN_SUFFIX="",Blockly.Msg.BLOCKS_SENSING_INPUT_MOUSE_PUSH_OR_DOWN_PREFIX="マウスの",Blockly.Msg.BLOCKS_SENSING_INPUT_MOUSE_PUSH_OR_DOWN_MIDDLE="が",Blockly.Msg.BLOCKS_SENSING_INPUT_MOUSE_PUSH_OR_DOWN_SUFFIX="",Blockly.Msg.BLOCKS_SENSING_INPUT_MOUSE_POS_X="マウスのx座標",Blockly.Msg.BLOCKS_SENSING_INPUT_MOUSE_POS_Y="マウスのy座標",Blockly.Msg.BLOCKS_SENSING_HIT_PREFIX="",Blockly.Msg.BLOCKS_SENSING_HIT_SUFFIX="に触れた",Blockly.Msg.BLOCKS_SENSING_CHARACTER_PROPERTY_X="x座標",Blockly.Msg.BLOCKS_SENSING_CHARACTER_PROPERTY_Y="y座標",Blockly.Msg.BLOCKS_SENSING_CHARACTER_PROPERTY_ANGLE="向き",Blockly.Msg.BLOCKS_SENSING_CHARACTER_PROPERTY_COSTUME_INDEX="コスチューム番号",Blockly.Msg.BLOCKS_SENSING_CHARACTER_PROPERTY_COSTUME="コスチューム名",Blockly.Msg.BLOCKS_SENSING_CHARACTER_PROPERTY_SCALE="大きさ",Blockly.Msg.BLOCKS_SENSING_CHARACTER_PROPERTY_VOLUME="ボリューム",Blockly.Msg.BLOCKS_SENSING_CHARACTER_PROPERTY_MIDDLE="の",Blockly.Msg.BLOCKS_SENSING_TIME_NOW_YEAR="年",Blockly.Msg.BLOCKS_SENSING_TIME_NOW_MONTH="月",Blockly.Msg.BLOCKS_SENSING_TIME_NOW_DAY="日",Blockly.Msg.BLOCKS_SENSING_TIME_NOW_WDAY="曜日",Blockly.Msg.BLOCKS_SENSING_TIME_NOW_HOUR="時",Blockly.Msg.BLOCKS_SENSING_TIME_NOW_MIN="分",Blockly.Msg.BLOCKS_SENSING_TIME_NOW_SEC="秒",Blockly.Msg.BLOCKS_SENSING_TIME_NOW="現在の",Blockly.Msg.BLOCKS_CONTROL_SLEEP="%1秒待つ",Blockly.Msg.BLOCKS_CONTROL_LOOP="ずっと",Blockly.Msg.BLOCKS_CONTROL_LOOP_END="を繰り返す",Blockly.Msg.BLOCKS_CONTROL_BREAK="繰り返しから脱出する",Blockly.Msg.BLOCKS_CONTROL_NEXT="次の繰り返しにジャンプする",Blockly.Msg.BLOCKS_CONTROL_REDO="現在の繰り返しをやり直す",Blockly.Msg.BLOCKS_CONTROL_IF="もし",Blockly.Msg.BLOCKS_CONTROL_THEN="ならば",Blockly.Msg.BLOCKS_CONTROL_ELSE="でなければ",Blockly.Msg.BLOCKS_CONTROL_TIMES="%1回繰り返す",Blockly.Msg.BLOCKS_CONTROL_AWAIT_UNTIL="%1まで待つ",Blockly.Msg.BLOCKS_CONTROL_UNTIL="%1まで",Blockly.Msg.BLOCKS_CONTROL_AWAIT="ほんの少し待つ",Blockly.Msg.BLOCKS_RUBY_STATEMENT="文",Blockly.Msg.BLOCKS_RUBY_EXPRESSION="式",Blockly.Msg.BLOCKS_RUBY_COMMENT="コメント",Blockly.Msg.BLOCKS_FIELD_CHARACTER_NO_CHARACTER="キャラクターなし",Blockly.Msg.BLOCKS_SOUND_PRESET_SOUNDS_PIANO_DO="ピアノのド",Blockly.Msg.BLOCKS_SOUND_PRESET_SOUNDS_PIANO_RE="ピアノのレ",Blockly.Msg.BLOCKS_SOUND_PRESET_SOUNDS_PIANO_MI="ピアノのミ",Blockly.Msg.BLOCKS_SOUND_PRESET_SOUNDS_PIANO_FA="ピアノのファ",Blockly.Msg.BLOCKS_SOUND_PRESET_SOUNDS_PIANO_SO="ピアノのソ",Blockly.Msg.BLOCKS_SOUND_PRESET_SOUNDS_PIANO_RA="ピアノのラ",Blockly.Msg.BLOCKS_SOUND_PRESET_SOUNDS_PIANO_SI="ピアノのシ",Blockly.Msg.BLOCKS_SOUND_PRESET_SOUNDS_PIANO_DO_2="ピアノの高いド",Blockly.Msg.BLOCKS_SOUND_PLAY="%1の音を鳴らす",Blockly.Msg.BLOCKS_LOOKS_SAY="%1と言う",Blockly.Msg.BLOCKS_LOOKS_THINK="%1と考える",Blockly.Msg.BLOCKS_LOOKS_SAY_WITH_SECOND="%1と%2秒と言う",Blockly.Msg.BLOCKS_LOOKS_THINK_WITH_SECOND="%1と%2秒と考える",Blockly.Msg.BLOCKS_LOOKS_SHOW="表示する",Blockly.Msg.BLOCKS_LOOKS_HIDE="隠す",Blockly.Msg.BLOCKS_LOOKS_VANISH="消滅する",Blockly.Msg.BLOCKS_HARDWARE_LED_ON="LED%1をオンにする",Blockly.Msg.BLOCKS_HARDWARE_LED_OFF="LED%1をオフにする",Blockly.Msg.BLOCKS_HARDWARE_ANODE="アノード",Blockly.Msg.BLOCKS_HARDWARE_CATHODE="カソード",Blockly.Msg.BLOCKS_HARDWARE_LEFT=" 左",Blockly.Msg.BLOCKS_HARDWARE_RIGHT="右",Blockly.Msg.BLOCKS_HARDWARE_INIT_HARDWARE="ハードウェアを準備する",Blockly.Msg.BLOCKS_HARDWARE_RGB_LED_ON="set RGB LED %1 common %2 color to %3",Blockly.Msg.BLOCKS_HARDWARE_RGB_LED_ON="RGB LED%1コモン%2を%3にする",Blockly.Msg.BLOCKS_HARDWARE_RGB_LED_OFF="RGB LED%1コモン%2をオフにする",Blockly.Msg.BLOCKS_HARDWARE_SEVEN_SEGMENT_DISPLAY_SHOW="7セグディスプレイに%1を表示する",Blockly.Msg.BLOCKS_HARDWARE_SEVEN_SEGMENT_DISPLAY_OFF="7セグディスプレイをオフにする",Blockly.Msg.BLOCKS_HARDWARE_LCD_PUTS="LCDに%1を表示する",Blockly.Msg.BLOCKS_HARDWARE_LCD_CLEAR="LCDをクリアする",Blockly.Msg.BLOCKS_HARDWARE_SERVO_SET_POSITION="サーボ%1を%2度(5~180)にする",Blockly.Msg.BLOCKS_HARDWARE_TWO_WHEEL_DRIVE_CAR_FORWARD="2WD車%1を進める",Blockly.Msg.BLOCKS_HARDWARE_TWO_WHEEL_DRIVE_CAR_BACKWARD="2WD車%1をバックさせる",Blockly.Msg.BLOCKS_HARDWARE_TWO_WHEEL_DRIVE_CAR_TURN_LEFT="2WD車%1を左に曲げる",Blockly.Msg.BLOCKS_HARDWARE_TWO_WHEEL_DRIVE_CAR_TURN_RIGHT="2WD車%1を右に曲げる",Blockly.Msg.BLOCKS_HARDWARE_TWO_WHEEL_DRIVE_CAR_STOP="2WD車%1を止める",Blockly.Msg.BLOCKS_HARDWARE_TWO_WHEEL_DRIVE_CAR_RUN="2WD車%2を%3秒%1",Blockly.Msg.BLOCKS_HARDWARE_TWO_WHEEL_DRIVE_CAR_COMMANDS_FORWARD="進める",Blockly.Msg.BLOCKS_HARDWARE_TWO_WHEEL_DRIVE_CAR_COMMANDS_BACKWARD="バックさせる",Blockly.Msg.BLOCKS_HARDWARE_TWO_WHEEL_DRIVE_CAR_COMMANDS_TURN_LEFT="左に曲げる",Blockly.Msg.BLOCKS_HARDWARE_TWO_WHEEL_DRIVE_CAR_COMMANDS_TURN_RIGHT="右に曲げる",Blockly.Msg.BLOCKS_HARDWARE_TWO_WHEEL_DRIVE_CAR_COMMANDS_STOP="止める",Blockly.Msg.BLOCKS_HARDWARE_TWO_WHEEL_DRIVE_CAR_SET_SPEED="2WD車%1の%2の速度(%)を%3にする",Blockly.Msg.BLOCKS_HARDWARE_TWO_WHEEL_DRIVE_CAR_SPEED="2WD車%1の%2の速度(%)",Blockly.Msg.BLOCKS_HARDWARE_MOTOR_DRIVER_FORWARD="正転させる",Blockly.Msg.BLOCKS_HARDWARE_MOTOR_DRIVER_BACKWARD="逆転させる",Blockly.Msg.BLOCKS_HARDWARE_MOTOR_DRIVER_STOP="止める",Blockly.Msg.BLOCKS_HARDWARE_MOTOR_DRIVER="(モータードライバ%1で)モーターを%2",Blockly.Msg.BLOCKS_HARDWARE_MOTOR_DRIVER_SET_SPEED="(モータードライバ%1の)モーターの速度を%2にする",Blockly.Msg.BLOCKS_HARDWARE_MOTOR_DRIVER_SPEED="(モータードライバ%1の)モーターの速度(%)",Blockly.Msg.BLOCKS_HARDWARE_BUTTON_DOWN_OR_UP="ボタン%1が%2",Blockly.Msg.BLOCKS_HARDWARE_ON_BUTTON_DOWN_OR_UP="ボタン%1が%2とき",Blockly.Msg.BLOCKS_HARDWARE_BUTTON_NOT_USE_PULLUP="ボタン%1のプルアップ抵抗を使わない",Blockly.Msg.BLOCKS_HARDWARE_SENSOR_VALUE="センサー%1",Blockly.Msg.BLOCKS_HARDWARE_ON_SENSOR_CHANGE="センサー%1が変化したとき",Blockly.Msg.BLOCKS_OPERATORS_ADD="%1+%2",Blockly.Msg.BLOCKS_OPERATORS_MINUS="%1ー%2",Blockly.Msg.BLOCKS_OPERATORS_MULTIPLY="%1×%2",Blockly.Msg.BLOCKS_OPERATORS_DIVIDE="%1÷%2",Blockly.Msg.BLOCKS_OPERATORS_COMPARE_LT="%1<%2",Blockly.Msg.BLOCKS_OPERATORS_COMPARE_LTE="%1≦%2",Blockly.Msg.BLOCKS_OPERATORS_COMPARE_EQ="%1=%2",Blockly.Msg.BLOCKS_OPERATORS_COMPARE_GTE="%1≧%2",Blockly.Msg.BLOCKS_OPERATORS_COMPARE_GT="%1>%2",Blockly.Msg.BLOCKS_OPERATORS_RAND="%1から%2までの乱数",Blockly.Msg.BLOCKS_OPERATORS_AND="%1かつ%2",Blockly.Msg.BLOCKS_OPERATORS_OR="%1または%2",Blockly.Msg.BLOCKS_OPERATORS_NOT="%1ではない",Blockly.Msg.BLOCKS_OPERATORS_INDEX_OF="%1の%2番目",Blockly.Msg.BLOCKS_OPERATORS_LENGTH="%1の長さ",Blockly.Msg.BLOCKS_OPERATORS_MODULO="%1を%2で割った余り",Blockly.Msg.BLOCKS_OPERATORS_ROUND="%1を丸める",Blockly.Msg.BLOCKS_OPERATORS_MATH_METHOD="%1の%2",Blockly.Msg.BLOCKS_OPERATORS_MATH_METHOD_ABS="絶対値",Blockly.Msg.BLOCKS_OPERATORS_MATH_METHOD_FLOOR="切り上げ",Blockly.Msg.BLOCKS_OPERATORS_MATH_METHOD_CEIL="切り下げ",Blockly.Msg.BLOCKS_OPERATORS_MATH_METHOD_SQRT="平方根",Blockly.Msg.BLOCKS_OPERATORS_MATH_METHOD_SIN="sin",Blockly.Msg.BLOCKS_OPERATORS_MATH_METHOD_COS="cos",Blockly.Msg.BLOCKS_OPERATORS_MATH_METHOD_TAN="tan",Blockly.Msg.BLOCKS_OPERATORS_MATH_METHOD_ASIN="asin",Blockly.Msg.BLOCKS_OPERATORS_MATH_METHOD_ACOS="acos",Blockly.Msg.BLOCKS_OPERATORS_MATH_METHOD_ATAN="atan",Blockly.Msg.BLOCKS_OPERATORS_MATH_METHOD_LN="log",Blockly.Msg.BLOCKS_OPERATORS_MATH_METHOD_LOG="log10",Blockly.Msg.BLOCKS_OPERATORS_MATH_METHOD_E_SQUARE="e ^",Blockly.Msg.BLOCKS_OPERATORS_MATH_METHOD_10_SQUARE="10 ^",Blockly.Msg.BLOCKS_OPERATORS_TRUE="真",Blockly.Msg.BLOCKS_OPERATORS_FALSE="偽",Blockly.Msg.BLOCKS_PEN_DOWN_PEN="ペンを下ろす",Blockly.Msg.BLOCKS_PEN_UP_PEN="ペンを上げる",Blockly.Msg.BLOCKS_PEN_SET_PEN_COLOR="ペンの色を%1にする";
|
Binary file
|
@@ -1,75 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
# language: ja
|
3
|
-
@javascript
|
4
|
-
機能: hardware_led_off - 「LED[▼ピン]をオフにする」ブロック
|
5
|
-
シナリオ: ブロックのみ配置する
|
6
|
-
前提 "ブロック" タブを表示する
|
7
|
-
|
8
|
-
もし 次のブロックを配置する:
|
9
|
-
"""
|
10
|
-
%block{:type => "hardware_led_off", :x => "0", :y => "0"}
|
11
|
-
%field{:name => "PIN"}<
|
12
|
-
D13
|
13
|
-
"""
|
14
|
-
かつ ブロックからソースコードを生成する
|
15
|
-
|
16
|
-
ならば テキストエディタのプログラムは "" であること
|
17
|
-
|
18
|
-
シナリオ: キャラクターとブロックを配置する
|
19
|
-
前提 "ブロック" タブを表示する
|
20
|
-
かつ 次のキャラクターを追加する:
|
21
|
-
| name | costumes | x | y | angle |
|
22
|
-
| car1 | car1.png | 0 | 0 | 0 |
|
23
|
-
|
24
|
-
もし 次のブロックを配置する:
|
25
|
-
"""
|
26
|
-
%block{:type => "character_new", :x => "21", :y => "15"}
|
27
|
-
%field{:name => "NAME"}<
|
28
|
-
car1
|
29
|
-
%statement{:name => "DO"}
|
30
|
-
%block{:type => "hardware_led_off", :x => "0", :y => "0"}
|
31
|
-
%field{:name => "PIN"}<
|
32
|
-
D13
|
33
|
-
"""
|
34
|
-
かつ ブロックからソースコードを生成する
|
35
|
-
|
36
|
-
ならば テキストエディタのプログラムは以下であること:
|
37
|
-
"""
|
38
|
-
require "smalruby"
|
39
|
-
|
40
|
-
car1 = Character.new(costume: "car1.png", x: 0, y: 0, angle: 0)
|
41
|
-
car1.led("D13").off
|
42
|
-
|
43
|
-
"""
|
44
|
-
|
45
|
-
シナリオ: キャラクターとイベントとブロックを配置する
|
46
|
-
前提 "ブロック" タブを表示する
|
47
|
-
かつ 次のキャラクターを追加する:
|
48
|
-
| name | costumes | x | y | angle |
|
49
|
-
| car1 | car1.png | 0 | 0 | 0 |
|
50
|
-
|
51
|
-
もし 次のブロックを配置する:
|
52
|
-
"""
|
53
|
-
%block{:type => "character_new", :x => "21", :y => "15"}
|
54
|
-
%field{:name => "NAME"}<
|
55
|
-
car1
|
56
|
-
%statement{:name => "DO"}
|
57
|
-
%block{:type => "events_on_start"}
|
58
|
-
%statement{:name => "DO"}
|
59
|
-
%block{:type => "hardware_led_off", :x => "0", :y => "0"}
|
60
|
-
%field{:name => "PIN"}<
|
61
|
-
D13
|
62
|
-
"""
|
63
|
-
かつ ブロックからソースコードを生成する
|
64
|
-
|
65
|
-
ならば テキストエディタのプログラムは以下であること:
|
66
|
-
"""
|
67
|
-
require "smalruby"
|
68
|
-
|
69
|
-
car1 = Character.new(costume: "car1.png", x: 0, y: 0, angle: 0)
|
70
|
-
|
71
|
-
car1.on(:start) do
|
72
|
-
led("D13").off
|
73
|
-
end
|
74
|
-
|
75
|
-
"""
|
@@ -1,75 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
# language: ja
|
3
|
-
@javascript
|
4
|
-
機能: hardware_led_on - 「LED[▼ピン]をオンにする」ブロック
|
5
|
-
シナリオ: ブロックのみ配置する
|
6
|
-
前提 "ブロック" タブを表示する
|
7
|
-
|
8
|
-
もし 次のブロックを配置する:
|
9
|
-
"""
|
10
|
-
%block{:type => "hardware_led_on", :x => "0", :y => "0"}
|
11
|
-
%field{:name => "PIN"}<
|
12
|
-
D13
|
13
|
-
"""
|
14
|
-
かつ ブロックからソースコードを生成する
|
15
|
-
|
16
|
-
ならば テキストエディタのプログラムは "" であること
|
17
|
-
|
18
|
-
シナリオ: キャラクターとブロックを配置する
|
19
|
-
前提 "ブロック" タブを表示する
|
20
|
-
かつ 次のキャラクターを追加する:
|
21
|
-
| name | costumes | x | y | angle |
|
22
|
-
| car1 | car1.png | 0 | 0 | 0 |
|
23
|
-
|
24
|
-
もし 次のブロックを配置する:
|
25
|
-
"""
|
26
|
-
%block{:type => "character_new", :x => "21", :y => "15"}
|
27
|
-
%field{:name => "NAME"}<
|
28
|
-
car1
|
29
|
-
%statement{:name => "DO"}
|
30
|
-
%block{:type => "hardware_led_on", :x => "0", :y => "0"}
|
31
|
-
%field{:name => "PIN"}<
|
32
|
-
D13
|
33
|
-
"""
|
34
|
-
かつ ブロックからソースコードを生成する
|
35
|
-
|
36
|
-
ならば テキストエディタのプログラムは以下であること:
|
37
|
-
"""
|
38
|
-
require "smalruby"
|
39
|
-
|
40
|
-
car1 = Character.new(costume: "car1.png", x: 0, y: 0, angle: 0)
|
41
|
-
car1.led("D13").on
|
42
|
-
|
43
|
-
"""
|
44
|
-
|
45
|
-
シナリオ: キャラクターとイベントとブロックを配置する
|
46
|
-
前提 "ブロック" タブを表示する
|
47
|
-
かつ 次のキャラクターを追加する:
|
48
|
-
| name | costumes | x | y | angle |
|
49
|
-
| car1 | car1.png | 0 | 0 | 0 |
|
50
|
-
|
51
|
-
もし 次のブロックを配置する:
|
52
|
-
"""
|
53
|
-
%block{:type => "character_new", :x => "21", :y => "15"}
|
54
|
-
%field{:name => "NAME"}<
|
55
|
-
car1
|
56
|
-
%statement{:name => "DO"}
|
57
|
-
%block{:type => "events_on_start"}
|
58
|
-
%statement{:name => "DO"}
|
59
|
-
%block{:type => "hardware_led_on", :x => "0", :y => "0"}
|
60
|
-
%field{:name => "PIN"}<
|
61
|
-
D13
|
62
|
-
"""
|
63
|
-
かつ ブロックからソースコードを生成する
|
64
|
-
|
65
|
-
ならば テキストエディタのプログラムは以下であること:
|
66
|
-
"""
|
67
|
-
require "smalruby"
|
68
|
-
|
69
|
-
car1 = Character.new(costume: "car1.png", x: 0, y: 0, angle: 0)
|
70
|
-
|
71
|
-
car1.on(:start) do
|
72
|
-
led("D13").on
|
73
|
-
end
|
74
|
-
|
75
|
-
"""
|
@@ -1,87 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
# language: ja
|
3
|
-
@javascript
|
4
|
-
機能: hardware_on_button_down_or_up - 「ボタン[▼PIN]が[▼押された]とき」ブロック
|
5
|
-
シナリオ: ブロックのみ配置する
|
6
|
-
前提 "ブロック" タブを表示する
|
7
|
-
|
8
|
-
もし 次のブロックを配置する:
|
9
|
-
"""
|
10
|
-
%block{:type => "hardware_on_button_down_or_up", :x => "0", :y => "0"}
|
11
|
-
%field{:name => "PIN"}<
|
12
|
-
D2
|
13
|
-
%field{:name => "DOU"}<
|
14
|
-
down
|
15
|
-
"""
|
16
|
-
かつ ブロックからソースコードを生成する
|
17
|
-
|
18
|
-
ならば テキストエディタのプログラムは "" であること
|
19
|
-
|
20
|
-
シナリオ: キャラクターとブロックを配置する
|
21
|
-
前提 "ブロック" タブを表示する
|
22
|
-
かつ 次のキャラクターを追加する:
|
23
|
-
| name | costumes | x | y | angle |
|
24
|
-
| car1 | car1.png | 0 | 0 | 0 |
|
25
|
-
|
26
|
-
もし 次のブロックを配置する:
|
27
|
-
"""
|
28
|
-
%block{:type => "character_new", :x => "21", :y => "15"}
|
29
|
-
%field{:name => "NAME"}<
|
30
|
-
car1
|
31
|
-
%statement{:name => "DO"}
|
32
|
-
%block{:type => "hardware_on_button_down_or_up", :x => "0", :y => "0"}
|
33
|
-
%field{:name => "PIN"}<
|
34
|
-
D2
|
35
|
-
%field{:name => "DOU"}<
|
36
|
-
down
|
37
|
-
"""
|
38
|
-
かつ ブロックからソースコードを生成する
|
39
|
-
|
40
|
-
ならば テキストエディタのプログラムは以下であること:
|
41
|
-
"""
|
42
|
-
require "smalruby"
|
43
|
-
|
44
|
-
car1 = Character.new(costume: "car1.png", x: 0, y: 0, angle: 0)
|
45
|
-
|
46
|
-
car1.on(:button_down, "D2") do
|
47
|
-
|
48
|
-
end
|
49
|
-
|
50
|
-
"""
|
51
|
-
|
52
|
-
シナリオ: キャラクターとイベントとブロックを配置する
|
53
|
-
前提 "ブロック" タブを表示する
|
54
|
-
かつ 次のキャラクターを追加する:
|
55
|
-
| name | costumes | x | y | angle |
|
56
|
-
| car1 | car1.png | 0 | 0 | 0 |
|
57
|
-
|
58
|
-
もし 次のブロックを配置する:
|
59
|
-
"""
|
60
|
-
%block{:type => "character_new", :x => "21", :y => "15"}
|
61
|
-
%field{:name => "NAME"}<
|
62
|
-
car1
|
63
|
-
%statement{:name => "DO"}
|
64
|
-
%block{:type => "events_on_start"}
|
65
|
-
%statement{:name => "DO"}
|
66
|
-
%block{:type => "hardware_on_button_down_or_up", :x => "0", :y => "0"}
|
67
|
-
%field{:name => "PIN"}<
|
68
|
-
D2
|
69
|
-
%field{:name => "DOU"}<
|
70
|
-
up
|
71
|
-
"""
|
72
|
-
かつ ブロックからソースコードを生成する
|
73
|
-
|
74
|
-
ならば テキストエディタのプログラムは以下であること:
|
75
|
-
"""
|
76
|
-
require "smalruby"
|
77
|
-
|
78
|
-
car1 = Character.new(costume: "car1.png", x: 0, y: 0, angle: 0)
|
79
|
-
|
80
|
-
car1.on(:start) do
|
81
|
-
|
82
|
-
on(:button_up, "D2") do
|
83
|
-
|
84
|
-
end
|
85
|
-
end
|
86
|
-
|
87
|
-
"""
|