codebreaker_game 0.1.3 → 0.1.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +2 -2
- data/lib/codebreaker_game.rb +6 -6
- data/lib/codebreaker_game/entities/user.rb +0 -12
- data/lib/codebreaker_game/random.rb +1 -16
- data/lib/codebreaker_game/version.rb +1 -1
- metadata +3 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7219f2311682114f31962b66f56d4917617f48913931e5d2f7d1be48e250456b
|
4
|
+
data.tar.gz: '00975fb0ca85c26624c6bc67f45f128107dd072269fb22ae1e2dee530bc203b4'
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 678457c7fc25fdf19276c90ec32eea493605b7c2ea0a0efc02d675a8b40b318a6f023af80c5eb7a0efa81e29e90c702edaabd6c66e0f8ea6b6cad3bbefce6d63
|
7
|
+
data.tar.gz: 38ab45c3e1b5abbe9432bf95f8edd600ae76b0bd64c408e409f72081a48c0c77a5fd907382db014a8032c9a17e0024e0b3035e029b7129b823b58cf476a36647
|
data/Gemfile.lock
CHANGED
data/lib/codebreaker_game.rb
CHANGED
@@ -83,14 +83,14 @@ module CodebreakerGame
|
|
83
83
|
@status = STATUS_WIN
|
84
84
|
end
|
85
85
|
|
86
|
-
def compare(
|
86
|
+
def compare(secret_number, user_number)
|
87
87
|
user.attempt
|
88
|
-
compare_numbers(
|
88
|
+
compare_numbers(secret_number, user_number)
|
89
89
|
end
|
90
90
|
|
91
|
-
def compare_numbers(
|
92
|
-
secret_digits =
|
93
|
-
user_digits =
|
91
|
+
def compare_numbers(secret_number, user_number)
|
92
|
+
secret_digits = secret_number.to_s.chars
|
93
|
+
user_digits = user_number.to_s.chars
|
94
94
|
response = strong_intersections(secret_digits, user_digits)
|
95
95
|
response += not_strong_intersections(secret_digits, user_digits)
|
96
96
|
win if response == STRONG_INTERSECTION * SECRET_LENGTH
|
@@ -112,7 +112,7 @@ module CodebreakerGame
|
|
112
112
|
def not_strong_intersections(secret_digits, user_digits)
|
113
113
|
response = ''
|
114
114
|
secret_digits.each do |digit|
|
115
|
-
next
|
115
|
+
next unless digit && user_digits.include?(digit)
|
116
116
|
|
117
117
|
response += NOT_STRONG_INTERSECTION
|
118
118
|
user_digits.delete_at(user_digits.index(digit))
|
@@ -7,7 +7,6 @@ module CodebreakerGame
|
|
7
7
|
@difficulty = difficulty
|
8
8
|
@hints_used = 0
|
9
9
|
@attempts_used = 0
|
10
|
-
validate
|
11
10
|
end
|
12
11
|
|
13
12
|
attr_reader :difficulty
|
@@ -35,16 +34,5 @@ module CodebreakerGame
|
|
35
34
|
def attempts?
|
36
35
|
@attempts_used < @difficulty.attempts
|
37
36
|
end
|
38
|
-
|
39
|
-
private
|
40
|
-
|
41
|
-
def validate
|
42
|
-
# required?(name)
|
43
|
-
# string?(name)
|
44
|
-
# not_empty?(name)
|
45
|
-
# required?(difficulty)
|
46
|
-
# difficulty?(difficulty)
|
47
|
-
# not_empty?(difficulty)
|
48
|
-
end
|
49
37
|
end
|
50
38
|
end
|
@@ -3,24 +3,9 @@ module CodebreakerGame
|
|
3
3
|
DEFAULT_MIN = 1
|
4
4
|
DEFAULT_MAX = 6
|
5
5
|
DEFAULT_LENGTH = 4
|
6
|
-
ORDER_AMOUNT = 10
|
7
6
|
|
8
7
|
def generate_secret(length = DEFAULT_LENGTH)
|
9
|
-
|
10
|
-
length.times do |degree|
|
11
|
-
number += generate_random * order(degree)
|
12
|
-
end
|
13
|
-
number
|
14
|
-
end
|
15
|
-
|
16
|
-
private
|
17
|
-
|
18
|
-
def order(degree)
|
19
|
-
ORDER_AMOUNT**degree
|
20
|
-
end
|
21
|
-
|
22
|
-
def generate_random(min = DEFAULT_MIN, max = DEFAULT_MAX)
|
23
|
-
rand(min..max)
|
8
|
+
Array.new(length) { rand(DEFAULT_MIN..DEFAULT_MAX) }.join.to_i
|
24
9
|
end
|
25
10
|
end
|
26
11
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: codebreaker_game
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Michael
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-12-
|
11
|
+
date: 2019-12-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -144,8 +144,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
144
144
|
- !ruby/object:Gem::Version
|
145
145
|
version: '0'
|
146
146
|
requirements: []
|
147
|
-
|
148
|
-
rubygems_version: 2.7.6
|
147
|
+
rubygems_version: 3.1.1
|
149
148
|
signing_key:
|
150
149
|
specification_version: 4
|
151
150
|
summary: Test application for RubyGarage.
|