learn-japanese 0.7.0 → 0.8.2

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
  SHA256:
3
- metadata.gz: 164745bdc76d66bff134ec0e06fb5fceef44fb480f9c266c32beb6342dfe252b
4
- data.tar.gz: 9bea86b40b59102cad35e1749fc379e6c14b2384b9f6f6f4b0abcd29409c446b
3
+ metadata.gz: 56a53ac9e7d74b5ac133f329c8b49829bea61f343014cb3fb4715728286bfe9d
4
+ data.tar.gz: 16449663b042b8b857548db94dbab7d4d3034d88a7b9b00e191e5e28cd136601
5
5
  SHA512:
6
- metadata.gz: a0b5cf252d1a7eefb8b3953a7285bb7a6ec99b1059c284f7f934ca7813307ba37f9297423a77498277750b1a6da17745bb1c200f7067607a45884c70edb9bb17
7
- data.tar.gz: 37b4068955aa70702a166265a2e9482e9141da5404251f0888a1f2bce44337b9970f70edafd0adc5cf81d20574d2431533e795a9e158ca737d5f440645b7dec8
6
+ metadata.gz: ad4108e66120821a75139feb827162cbf3300f828c6cb8b1019dd2b7ecc952cf156e0e840ac7c840fc72c3244efdc4fc5f54c31a7fad39cfe0fbcaf93b71a4b9
7
+ data.tar.gz: 16b2ca13e45f9764f7bd78dc4f04382d9feba4fa0d8ec37de3e93097056013aa05ed065403ab3670898f2e8beefe25da2d25bd36b82b9f2de28229399ecbd25b
@@ -11,15 +11,19 @@ class CLI < Thor
11
11
  end
12
12
 
13
13
  map ['ca', '-ca', '--choose-answer', 'choose-answer'] => 'choose_answer'
14
- desc 'choose-answer [LEVEL]', 'LEVEL = 1-4'
15
- def choose_answer(level)
16
- LearnJapanese.choose_answer(level.to_i)
14
+ option :level
15
+ desc 'choose-answer [--level=NUMBER]', 'Values 1-6'
16
+ def choose_answer()
17
+ level = options[:level].to_i
18
+ LearnJapanese.choose_answer(level)
17
19
  end
18
20
 
19
21
  map ['sa', '-sa', '--short-answer', 'short-answer'] => 'short_answer'
20
- desc 'short-answer [LEVEL]', 'LEVEL = 1-4'
21
- def short_answer(level)
22
- LearnJapanese.short_answer(level.to_i)
22
+ option :level
23
+ desc 'short-answer [--level=NUMBER]', 'Values 1-6'
24
+ def short_answer()
25
+ level = options[:level].to_i
26
+ LearnJapanese.short_answer(level)
23
27
  end
24
28
 
25
29
  map ['so', '-so', '--sound', 'sound'] => 'sound'
@@ -30,7 +34,7 @@ class CLI < Thor
30
34
 
31
35
  map ['ro', '-ro', '--romanji' ] => 'romaji'
32
36
  desc 'romaji', 'Write Romaji for Hiragana word'
33
- def romanji
34
- LearnJapanese.romanji
37
+ def romaji
38
+ LearnJapanese.romaji
35
39
  end
36
40
  end
@@ -34,17 +34,37 @@ class Hiragana
34
34
  def self.group4
35
35
  { ta: "\u{305F}",
36
36
  chi: "\u{3061}",
37
- tsu: "\u{3064}",
37
+ tsu: "\u{3064}", # つ
38
38
  te: "\u{3066}",
39
39
  to: "\u{3068}"
40
40
  }
41
41
  end
42
42
 
43
+ def self.group5
44
+ { na: "\u{306A}",
45
+ ni: "\u{306B}",
46
+ nu: "\u{306C}",
47
+ ne: "\u{306D}",
48
+ no: "\u{306E}"
49
+ }
50
+ end
51
+
52
+ def self.group6
53
+ { ha: "\u{306F}",
54
+ hi: "\u{3072}",
55
+ hu: "\u{3075}",
56
+ he: "\u{3078}",
57
+ ho: "\u{307B}"
58
+ }
59
+ end
60
+
43
61
  def self.all
44
62
  output = self.group1
45
63
  output.merge!(self.group2)
46
64
  output.merge!(self.group3)
47
65
  output.merge!(self.group4)
66
+ output.merge!(self.group5)
67
+ output.merge!(self.group6)
48
68
  output
49
69
  end
50
70
 
@@ -55,6 +75,8 @@ class Hiragana
55
75
  hiragana.merge! Hiragana.group2 if levels.include? 2
56
76
  hiragana.merge! Hiragana.group3 if levels.include? 3
57
77
  hiragana.merge! Hiragana.group4 if levels.include? 4
78
+ hiragana.merge! Hiragana.group4 if levels.include? 5
79
+ hiragana.merge! Hiragana.group4 if levels.include? 6
58
80
  hiragana
59
81
  end
60
82
 
@@ -86,5 +108,8 @@ class Hiragana
86
108
  Debug.puts_group Hiragana.group2 if level > 1
87
109
  Debug.puts_group Hiragana.group3 if level > 2
88
110
  Debug.puts_group Hiragana.group4 if level > 3
111
+ Debug.puts_group Hiragana.group5 if level > 4
112
+ Debug.puts_group Hiragana.group6 if level > 5
113
+ Debug.puts_group Hiragana.group7 if level > 6
89
114
  end
90
115
  end
@@ -0,0 +1,36 @@
1
+ group1:
2
+ a: "\u{3042}"
3
+ i: "\u{3044}"
4
+ u: "\u{3046}"
5
+ e: "\u{3048}"
6
+ o: "\u{304A}"
7
+ group2:
8
+ ka: "\u{304B}"
9
+ ki: "\u{304D}"
10
+ ku: "\u{304F}"
11
+ ke: "\u{3051}"
12
+ ko: "\u{3053}"
13
+ group3:
14
+ sa: "\u{3055}"
15
+ shi: "\u{3057}"
16
+ su: "\u{3059}"
17
+ se: "\u{305B}"
18
+ so: "\u{305D}"
19
+ group4:
20
+ ta: "\u{305F}"
21
+ chi: "\u{3061}"
22
+ tsu: "\u{3064}" # つ
23
+ te: "\u{3066}"
24
+ to: "\u{3068}"
25
+ group5:
26
+ na: "\u{306A}"
27
+ ni: "\u{306B}"
28
+ nu: "\u{306C}"
29
+ ne: "\u{306D}"
30
+ no: "\u{306E}"
31
+ group6:
32
+ ha: "\u{306F}"
33
+ hi: "\u{3072}"
34
+ hu: "\u{3075}"
35
+ he: "\u{3078}"
36
+ ho: "\u{307B}"
@@ -10,10 +10,15 @@ class ChooseAnswerGame
10
10
  @score = 1
11
11
  @max_score = max
12
12
 
13
- @silabario = Hiragana.group1
14
- @silabario.merge! Hiragana.group2 if @level > 1
15
- @silabario.merge! Hiragana.group3 if @level > 2
16
- @silabario.merge! Hiragana.group4 if @level > 3
13
+ #@silabario = Hiragana.group1
14
+ #@silabario.merge! Hiragana.group2 if @level > 1
15
+ #@silabario.merge! Hiragana.group3 if @level > 2
16
+ #@silabario.merge! Hiragana.group4 if @level > 3
17
+ #@silabario.merge! Hiragana.group4 if @level > 4
18
+ #@silabario.merge! Hiragana.group5 if @level > 5
19
+ #@silabario.merge! Hiragana.group6 if @level > 6
20
+ levels = (1..@level).to_a
21
+ @silabario = Hiragana.groups(levels)
17
22
 
18
23
  @keys = @silabario.keys
19
24
  end
@@ -3,7 +3,7 @@
3
3
  require_relative '../debug'
4
4
  require_relative '../data/dictionary'
5
5
 
6
- class RomanjiGame
6
+ class RomajiGame
7
7
 
8
8
  def initialize(level=1, max=10)
9
9
  @level = level
@@ -17,13 +17,13 @@ class RomanjiGame
17
17
  Debug.puts_line
18
18
  while @score < @max_score
19
19
  @words.shuffle!
20
- guess_romanji(@words.first)
20
+ guess_romaji(@words.first)
21
21
  end
22
22
  end
23
23
 
24
24
  private
25
25
 
26
- def guess_romanji(data)
26
+ def guess_romaji(data)
27
27
  hiragana = data['hiragana']
28
28
  spanish = data['spanish']
29
29
  sounds = data['sounds']
@@ -36,11 +36,11 @@ class RomanjiGame
36
36
  good = Hiragana.hiraganas_to_sound(hiragana.split(''))
37
37
  if resp == good
38
38
  @score += 1
39
- puts ' '*10+"#{spanish} (#{sounds})".white
39
+ puts ' ' * 9 + "#{spanish} (#{sounds})".white
40
40
  return true
41
41
  end
42
42
  puts "Right answer is #{good}".light_red
43
- puts ' '*10+"#{spanish} (#{sounds})".red
43
+ puts ' ' * 9 + "#{spanish} (#{sounds})".red
44
44
  false
45
45
  end
46
46
 
@@ -14,6 +14,8 @@ class ShortAnswerGame
14
14
  @silabario.merge! Hiragana.group2 if @level > 1
15
15
  @silabario.merge! Hiragana.group3 if @level > 2
16
16
  @silabario.merge! Hiragana.group4 if @level > 3
17
+ @silabario.merge! Hiragana.group5 if @level > 4
18
+ @silabario.merge! Hiragana.group6 if @level > 5
17
19
 
18
20
  @keys = @silabario.keys
19
21
  end
@@ -1,6 +1,6 @@
1
1
 
2
2
  module LearnJapanese
3
- VERSION = '0.7.0'
3
+ VERSION = '0.8.2'
4
4
  NAME = 'learn-japanese'
5
5
  HOMEPAGE = 'https://github.com/dvarrui/learn-japanese'
6
6
  end
@@ -3,7 +3,7 @@ require_relative 'learn-japanese/version'
3
3
  require_relative 'learn-japanese/game/choose-answer-game'
4
4
  require_relative 'learn-japanese/game/short-answer-game'
5
5
  require_relative 'learn-japanese/game/sound-game'
6
- require_relative 'learn-japanese/game/romanji-game'
6
+ require_relative 'learn-japanese/game/romaji-game'
7
7
 
8
8
  module LearnJapanese
9
9
 
@@ -32,7 +32,7 @@ module LearnJapanese
32
32
  SoundGame.run
33
33
  end
34
34
 
35
- def self.romanji
36
- RomanjiGame.new.run
35
+ def self.romaji
36
+ RomajiGame.new.run
37
37
  end
38
38
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: learn-japanese
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.0
4
+ version: 0.8.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Vargas Ruiz
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-04-28 00:00:00.000000000 Z
11
+ date: 2022-05-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: colorize
@@ -41,10 +41,7 @@ dependencies:
41
41
  description:
42
42
  email: dvarrui@protonmail.com
43
43
  executables:
44
- - choose-answer-game
45
44
  - learn-japanese
46
- - short-answer-game
47
- - sounds-to-hiragana
48
45
  extensions: []
49
46
  extra_rdoc_files: []
50
47
  files:
@@ -54,10 +51,7 @@ files:
54
51
  - LICENSE
55
52
  - README.md
56
53
  - Rakefile
57
- - bin/choose-answer-game
58
54
  - bin/learn-japanese
59
- - bin/short-answer-game
60
- - bin/sounds-to-hiragana
61
55
  - examples/01-emoji.rb
62
56
  - examples/02-emoji.rb
63
57
  - learn-japanese.gemspec
@@ -65,10 +59,11 @@ files:
65
59
  - lib/learn-japanese/cli.rb
66
60
  - lib/learn-japanese/data/dictionary.rb
67
61
  - lib/learn-japanese/data/hiragana.rb
62
+ - lib/learn-japanese/data/hiragana.yaml
68
63
  - lib/learn-japanese/data/words.yaml
69
64
  - lib/learn-japanese/debug.rb
70
65
  - lib/learn-japanese/game/choose-answer-game.rb
71
- - lib/learn-japanese/game/romanji-game.rb
66
+ - lib/learn-japanese/game/romaji-game.rb
72
67
  - lib/learn-japanese/game/short-answer-game.rb
73
68
  - lib/learn-japanese/game/sound-game.rb
74
69
  - lib/learn-japanese/version.rb
@@ -1,19 +0,0 @@
1
- #!/usr/bin/env ruby
2
-
3
- $LOAD_PATH.unshift File.expand_path('../../lib', __FILE__)
4
- require 'learn-japanese/game/choose-answer-game'
5
-
6
- def get_level
7
- level = ARGV.first.to_i
8
-
9
- if level.zero?
10
- name = File.basename(__FILE__)
11
- puts "Usage: #{name} [LEVEL] # LEVEL is [1,2,3,4]"
12
- exit 0
13
- end
14
- level
15
- end
16
-
17
- level = get_level
18
- ChooseAnswerGame.show_help(level)
19
- ChooseAnswerGame.new(level).run
@@ -1,19 +0,0 @@
1
- #!/usr/bin/env ruby
2
-
3
- $LOAD_PATH.unshift File.expand_path('../../lib', __FILE__)
4
- require 'learn-japanese/game/short-answer-game'
5
-
6
- def get_level
7
- level = ARGV.first.to_i
8
-
9
- if level.zero?
10
- name = File.basename(__FILE__)
11
- puts "Usage: #{name} [LEVEL] # LEVEL is [1,2,3,4]"
12
- exit 0
13
- end
14
- level
15
- end
16
-
17
- level = get_level
18
- ShortAnswerGame.show_help(level)
19
- ShortAnswerGame.new(level).run
@@ -1,6 +0,0 @@
1
- #!/usr/bin/env ruby
2
-
3
- $LOAD_PATH.unshift File.expand_path('../../lib', __FILE__)
4
- require 'learn-japanese/game/sound-game'
5
-
6
- SoundGame.run