learn-japanese 0.7.0 → 0.8.2

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.
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