dk_codebreaker 0.2 → 0.2.1
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/README.md +1 -1
- data/bin/console +3 -3
- data/dk_codebreaker.gemspec +4 -4
- data/lib/dk_codebreaker.rb +2 -2
- data/lib/dk_codebreaker/game.rb +13 -13
- data/lib/dk_codebreaker/version.rb +1 -1
- metadata +16 -23
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c29fb5907efee929608d5ef09b6249bb1ae275b7
|
4
|
+
data.tar.gz: 3110738bd86eb686dac8d3525dc442a9a1105fa9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6e66927b4516723d7605a087fbd22e5922cf30d29518098a079fcd16b3bd259024823c056ad82213c63f56d0c87c8a32757c17865bd3376eadc3771b8c819af1
|
7
|
+
data.tar.gz: 0f947c505290bb1b8bb1876b912ab4fec8b4a294a1fe3c8f5c5e8a8a953fd8eaa8c30feed6f47ff92092b99abd50ab21051d39453ac870ba1174d97596be3d48
|
data/README.md
CHANGED
@@ -25,7 +25,7 @@ Or install it yourself as:
|
|
25
25
|
## Quick documentation
|
26
26
|
|
27
27
|
```ruby
|
28
|
-
# create game
|
28
|
+
# create game instance, it get user name and attempts
|
29
29
|
game = DkCodebreaker::Game.new(name,attempts)
|
30
30
|
|
31
31
|
# mandatory run, this will generate secret code
|
data/bin/console
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
|
3
|
-
require
|
4
|
-
require
|
3
|
+
require 'bundler/setup'
|
4
|
+
require 'dk_codebreaker'
|
5
5
|
|
6
6
|
# You can add fixtures and/or initialization code here to make experimenting
|
7
7
|
# with your gem easier. You can also use a different console, if you like.
|
@@ -10,5 +10,5 @@ require "dk_codebreaker"
|
|
10
10
|
# require "pry"
|
11
11
|
# Pry.start
|
12
12
|
|
13
|
-
require
|
13
|
+
require 'irb'
|
14
14
|
IRB.start
|
data/dk_codebreaker.gemspec
CHANGED
@@ -21,8 +21,8 @@ Gem::Specification.new do |spec|
|
|
21
21
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
22
22
|
spec.require_paths = ["lib"]
|
23
23
|
|
24
|
-
spec.add_development_dependency "bundler"
|
25
|
-
spec.add_development_dependency "rake"
|
26
|
-
spec.add_development_dependency "rspec"
|
27
|
-
spec.add_development_dependency "rspec-collection_matchers"
|
24
|
+
spec.add_development_dependency "bundler"
|
25
|
+
spec.add_development_dependency "rake"
|
26
|
+
spec.add_development_dependency "rspec"
|
27
|
+
spec.add_development_dependency "rspec-collection_matchers"
|
28
28
|
end
|
data/lib/dk_codebreaker.rb
CHANGED
data/lib/dk_codebreaker/game.rb
CHANGED
@@ -3,9 +3,9 @@ module DkCodebreaker
|
|
3
3
|
attr_reader :hint_status, :attempt
|
4
4
|
attr_accessor :player, :attempts
|
5
5
|
|
6
|
-
def initialize
|
6
|
+
def initialize(player = nil, attempts = 10)
|
7
7
|
@submit_code = nil
|
8
|
-
@secret_code =
|
8
|
+
@secret_code = ''
|
9
9
|
@player = player
|
10
10
|
@attempt = 1
|
11
11
|
@hint_status = false
|
@@ -17,12 +17,12 @@ module DkCodebreaker
|
|
17
17
|
def restart
|
18
18
|
@attempt = 1
|
19
19
|
@submit_code = nil
|
20
|
-
@secret_code =
|
20
|
+
@secret_code = ''
|
21
21
|
@hint_status = false
|
22
22
|
generate_code
|
23
23
|
end
|
24
24
|
|
25
|
-
def guess
|
25
|
+
def guess(submit_code)
|
26
26
|
if @attempt < @attempts
|
27
27
|
if submit_code.is_a? String
|
28
28
|
return :less_then_four if submit_code.size < 4
|
@@ -40,8 +40,8 @@ module DkCodebreaker
|
|
40
40
|
end
|
41
41
|
|
42
42
|
def hint
|
43
|
-
unless @
|
44
|
-
send =
|
43
|
+
unless @hint_status
|
44
|
+
send = '****'
|
45
45
|
num = rand(0..3)
|
46
46
|
send[num] = @secret_code[num]
|
47
47
|
@hint_status = true
|
@@ -55,7 +55,7 @@ module DkCodebreaker
|
|
55
55
|
result: @last_result,
|
56
56
|
attempt: @attempt,
|
57
57
|
attempts: @attempts,
|
58
|
-
time: Time.new.strftime(
|
58
|
+
time: Time.new.strftime('%m/%d/%Y/%H/%M')
|
59
59
|
}
|
60
60
|
end
|
61
61
|
|
@@ -66,13 +66,13 @@ module DkCodebreaker
|
|
66
66
|
end
|
67
67
|
|
68
68
|
def position_eq
|
69
|
-
submits = @submit_code.split(
|
70
|
-
secrets = @secret_code.split(
|
71
|
-
answer =
|
69
|
+
submits = @submit_code.split('')
|
70
|
+
secrets = @secret_code.split('')
|
71
|
+
answer = ''
|
72
72
|
|
73
73
|
submits.each_with_index do |submit,index|
|
74
74
|
if submit == secrets[index]
|
75
|
-
answer <<
|
75
|
+
answer << '+'
|
76
76
|
submits[index] = nil
|
77
77
|
secrets[index] = nil
|
78
78
|
end
|
@@ -81,10 +81,10 @@ module DkCodebreaker
|
|
81
81
|
[answer, submits, secrets]
|
82
82
|
end
|
83
83
|
|
84
|
-
def numbers_eq
|
84
|
+
def numbers_eq(array)
|
85
85
|
array[1].each do |submit| #submits
|
86
86
|
next if submit == nil
|
87
|
-
array[0] <<
|
87
|
+
array[0] << '-' if array[2].include?(submit)
|
88
88
|
end
|
89
89
|
array[0]
|
90
90
|
end
|
metadata
CHANGED
@@ -1,77 +1,71 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dk_codebreaker
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 0.2.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Den Key
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-05-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - "
|
17
|
+
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
19
|
+
version: '0'
|
20
20
|
type: :development
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- - "
|
24
|
+
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version:
|
26
|
+
version: '0'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: rake
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- - "
|
31
|
+
- - ">="
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version:
|
33
|
+
version: '0'
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- - "
|
38
|
+
- - ">="
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version:
|
40
|
+
version: '0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: rspec
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- - "
|
45
|
+
- - ">="
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: '
|
47
|
+
version: '0'
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- - "
|
52
|
+
- - ">="
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: '
|
54
|
+
version: '0'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: rspec-collection_matchers
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- - "~>"
|
60
|
-
- !ruby/object:Gem::Version
|
61
|
-
version: '1.1'
|
62
59
|
- - ">="
|
63
60
|
- !ruby/object:Gem::Version
|
64
|
-
version:
|
61
|
+
version: '0'
|
65
62
|
type: :development
|
66
63
|
prerelease: false
|
67
64
|
version_requirements: !ruby/object:Gem::Requirement
|
68
65
|
requirements:
|
69
|
-
- - "~>"
|
70
|
-
- !ruby/object:Gem::Version
|
71
|
-
version: '1.1'
|
72
66
|
- - ">="
|
73
67
|
- !ruby/object:Gem::Version
|
74
|
-
version:
|
68
|
+
version: '0'
|
75
69
|
description: "Codebreaker is a logic game in which a code-breaker tries to break a
|
76
70
|
secret code created by a code-maker.\n The code-maker,
|
77
71
|
which will be played by the application we’re going to write, \n creates
|
@@ -120,4 +114,3 @@ signing_key:
|
|
120
114
|
specification_version: 4
|
121
115
|
summary: Codebreaker is a logic game.
|
122
116
|
test_files: []
|
123
|
-
has_rdoc:
|