let_it_fall 0.1.3 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: bb432064d5ae7d3f47bf9f16fdb330264a0f7b57
4
- data.tar.gz: 9770afc1020ad1d5b0d8932ea205e5b2fff8d256
3
+ metadata.gz: f964116373d22bffa902bc202396b7765bd97ab9
4
+ data.tar.gz: 0755a7b71e74ebeb63a3996dda16e76449ac4fca
5
5
  SHA512:
6
- metadata.gz: 67efe32729bc5715b816eacfc577888cd2bd52c91b4b8b8b14478d4bed9c21c71315410e90dafafa0cf6e48e10a4152483cb05891e79f872a866edfba47b88af
7
- data.tar.gz: 7f70a65b63bc666071563a1ad4e8f7dce3f01aa3d7dc3a731eed3a463528024111886ac2731bf690c74e3dc60598388730f428a1fa42d431a0e295e045d1ff2b
6
+ metadata.gz: abd4b6a949fb9bb275bbaa40217e032685684230fc0c94782aa5f610275b68004c57514dad90231983e9458e55710953c8d12ae1f618bf2829cd6be73010ae53
7
+ data.tar.gz: 450123d36c94db052efaa36174f4f7ff229816567ce6602ec4e622914c78dd3f3bd069a343ebbc847d9b5cee7ead996d107cea01587a119a324b668ab9cf1caa
data/README.md CHANGED
@@ -26,6 +26,8 @@ You also enjoy over 40 commands other than `beer` like `money`, `face` or `kanji
26
26
 
27
27
  During the fall running, hitting a return key will change the character to fall.
28
28
 
29
+ Also `let_it_fall go` command let them fall in rotation automatically without the key hitting.
30
+
29
31
  `code` command is a special. It takes one or more unicodes which specify characters to fall.
30
32
 
31
33
  $ let_it_fall code 0x2660 0x2666 -r # code command with --range option
@@ -38,7 +40,7 @@ If you prefer another character rather than latin one, pass it to the command.
38
40
 
39
41
  $ let_it_fall matrix kanji
40
42
 
41
- These command takes `--speed` option(ex. -s=2), and some also takes `--color` option(ex. -c=31). `let_it_fall help` for more info.
43
+ These command takes `--speed` option(ex. -s=2), and some also takes `--color` option(ex. -c=31). `let_it_fall -h` for more info.
42
44
 
43
45
  ## Contributing
44
46
 
@@ -15,6 +15,7 @@ module LetItFall
15
15
 
16
16
  desc "rand", "Let something fall randomly"
17
17
  option :speed, aliases:'-s', default:1, type: :numeric
18
+ option :color, aliases:'-c', default:nil, type: :numeric
18
19
  def rand
19
20
  code = LetItFall::CODESET.keys.sample
20
21
  run(code, options[:speed], options[:color], false)
@@ -27,7 +28,17 @@ module LetItFall
27
28
  run(mark, options[:speed], options[:color], true)
28
29
  end
29
30
 
30
- desc "code CODE", "Let specific character fall with unicode(s)"
31
+ desc "go", "Let it fall in rotation"
32
+ option :speed, aliases:'-s', default:2, type: :numeric
33
+ option :color, aliases:'-c', default:nil, type: :numeric
34
+ option :interval, aliases:'-i', default:3, type: :numeric
35
+ def go
36
+ code = LetItFall::CODESET.keys.sample
37
+ run(code, options[:speed], options[:color], false, options[:interval])
38
+ end
39
+ map "auto" => :go
40
+
41
+ desc "code CODE", "Let specific character fall by unicode(s)"
31
42
  option :speed, aliases:'-s', default:1, type: :numeric
32
43
  option :color, aliases:'-c', default:nil, type: :numeric
33
44
  option :range, aliases:'-r', default:false, type: :boolean
@@ -41,6 +52,26 @@ module LetItFall
41
52
  run(code, options[:speed], options[:color], options[:matrix])
42
53
  end
43
54
 
55
+ desc "list", "List of all commands"
56
+ def list
57
+ puts "Commands:"
58
+ puts " let_it_fall MARK # Let any of following MARKs fall"
59
+ LetItFall::CODESET.keys.sort.each_with_index do |mark, i|
60
+ print "\n " if i%8==0
61
+ print mark, " "
62
+ end
63
+ puts "\n\n"
64
+ puts " let_it_fall matrix [MARK] # Let it matrix!"
65
+ puts " let_it_fall rand # Let something fall randomly"
66
+ puts " let_it_fall go # Let them Go!"
67
+ puts " let_it_fall code CODE # Let specific character fall by unicode(s) ex. code 0x2660"
68
+ puts " let_it_fall help [COMMAND] # Describe available commands or one specific command"
69
+ puts " let_it_fall version # Show LetItFall version"
70
+ end
71
+ map "commands" => :list
72
+ default_task :list
73
+ map "-h" => :list
74
+
44
75
  desc "version", "Show LetItFall version"
45
76
  def version
46
77
  puts "LetItFall #{LetItFall::VERSION} (c) 2014 kyoendo"
@@ -48,10 +79,10 @@ module LetItFall
48
79
  map "-v" => :version
49
80
 
50
81
  no_tasks do
51
- def run(name, speed, color, matrix)
82
+ def run(name, speed, color, matrix, auto=nil)
52
83
  speed = 0.1 if speed < 0.1
53
84
  interval = 0.05 / speed
54
- Render.run(name, IO.console.winsize, interval:interval, color:color, matrix:matrix)
85
+ Render.run(name, IO.console.winsize, interval:interval, color:color, matrix:matrix, auto:auto)
55
86
  end
56
87
  end
57
88
  end
@@ -1,61 +1,76 @@
1
1
  module LetItFall
2
2
  CODESET = {
3
3
  face: [*0x1F600..0x1F64F] - [*0x1F641..0x1F644],
4
- kanji: (0x4E00..0x4F00),
5
4
  snow: 0x2736,
6
- time: (0x1F550..0x1f567),
7
- animal: (0x1F40C..0x1F43C),
8
- oreilly: (0x1F40C..0x1F43C),
9
- food: (0x1F344..0x1F373),
10
- love: (0x1F493..0x1F49F),
11
- moon: (0x1F311..0x1F315),
12
5
  gem: 0x1F48E,
13
6
  python: 0x1F40D,
14
- perl: 0x1F42A,
15
- wine: 0x1F377,
7
+ ghost: 0x1F47B,
16
8
  cocktail: 0x1F378,
9
+ kanji: (0x4E00..0x4F00),
17
10
  juice: 0x1F379,
11
+ time: (0x1F550..0x1f567),
18
12
  beer: 0x1F37A,
19
- beers: 0x1F37B,
13
+ tower: 0x1F5FC,
14
+ sorry: 0x1F647,
20
15
  cake: 0x1F382,
21
16
  sparkle: 0x2728,
17
+ animal: (0x1F40C..0x1F43C),
22
18
  cyclone: 0x1F300,
23
19
  octopus: 0x1F419,
20
+ perl: 0x1F42A,
21
+ dancer: 0x1F483,
24
22
  bee: 0x1F41D,
23
+ downarrow: 0x2935,
24
+ cross: 0x274C,
25
25
  dolphin: 0x1F42C,
26
+ wine: 0x1F377,
27
+ food: (0x1F344..0x1F373),
28
+ japan: 0x1F5FE,
29
+ bikini: 0x1F459,
30
+ oden: 0x1F362,
31
+ wavy: 0x3030,
32
+ please: 0x1F64F,
33
+ apple: 0x1F34E,
26
34
  paw: 0x1F43E,
27
35
  eyes: 0x1F440,
28
- ear: 0x1F442,
29
- nose: 0x1F443,
36
+ smoking: 0x1F6AC,
37
+ m: 0x24C2,
38
+ thunder: 0x26A1,
39
+ toilet: 0x1F6BD,
40
+ cactus: 0x1F335,
30
41
  mouth: 0x1F444,
31
- tongue: 0x1F445,
32
- bikini: 0x1F459,
33
- dancer: 0x1F483,
42
+ love: (0x1F493..0x1F49F),
43
+ nose: 0x1F443,
44
+ snowman: 0x26C4,
45
+ latin: [*0x0021..0x007E, *0x00A1..0x00FF, *0x0100..0x017F, *0x0250..0x02AF],
34
46
  poo: 0x1F4A9,
35
47
  money: [0x1F4B0, 0x1F4B3, 0x1F4B4, 0x1F4B5, 0x1F4B6, 0x1F4B7, 0x1F4B8],
36
48
  pushpin: 0x1F4CD,
49
+ ear: 0x1F442,
50
+ sushi: 0x1F363,
51
+ arrow: (0x2190..0x21FF),
37
52
  hocho: 0x1F52A,
38
- pistol: 0x1F52B,
53
+ tongue: 0x1F445,
54
+ soccer: 0x26BD,
55
+ beers: 0x1F37B,
56
+ oreilly: (0x1F40C..0x1F43C),
39
57
  beginner: 0x1F530,
40
58
  helicopter: 0x1F681,
41
59
  earth: [0x1F30D, 0x1F30E],
42
- fuji: 0x1F5FB,
43
- tower: 0x1F5FC,
44
- japan: 0x1F5FE,
45
60
  liberty: 0x1F5FD,
46
- ghost: 0x1F47B,
47
61
  angel: 0x1F47C,
48
62
  alien: 0x1F47D,
63
+ uparrow: 0x2934,
64
+ pistol: 0x1F52B,
49
65
  kiss: 0x1F48B,
50
66
  alphabet: [*0x0041..0x005A, *0x0061..0x007A],
51
- latin: [*0x0021..0x007E, *0x00A1..0x00FF, *0x0100..0x017F, *0x0250..0x02AF],
52
- dingbat: (0x2701..0x27BF),
53
- arrow: (0x2190..0x21FF),
54
67
  pizza: 0x1F355,
55
- oden: 0x1F362,
56
- sushi: 0x1F363,
68
+ dingbat: (0x2701..0x27BF),
57
69
  naruto: 0x1F365,
70
+ moon: (0x1F311..0x1F315),
58
71
  cookie: 0x1F36A,
72
+ christmas: [0x1F384, 0x1F385, 0x1F370],
73
+ fuji: 0x1F5FB,
59
74
  lollipop: 0x1F36D,
60
75
 
61
76
  }
@@ -1,3 +1,3 @@
1
1
  module LetItFall
2
- VERSION = "0.1.3"
2
+ VERSION = "0.2.0"
3
3
  end
data/lib/let_it_fall.rb CHANGED
@@ -4,11 +4,12 @@ require "let_it_fall/version"
4
4
 
5
5
  module LetItFall
6
6
  class Render
7
- def self.run(mark, screen, color:nil, interval:0.1, matrix:false)
8
- new(mark, screen, color:color, interval:interval, matrix:matrix).run
7
+ def self.run(mark, screen, color:nil, interval:0.1, matrix:false, auto:nil)
8
+ new(mark, screen, color:color, interval:interval, matrix:matrix, auto:auto).run
9
9
  end
10
10
 
11
- def initialize(mark, screen, color:nil, interval:0.1, matrix:false)
11
+ # auto: nil or interval time(Integer)
12
+ def initialize(mark, screen, color:nil, interval:0.1, matrix:false, auto:nil)
12
13
  @y, @x = screen
13
14
  if [nil, *31..37].include?(color)
14
15
  @color = color
@@ -19,6 +20,7 @@ module LetItFall
19
20
  @interval = interval
20
21
  @screen = {}
21
22
  @matrix = matrix
23
+ @auto = auto
22
24
  $stdout.sync = true
23
25
  end
24
26
 
@@ -35,7 +37,13 @@ module LetItFall
35
37
  exit(0)
36
38
  end
37
39
 
40
+ t = Time.now
38
41
  loop do
42
+ if @auto && Time.now - t > @auto
43
+ marks = select_next_marks(@mark)
44
+ t = Time.now
45
+ end
46
+
39
47
  print_marks(rand(@x), 0, marks)
40
48
  sleep @interval
41
49
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: let_it_fall
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - kyoendo
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-05-06 00:00:00.000000000 Z
11
+ date: 2014-05-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: thor