learn-japanese 0.1.0 → 0.3.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
  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