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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 00ea58537c3077f4a1e42e014774cfcb738ea935ea9d2cee613797602ac240d6
4
- data.tar.gz: 9a7ef487af42f4b4a14a8dfdad34c3e5bc138b81f36c8418660c7afe3755986e
3
+ metadata.gz: b06ff6ff8804035331c99c3826dafa9e013107daccc3478e462b6b2c002d1bce
4
+ data.tar.gz: ab35981f45fd990e31ad0fc3bff016d4311abb44cf80bb875f695eba70e94986
5
5
  SHA512:
6
- metadata.gz: 5013a43f848a620046e86131b91d2a4c225c819d5b40a17391f7511e27fd25886fd2f64541dc1c9dfa8b47ca4d58525a082ca01b4ba853656ff3ef632bda0a08
7
- data.tar.gz: 354570b2147657593251fe140a3b2ac04fbe8c127bcb09b6958bf743d91fa4537d6fbf0c96928cc06e89f7a1fe31b583973ce9b19fed28bf22d20cdf6f98fb99
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'
@@ -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 :simple then [TEN_POINTS, ZERO_POINTS]
106
- when :middle then [TWENTY_POINTS, TWENTY_POINTS]
107
- when :hard then [FIFTY_POINTS, ONE_HUNDRED_POINTS]
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
@@ -1,3 +1,3 @@
1
1
  module Codebreaker
2
- VERSION = '0.3.3.0'
2
+ VERSION = '0.3.4.0'
3
3
  end
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.3.0
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-22 00:00:00.000000000 Z
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