codebreaker 0.1.3.1 → 0.1.3.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/codebreaker/game.rb +7 -3
- data/lib/codebreaker/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 904895105cd8b6cbdc13466d430e2d1249eadf7f
|
4
|
+
data.tar.gz: 5652ce5daefdeb63969823ef9650f90c665059c5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 072b2c250caa00c9d735c502a5ba5acca8dde3801112d83c0f88eec1ea6ce8d2b43ca5abd3c7b72ea0c3e7982dbc178b37968782fab7b77773f5723cdc865aa7
|
7
|
+
data.tar.gz: 838c5dd41da14d89b296e891d95780b6a40d120f2b13483321e659b3c28335ce095637c93eac9e14dfc6fe5037a27ca0c30568abe68633f74336c84140842eb1
|
data/lib/codebreaker/game.rb
CHANGED
@@ -1,18 +1,20 @@
|
|
1
1
|
module Codebreaker
|
2
2
|
class Game
|
3
3
|
HINTS_COUNT = 2
|
4
|
-
|
4
|
+
MAX_SCORE = 500
|
5
|
+
MAX_ROUNDS = 500
|
5
6
|
CODE_LENGTH = 4
|
6
7
|
ROUND_PENALTY = 10
|
7
8
|
HINT_PENALTY = 50
|
8
9
|
|
9
|
-
attr_reader :round_number, :gues_results
|
10
|
+
attr_reader :round_number, :gues_results, :game_status
|
10
11
|
|
11
12
|
def initialize
|
12
13
|
@secret_code = ""
|
13
14
|
@round_number = 0
|
14
15
|
@hints_used = 0
|
15
16
|
@gues_results = {}
|
17
|
+
@game_status = 'play'
|
16
18
|
end
|
17
19
|
|
18
20
|
def start
|
@@ -46,6 +48,8 @@ module Codebreaker
|
|
46
48
|
result = pluses + minuses
|
47
49
|
@gues_results[gues.to_s] = result
|
48
50
|
@round_number += 1
|
51
|
+
@game_status = 'win' if result == '++++'
|
52
|
+
@game_status = 'loose' if @round_number >= MAX_ROUNDS
|
49
53
|
result
|
50
54
|
end
|
51
55
|
|
@@ -56,7 +60,7 @@ module Codebreaker
|
|
56
60
|
end
|
57
61
|
|
58
62
|
def score
|
59
|
-
|
63
|
+
MAX_SCORE - @hints_used*HINT_PENALTY - @round_number*ROUND_PENALTY
|
60
64
|
end
|
61
65
|
end
|
62
66
|
end
|
data/lib/codebreaker/version.rb
CHANGED