codebreaker2018 0.3.3.0 → 0.3.4.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|