learn-japanese 0.3.0 → 0.4.1

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: 202866524b01fc9e92e9bd4c48202bd531ab41a0bf2fea02e09cb8bd4284d3f9
4
- data.tar.gz: 12c8fbfaeaa588d9feea0922f0542c11f68b5e84021fe70aaf3942fba912278d
3
+ metadata.gz: 3c33ddc115041a6485c767272b1b521ccc58d10fb878321d88fbd1a19ddd9e8a
4
+ data.tar.gz: 51832c38dcbdf2c85a28b0581f7322f95beafe470734a9c59da75430a1cf3b73
5
5
  SHA512:
6
- metadata.gz: 94a3a3eee5cd329d85ed9a06a9a588a9b67a96c79214ecbfd0b1a404736b34767227e1e227c8ee762a3293231f2a09cb25c1621baa3b4d0b40d8e5eeb233ff1f
7
- data.tar.gz: bddfb89443c7551257d3cffb8b43030fd8492734d71e933012e143014dee5662219f17678898150888f85c6974758e3b74b4ee20aec373da0e5d6e7a748ab8c3
6
+ metadata.gz: a294fd686dc84b0dff8caf7b2e9b5392b27b383627af5cb1aa0f6c54521889b00689ed5ea96ed9176cbf9df7447e0ff5542a0e4963e65c75b46dc024764427b7
7
+ data.tar.gz: 201ba0f0f1e8521fb52d2234c72a537da081b2bcbb07fd8ccc82dc3dae7fbfff6e385a9168541a5ccc5d50ef799961569f3685fc6aa1269ee755449cf17467f2
data/README.md CHANGED
@@ -1,22 +1,21 @@
1
1
 
2
- ```
3
- UNDER DEVELOPMENT!!!
4
- ```
2
+ [![Gem Version](https://badge.fury.io/rb/learn-japanese.svg)](https://badge.fury.io/rb/learn-japanese)
5
3
 
6
4
  # Aprender japonés
7
5
 
8
- `japones-tool` es un programa Ruby de licencia libre para ayudar a aprender el japonés.
6
+ `learn-japanese` es un programa Ruby de licencia libre para ayudar a aprender el japonés.
9
7
  De momento, sólo se está empezando a implementar la funcionalidad para aprender el Silabario Hiragana, pero poco a poco irá creciendo a medida que yo mismo aprenda más japonés.
10
8
 
11
9
  Para instalar el programa:
12
10
  1. Debes tener Ruby instalado en tu equipo.
13
- 2. Abrir un terminal y ejecutar `sudo gem install japones-tool`, para instalar la herramienta.
11
+ 2. Abrir un terminal y ejecutar `sudo gem install learn-japanese`, para instalar la herramienta.
14
12
 
15
13
  ## Modo de Uso
16
14
 
17
15
  Abrir un terminal
18
16
  * Ejecutar `short-answer-game`, para el juego de preguntas donde debemos escribir la respuesta.
19
17
  * Ejecutar `choose-answer-game`, para el juego de preguntas donde debemos elegir la respuesta correcta.
18
+ * `sounds-to-hiragana`, pasar sonidos a Hiragana.
20
19
 
21
20
  > NOTA: Para aumentar la dificultad haremos `short-answer-game NUMBER`, donde NUMBER será un valor entre 1-4 por el momento.
22
21
 
@@ -1,8 +1,19 @@
1
1
  #!/usr/bin/env ruby
2
- $LOAD_PATH.unshift File.expand_path('../../lib', __FILE__)
3
2
 
3
+ $LOAD_PATH.unshift File.expand_path('../../lib', __FILE__)
4
4
  require 'learn-japanese/game/choose-answer-game'
5
5
 
6
- level = ARGV.first.to_i || 1
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
7
18
  ChooseAnswerGame.show_help(level)
8
19
  ChooseAnswerGame.new(level).run
@@ -1,8 +1,19 @@
1
1
  #!/usr/bin/env ruby
2
- $LOAD_PATH.unshift File.expand_path('../../lib', __FILE__)
3
2
 
3
+ $LOAD_PATH.unshift File.expand_path('../../lib', __FILE__)
4
4
  require 'learn-japanese/game/short-answer-game'
5
5
 
6
- level = ARGV.first.to_i || 1
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
7
18
  ShortAnswerGame.show_help(level)
8
19
  ShortAnswerGame.new(level).run
@@ -0,0 +1,30 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ $LOAD_PATH.unshift File.expand_path('../../lib', __FILE__)
4
+ require 'learn-japanese/hiragana'
5
+ require 'learn-japanese/dictionary'
6
+ require 'colorize'
7
+
8
+ puts "[ Sounds to Hiragana ] Example: a i => あい (amor - ái)".white
9
+
10
+ def sound_to_hiragana
11
+ print " Write sounds ? ".light_yellow
12
+ sounds = gets.chomp.split
13
+ hiraganas = Hiragana.all
14
+
15
+ hiragana_array = sounds.map { hiraganas[_1.to_sym] || '*' }
16
+ hiragana = hiragana_array.join('')
17
+
18
+ words = Dictionary.new.words
19
+ word = (words.select { _1["hiragana"] == hiragana})[0] || {'spanish': '?', 'sounds': '?'}
20
+
21
+ puts " Hiragana => #{hiragana}".cyan
22
+ puts " Spanish => #{word["spanish"]}".cyan
23
+ puts " Pronounce => #{word["sounds"]}".cyan
24
+
25
+ return false if sounds.size.zero?
26
+ true
27
+ end
28
+
29
+ while sound_to_hiragana
30
+ end
@@ -0,0 +1,19 @@
1
+ ---
2
+ - sounds: e
3
+ hiragana: え
4
+ spanish: pintura
5
+ - sounds: ái
6
+ hiragana: あい
7
+ spanish: amor
8
+ - sounds: áo
9
+ hiragana: あお
10
+ spanish: azul
11
+ - sounds: ié
12
+ hiragana: いえ
13
+ spanish: casa
14
+ - sounds: íi
15
+ hiragana: いい
16
+ spanish: bien
17
+ - sounds: ué
18
+ hiragana: うえ
19
+ spanish: arriba
@@ -0,0 +1,12 @@
1
+
2
+ require 'yaml'
3
+
4
+ class Dictionary
5
+ attr_reader :words
6
+
7
+ def initialize()
8
+ filename = File.join(File.dirname(__FILE__), 'data', 'words.yaml')
9
+ @words = YAML.load(File.read(filename))
10
+ end
11
+
12
+ end
@@ -5,10 +5,10 @@ require_relative '../hiragana'
5
5
 
6
6
  class ChooseAnswerGame
7
7
 
8
- def initialize(level=1)
8
+ def initialize(level=1, max=10)
9
9
  @level = level
10
10
  @score = 1
11
- @max_score = 10
11
+ @max_score = max
12
12
 
13
13
  @silabario = Hiragana.group1
14
14
  @silabario.merge! Hiragana.group2 if @level > 1
@@ -5,10 +5,10 @@ require_relative '../hiragana'
5
5
 
6
6
  class ShortAnswerGame
7
7
 
8
- def initialize(level=1)
8
+ def initialize(level=1, max=10)
9
9
  @level = level
10
10
  @score = 1
11
- @max_score = 10
11
+ @max_score = max
12
12
 
13
13
  @silabario = Hiragana.group1
14
14
  @silabario.merge! Hiragana.group2 if @level > 1
@@ -40,6 +40,14 @@ class Hiragana
40
40
  }
41
41
  end
42
42
 
43
+ def self.all
44
+ output = self.group1
45
+ output.merge!(self.group2)
46
+ output.merge!(self.group3)
47
+ output.merge!(self.group4)
48
+ output
49
+ end
50
+
43
51
  def self.show_help(level=1)
44
52
  Debug.puts_line
45
53
  puts "Hiragana help\n".upcase.cyan
@@ -1,5 +1,5 @@
1
1
 
2
2
  module JaponesTool
3
- VERSION = '0.3.0'
3
+ VERSION = '0.4.1'
4
4
  HOMEPAGE = 'https://github.com/dvarrui/learn-japanese'
5
5
  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.3.0
4
+ version: 0.4.1
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-01 00:00:00.000000000 Z
11
+ date: 2022-04-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: colorize
@@ -29,6 +29,7 @@ email: dvarrui@protonmail.com
29
29
  executables:
30
30
  - choose-answer-game
31
31
  - short-answer-game
32
+ - sounds-to-hiragana
32
33
  extensions: []
33
34
  extra_rdoc_files: []
34
35
  files:
@@ -39,10 +40,13 @@ files:
39
40
  - Rakefile
40
41
  - bin/choose-answer-game
41
42
  - bin/short-answer-game
43
+ - bin/sounds-to-hiragana
42
44
  - examples/01-emoji.rb
43
45
  - examples/02-emoji.rb
44
46
  - learn-japanese.gemspec
47
+ - lib/learn-japanese/data/words.yaml
45
48
  - lib/learn-japanese/debug.rb
49
+ - lib/learn-japanese/dictionary.rb
46
50
  - lib/learn-japanese/game/choose-answer-game.rb
47
51
  - lib/learn-japanese/game/short-answer-game.rb
48
52
  - lib/learn-japanese/hiragana.rb