codebreaker_kub 0.1.7 → 0.1.8
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 +4 -4
- data/Gemfile +0 -3
- data/Gemfile.lock +2 -2
- data/codebreaker.gemspec +1 -0
- data/lib/codebreaker/data/locales/en.yml +1 -0
- data/lib/codebreaker/game.rb +13 -4
- data/lib/codebreaker/output.rb +4 -0
- data/lib/codebreaker/version.rb +1 -1
- metadata +16 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4ca339901e4380146ff8f4454ad542b513fd422331f53f9ddd8a14efdb2e72c5
|
4
|
+
data.tar.gz: 7b349065f626cdc2b54fcebfbc6601ea0d66a4d66fe42309b2d7cc61d7e02783
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 197df5af39c7c1e49b9d689f0042cd820a42c7ab9fae406331a9b17dc2f07ff07738700349c85053165f0add09262f630f4103416bd7c1e16509604888aa1b28
|
7
|
+
data.tar.gz: 96974c45577b6193a2e0d86e217e95ee0869cb1a821883d1a9fa038ba004ff9eaf4e4072a13e3cc44c159f54ee7616070e7a0019cd17659c9d9dc6b6debc7da8
|
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
codebreaker_kub (0.1.
|
4
|
+
codebreaker_kub (0.1.7)
|
5
5
|
|
6
6
|
GEM
|
7
7
|
remote: https://rubygems.org/
|
@@ -65,7 +65,7 @@ DEPENDENCIES
|
|
65
65
|
fasterer (~> 0.8)
|
66
66
|
i18n (~> 1.8)
|
67
67
|
rake (~> 12.0)
|
68
|
-
rspec (~> 3.
|
68
|
+
rspec (~> 3.9)
|
69
69
|
rubocop (~> 0.87)
|
70
70
|
simplecov (~> 0.18)
|
71
71
|
|
data/codebreaker.gemspec
CHANGED
@@ -28,6 +28,7 @@ Gem::Specification.new do |spec|
|
|
28
28
|
|
29
29
|
spec.add_development_dependency 'fasterer', '~>0.8'
|
30
30
|
spec.add_development_dependency 'i18n', '~>1.8'
|
31
|
+
spec.add_development_dependency 'rake', '~> 12.0'
|
31
32
|
spec.add_development_dependency 'rspec', '~>3.9'
|
32
33
|
spec.add_development_dependency 'rubocop', '~>0.87'
|
33
34
|
spec.add_development_dependency 'simplecov', '~>0.18'
|
@@ -19,6 +19,7 @@
|
|
19
19
|
wrong_difficulty: "There is no such level. Select from available, please"
|
20
20
|
get_hint: "You can choose get hint - puts 'hint'"
|
21
21
|
no_hints: "You have no hints"
|
22
|
+
enter_guess: "Enter your guess, please"
|
22
23
|
wrong_input: "Your input is invalid or there is no such command."
|
23
24
|
win: "YOU WIN!"
|
24
25
|
lose: "You lose, sorry("
|
data/lib/codebreaker/game.rb
CHANGED
@@ -1,10 +1,17 @@
|
|
1
1
|
module Codebreaker
|
2
2
|
class Game
|
3
3
|
attr_accessor :input_code, :code, :name, :difficulties, :difficulty, :hints_left, :attempts_left
|
4
|
-
|
4
|
+
attr_reader :minuse, :plus, :none
|
5
5
|
def initialize
|
6
6
|
@difficulties = Codebreaker::Loader.load('difficulties')
|
7
7
|
@code = generate_code
|
8
|
+
symbols
|
9
|
+
end
|
10
|
+
|
11
|
+
def symbols(minuse = '-', plus = '+', none = '')
|
12
|
+
@minuse = minuse
|
13
|
+
@plus = plus
|
14
|
+
@none = none
|
8
15
|
end
|
9
16
|
|
10
17
|
def game_option(name, difficulty)
|
@@ -50,11 +57,13 @@ module Codebreaker
|
|
50
57
|
def check_input(code = @code.chars)
|
51
58
|
input = @input_code.chars
|
52
59
|
minuses = (code & input).map { |element| [code.count(element), input.count(element)].min }.sum
|
53
|
-
result =
|
60
|
+
result = @minuse * minuses
|
54
61
|
input.each.with_index do |element, index|
|
55
|
-
result.sub!(
|
62
|
+
result.sub!(@minuse, @plus) if element == code[index]
|
56
63
|
end
|
57
|
-
result
|
64
|
+
return result unless result.empty?
|
65
|
+
|
66
|
+
@none
|
58
67
|
end
|
59
68
|
|
60
69
|
def generate_code
|
data/lib/codebreaker/output.rb
CHANGED
data/lib/codebreaker/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: codebreaker_kub
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- katia kub
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-07-
|
11
|
+
date: 2020-07-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: fasterer
|
@@ -38,6 +38,20 @@ dependencies:
|
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '1.8'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: rake
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '12.0'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '12.0'
|
41
55
|
- !ruby/object:Gem::Dependency
|
42
56
|
name: rspec
|
43
57
|
requirement: !ruby/object:Gem::Requirement
|