learn-japanese 0.1.0 → 0.3.0

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: 021f4df00bdc5f96531a10a9a6d8cea1c1f699bcb173e2ba1c9f36221285babf
4
- data.tar.gz: 52368526c927c9a53a5cb519f3645d4aba63a93fad4aeadb7d4ebf9588ab1d02
3
+ metadata.gz: 202866524b01fc9e92e9bd4c48202bd531ab41a0bf2fea02e09cb8bd4284d3f9
4
+ data.tar.gz: 12c8fbfaeaa588d9feea0922f0542c11f68b5e84021fe70aaf3942fba912278d
5
5
  SHA512:
6
- metadata.gz: 92eb5c7d4675815fe3567067e4b5f26d59e8e860938f6524a11d5d266d8d5382c1015d1b47599b4cfcdc81571b841501be7f1837ac2578134744f0a240e82aaa
7
- data.tar.gz: 72f9359bba1a61ba598a6ad0a1a549891cccaff4ac4d405a366d9e774420e5de519ec3bd66bac6d9a9902f1df9799843d662ad3326a8ef9fc171aa065538474f
6
+ metadata.gz: 94a3a3eee5cd329d85ed9a06a9a588a9b67a96c79214ecbfd0b1a404736b34767227e1e227c8ee762a3293231f2a09cb25c1621baa3b4d0b40d8e5eeb233ff1f
7
+ data.tar.gz: bddfb89443c7551257d3cffb8b43030fd8492734d71e933012e143014dee5662219f17678898150888f85c6974758e3b74b4ee20aec373da0e5d6e7a748ab8c3
data/README.md CHANGED
@@ -14,8 +14,11 @@ Para instalar el programa:
14
14
 
15
15
  ## Modo de Uso
16
16
 
17
- 1. Abrir un terminal
18
- 2. Ejecutar `short-answer-game`.
17
+ Abrir un terminal
18
+ * Ejecutar `short-answer-game`, para el juego de preguntas donde debemos escribir la respuesta.
19
+ * Ejecutar `choose-answer-game`, para el juego de preguntas donde debemos elegir la respuesta correcta.
20
+
21
+ > NOTA: Para aumentar la dificultad haremos `short-answer-game NUMBER`, donde NUMBER será un valor entre 1-4 por el momento.
19
22
 
20
23
  # Silabario japonés
21
24
 
@@ -0,0 +1,8 @@
1
+ #!/usr/bin/env ruby
2
+ $LOAD_PATH.unshift File.expand_path('../../lib', __FILE__)
3
+
4
+ require 'learn-japanese/game/choose-answer-game'
5
+
6
+ level = ARGV.first.to_i || 1
7
+ ChooseAnswerGame.show_help(level)
8
+ ChooseAnswerGame.new(level).run
@@ -3,6 +3,6 @@ $LOAD_PATH.unshift File.expand_path('../../lib', __FILE__)
3
3
 
4
4
  require 'learn-japanese/game/short-answer-game'
5
5
 
6
- level = 2
6
+ level = ARGV.first.to_i || 1
7
7
  ShortAnswerGame.show_help(level)
8
8
  ShortAnswerGame.new(level).run
@@ -0,0 +1,52 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require_relative '../debug'
4
+ require_relative '../hiragana'
5
+
6
+ class ChooseAnswerGame
7
+
8
+ def initialize(level=1)
9
+ @level = level
10
+ @score = 1
11
+ @max_score = 10
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
17
+
18
+ @keys = @silabario.keys
19
+ end
20
+
21
+ def self.show_help(level=1)
22
+ Hiragana.show_help(level)
23
+ end
24
+
25
+ def run
26
+ Debug.puts_line
27
+ while @score < @max_score
28
+ guess_japanise_symbol(@keys)
29
+ end
30
+ end
31
+
32
+ private
33
+
34
+ def guess_japanise_symbol(keys)
35
+ keys.shuffle!
36
+ good = keys[0].clone
37
+ options = [ keys[0], keys[1], keys[2], keys[3] ].shuffle
38
+
39
+ japanises = options.map { @silabario[_1] }
40
+ progress = "[ #{@score}/#{@max_score} ]"
41
+ print "#{progress.white} #{japanises.join(', ')} #{good.to_s.light_yellow}? (1,2,3,4) "
42
+
43
+ index = STDIN.gets.to_i
44
+ exit if index.zero?
45
+ if good == options[(index - 1)]
46
+ @score += 1
47
+ return true
48
+ end
49
+ puts "La respuesta es #{@silabario[good]}".light_red
50
+ false
51
+ end
52
+ end
@@ -12,6 +12,9 @@ class ShortAnswerGame
12
12
 
13
13
  @silabario = Hiragana.group1
14
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
+
15
18
  @keys = @silabario.keys
16
19
  end
17
20
 
@@ -23,7 +26,7 @@ class ShortAnswerGame
23
26
  Debug.puts_line
24
27
  while @score < @max_score
25
28
  @keys.shuffle!
26
- @keys.each { |key| guess_japanise_symbol(key) }
29
+ guess_japanise_symbol(@keys[0])
27
30
  end
28
31
  end
29
32
 
@@ -22,11 +22,31 @@ class Hiragana
22
22
  }
23
23
  end
24
24
 
25
+ def self.group3
26
+ { sa: "\u{3055}",
27
+ si: "\u{3057}",
28
+ su: "\u{3059}",
29
+ se: "\u{305B}",
30
+ so: "\u{305D}"
31
+ }
32
+ end
33
+
34
+ def self.group4
35
+ { ta: "\u{305F}",
36
+ ti: "\u{3061}",
37
+ tu: "\u{3064}",
38
+ te: "\u{3066}",
39
+ to: "\u{3068}"
40
+ }
41
+ end
42
+
25
43
  def self.show_help(level=1)
26
44
  Debug.puts_line
27
45
  puts "Hiragana help\n".upcase.cyan
28
46
 
29
47
  Debug.puts_group Hiragana.group1
30
48
  Debug.puts_group Hiragana.group2 if level > 1
49
+ Debug.puts_group Hiragana.group3 if level > 2
50
+ Debug.puts_group Hiragana.group4 if level > 3
31
51
  end
32
52
  end
@@ -1,5 +1,5 @@
1
1
 
2
2
  module JaponesTool
3
- VERSION = '0.1.0'
3
+ VERSION = '0.3.0'
4
4
  HOMEPAGE = 'https://github.com/dvarrui/learn-japanese'
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: learn-japanese
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Vargas Ruiz
@@ -27,6 +27,7 @@ dependencies:
27
27
  description:
28
28
  email: dvarrui@protonmail.com
29
29
  executables:
30
+ - choose-answer-game
30
31
  - short-answer-game
31
32
  extensions: []
32
33
  extra_rdoc_files: []
@@ -36,11 +37,13 @@ files:
36
37
  - LICENSE
37
38
  - README.md
38
39
  - Rakefile
40
+ - bin/choose-answer-game
39
41
  - bin/short-answer-game
40
42
  - examples/01-emoji.rb
41
43
  - examples/02-emoji.rb
42
44
  - learn-japanese.gemspec
43
45
  - lib/learn-japanese/debug.rb
46
+ - lib/learn-japanese/game/choose-answer-game.rb
44
47
  - lib/learn-japanese/game/short-answer-game.rb
45
48
  - lib/learn-japanese/hiragana.rb
46
49
  - lib/learn-japanese/version.rb