codebreaker2018 0.3.3.0 → 0.3.4.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 +4 -4
- data/lib/codebreaker.rb +1 -0
- data/lib/codebreaker/game.rb +4 -13
- data/lib/codebreaker/game_const.rb +16 -0
- data/lib/codebreaker/version.rb +1 -1
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b06ff6ff8804035331c99c3826dafa9e013107daccc3478e462b6b2c002d1bce
|
4
|
+
data.tar.gz: ab35981f45fd990e31ad0fc3bff016d4311abb44cf80bb875f695eba70e94986
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0d285fc5c7240c298cf88420cec4daad0d9953ac245eaeafcf9577ef315cd20d95cf059b7c32b53905af65784b3fda24e195df4b6bb887343c523eeb1a11dd7e
|
7
|
+
data.tar.gz: 69a1e76fec6b955e91d3f638d13ebdf72094c1730aaede36e0368ed6a1042408967022bf10db44f285032095b0e4592d6829f773829d301ebbc9e26096a80e7d
|
data/lib/codebreaker.rb
CHANGED
@@ -4,6 +4,7 @@ require_relative 'codebreaker/message'
|
|
4
4
|
require_relative 'codebreaker/motivation'
|
5
5
|
require_relative 'codebreaker/user_score'
|
6
6
|
require_relative 'codebreaker/storage'
|
7
|
+
require_relative 'codebreaker/game_const'
|
7
8
|
require_relative 'codebreaker/game'
|
8
9
|
require_relative 'codebreaker/score'
|
9
10
|
require_relative 'codebreaker/console'
|
data/lib/codebreaker/game.rb
CHANGED
@@ -2,18 +2,9 @@ module Codebreaker
|
|
2
2
|
GameConfiguration = Struct.new(:player_name, :max_attempts, :max_hints, :level, :lang)
|
3
3
|
|
4
4
|
class Game
|
5
|
+
include GameConst
|
5
6
|
include Message
|
6
7
|
|
7
|
-
ZERO_POINTS = 0
|
8
|
-
TEN_POINTS = 10
|
9
|
-
TWENTY_POINTS = 20
|
10
|
-
FIFTY_POINTS = 50
|
11
|
-
ONE_HUNDRED_POINTS = 100
|
12
|
-
BONUS_POINTS = 500
|
13
|
-
RIGHT_ANSWER = '+'.freeze
|
14
|
-
RIGHT_ANSWER_DIFF_INDEX = '-'.freeze
|
15
|
-
WRONG_ANSWER = ' '.freeze
|
16
|
-
|
17
8
|
attr_reader :attempts, :hints, :configuration
|
18
9
|
|
19
10
|
def initialize(*config)
|
@@ -102,9 +93,9 @@ module Codebreaker
|
|
102
93
|
|
103
94
|
def calculate_score
|
104
95
|
level_rates = case configuration.level
|
105
|
-
when
|
106
|
-
when
|
107
|
-
when
|
96
|
+
when SIMPLE_LEVEL then [TEN_POINTS, ZERO_POINTS]
|
97
|
+
when MIDDLE_LEVEL then [TWENTY_POINTS, TWENTY_POINTS]
|
98
|
+
when HARD_LEVEL then [FIFTY_POINTS, ONE_HUNDRED_POINTS]
|
108
99
|
else raise message['errors']['unknown_level']
|
109
100
|
end
|
110
101
|
|
@@ -0,0 +1,16 @@
|
|
1
|
+
module Codebreaker
|
2
|
+
module GameConst
|
3
|
+
ZERO_POINTS = 0
|
4
|
+
TEN_POINTS = 10
|
5
|
+
TWENTY_POINTS = 20
|
6
|
+
FIFTY_POINTS = 50
|
7
|
+
ONE_HUNDRED_POINTS = 100
|
8
|
+
BONUS_POINTS = 500
|
9
|
+
RIGHT_ANSWER = '+'.freeze
|
10
|
+
RIGHT_ANSWER_DIFF_INDEX = '-'.freeze
|
11
|
+
WRONG_ANSWER = ' '.freeze
|
12
|
+
SIMPLE_LEVEL = :simple
|
13
|
+
MIDDLE_LEVEL = :middle
|
14
|
+
HARD_LEVEL = :hard
|
15
|
+
end
|
16
|
+
end
|
data/lib/codebreaker/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: codebreaker2018
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Vladislav Trotsenko
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-06-
|
11
|
+
date: 2018-06-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: colorize
|
@@ -88,6 +88,7 @@ files:
|
|
88
88
|
- lib/codebreaker.rb
|
89
89
|
- lib/codebreaker/console.rb
|
90
90
|
- lib/codebreaker/game.rb
|
91
|
+
- lib/codebreaker/game_const.rb
|
91
92
|
- lib/codebreaker/locale/console/en-US.yml
|
92
93
|
- lib/codebreaker/locale/console/ru-RU.yml
|
93
94
|
- lib/codebreaker/locale/game/en-US.yml
|