smalruby 0.0.24 → 0.0.25

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

Potentially problematic release.


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

checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 1b05433c70630faab08662262c001b7084b7c17e
4
- data.tar.gz: fd5718255ada65f1d5e3df9aebda766c26042052
3
+ metadata.gz: 8284bb07be021423ee34cfee70f30e9410df0261
4
+ data.tar.gz: 44c4b0b684bf4f29b687206a8f2a8f02774dbf33
5
5
  SHA512:
6
- metadata.gz: eaca15d745db604ef19022a1c91741386bfa7060822f173cf5386e22b5c5416e66d953567f3b389d21ec39eab7f8e200f1a5b850afb47b778033038c1e7a1d61
7
- data.tar.gz: 1ec6f49633a79896458fc5e021fa418a1d1ae3719d61e4eabd54a432b7f5b95bc5fe2b45d799909ae0c157270634687433ec013427d4c411a5f6c0bb405cce0f
6
+ metadata.gz: f41ab270c369b7106cac5ca9eec4179961fc1e629bd1358eadc0b40927d11d8ba5696f15f8d2286f0463846cb4a44d6dd8d2f62e178eca07227225da973718b8
7
+ data.tar.gz: c6da6d0944a4e4ebb6150707f31397fc9f8517968465dddb98de4b926bbb745451aced7a9ac84a676a9971ef0b9fab81c1cbf8de079e8cba991c643ef878408f
data/Rakefile CHANGED
@@ -79,4 +79,4 @@ task :release do
79
79
  sh 'git push'
80
80
  end
81
81
 
82
- task :default => [:rubocop, :spec]
82
+ task :default => [:spec]
@@ -285,6 +285,16 @@ module Smalruby
285
285
  @balloon = Sprite.new(x, y, image)
286
286
  end
287
287
 
288
+ # 表示する/隠す
289
+ def visible=(val)
290
+ if val
291
+ self.collision_enable = true
292
+ else
293
+ self.collision_enable = false
294
+ end
295
+ super
296
+ end
297
+
288
298
  # 次のコスチュームにする
289
299
  def next_costume
290
300
  @costume_index += 1
@@ -394,7 +404,7 @@ module Smalruby
394
404
  # @!endgroup
395
405
 
396
406
  def draw
397
- draw_balloon
407
+ draw_balloon if visible
398
408
 
399
409
  super
400
410
  end
@@ -16,28 +16,53 @@ module Smalruby
16
16
  end
17
17
 
18
18
  # 前進する
19
- def forward
20
- digital_write_pins(true, false, true, false)
19
+ def forward(left_level = Dino::Board::HIGH,
20
+ right_level = Dino::Board::HIGH)
21
+ digital_write_pins(left_level, Dino::Board::LOW,
22
+ right_level, Dino::Board::LOW)
21
23
  end
22
24
 
23
25
  # 後退する
24
- def backward
25
- digital_write_pins(false, true, false, true)
26
+ def backward(left_level = Dino::Board::HIGH,
27
+ right_level = Dino::Board::HIGH)
28
+ digital_write_pins(Dino::Board::LOW, left_level,
29
+ Dino::Board::LOW, right_level)
26
30
  end
27
31
 
28
32
  # 左に曲がる
29
- def turn_left
30
- digital_write_pins(false, true, true, false)
33
+ def turn_left(left_level = Dino::Board::HIGH,
34
+ right_level = Dino::Board::HIGH)
35
+ digital_write_pins(Dino::Board::LOW, left_level,
36
+ right_level, Dino::Board::LOW)
31
37
  end
32
38
 
33
39
  # 右に曲がる
34
- def turn_right
35
- digital_write_pins(true, false, false, true)
40
+ def turn_right(left_level = Dino::Board::HIGH,
41
+ right_level = Dino::Board::HIGH)
42
+ digital_write_pins(left_level, Dino::Board::LOW,
43
+ Dino::Board::LOW, right_level)
36
44
  end
37
45
 
38
46
  # 停止する
39
- def stop
40
- digital_write_pins(false, false, false, false)
47
+ def stop(left_level = Dino::Board::HIGH,
48
+ right_level = Dino::Board::HIGH)
49
+ digital_write_pins(Dino::Board::LOW, Dino::Board::LOW,
50
+ Dino::Board::LOW, Dino::Board::LOW)
51
+ end
52
+
53
+ # 命令する
54
+ def run(options = {})
55
+ defaults = {
56
+ command: 'forward',
57
+ sec: nil,
58
+ left_level: 100,
59
+ right_level: 100,
60
+ }
61
+ opts = Util.process_options(options, defaults)
62
+
63
+ send(opts[:command], opts[:left_level], opts[:right_level])
64
+ sleep(opts[:sec]) if opts[:sec]
65
+ stop unless opts[:command] == :stop
41
66
  end
42
67
 
43
68
  private
@@ -49,10 +74,11 @@ module Smalruby
49
74
  stop
50
75
  end
51
76
 
52
- def digital_write_pins(*level_flags)
53
- level_flags.each.with_index do |level_flag, i|
54
- level = level_flag ? Dino::Board::HIGH : Dino::Board::LOW
55
- digital_write(pins[i], level)
77
+ def digital_write_pins(*levels)
78
+ levels.each.with_index do
79
+ |level, i|
80
+ analog_write(pins[i], (Dino::Board::HIGH * level / 100.0).to_i)
81
+ sleep(0.05) if i % 2 == 0
56
82
  end
57
83
  end
58
84
  end
@@ -1,5 +1,5 @@
1
1
  # -*- coding: utf-8 -*-
2
2
 
3
3
  module Smalruby
4
- VERSION = '0.0.24'
4
+ VERSION = '0.0.25'
5
5
  end
@@ -17,15 +17,15 @@ stage1.on(:start) do
17
17
  draw_font(string: DESCRIPTION, color: 'black')
18
18
 
19
19
  loop do
20
- two_wheel_drive_car('D2').forward
20
+ two_wheel_drive_car('D6').forward
21
21
  sleep(3)
22
- two_wheel_drive_car('D2').backward
22
+ two_wheel_drive_car('D6').backward
23
23
  sleep(3)
24
- two_wheel_drive_car('D2').turn_left
24
+ two_wheel_drive_car('D6').turn_left
25
25
  sleep(3)
26
- two_wheel_drive_car('D2').turn_right
26
+ two_wheel_drive_car('D6').turn_right
27
27
  sleep(3)
28
- two_wheel_drive_car('D2').stop
28
+ two_wheel_drive_car('D6').stop
29
29
  sleep(3)
30
30
  end
31
31
  end
@@ -0,0 +1,29 @@
1
+ # -*- coding: utf-8 -*-
2
+
3
+ DESCRIPTION = <<EOS
4
+ 2WD車のタイヤ(モーター)を操作します
5
+ EOS
6
+
7
+ # デジタルの6番・7番ピンに左のモーター、8番・9番ピンに右のモーターを接
8
+ # 続してください。
9
+
10
+ require 'smalruby'
11
+
12
+ init_hardware
13
+
14
+ stage1 = Stage.new(color: 'white')
15
+
16
+ stage1.on(:start) do
17
+ draw_font(string: DESCRIPTION, color: 'black')
18
+
19
+ loop do
20
+ two_wheel_drive_car('D6').run(command: 'forward', sec: 2, left_level: 85, right_level: 100)
21
+ sleep(1)
22
+ two_wheel_drive_car('D6').run(command: 'backward', sec: 2, left_level: 85, right_level: 100)
23
+ sleep(1)
24
+ two_wheel_drive_car('D6').run(command: 'turn_left', sec: 2, left_level: 85, right_level: 100)
25
+ sleep(1)
26
+ two_wheel_drive_car('D6').run(command: 'turn_right', sec: 2, left_level: 85, right_level: 100)
27
+ sleep(1)
28
+ end
29
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: smalruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.24
4
+ version: 0.0.25
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kouji Takao
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-06-02 00:00:00.000000000 Z
11
+ date: 2014-06-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -285,6 +285,7 @@ files:
285
285
  - samples/hardware_sensor.rb
286
286
  - samples/hardware_servo.rb
287
287
  - samples/hardware_two_wheel_drive_car.rb
288
+ - samples/hardware_two_wheel_drive_car_run.rb
288
289
  - samples/hit_car.rb
289
290
  - samples/pen.rb
290
291
  - samples/pen2.rb