learn-japanese 0.3.0 → 0.4.1

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