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