rtanque 0.1.2 → 0.1.3
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 +5 -5
- data/.ruby-version +1 -1
- data/.travis.yml +5 -0
- data/Gemfile.ci +2 -3
- data/README.md +5 -1
- data/bin/rtanque +1 -1
- data/lib/rtanque/version.rb +1 -1
- data/rtanque.gemspec +6 -7
- data/spec/rtanque/bot_spec.rb +2 -2
- data/spec/rtanque/heading_spec.rb +8 -8
- data/spec/rtanque/match_spec.rb +4 -4
- data/spec/rtanque/normalized_attr_spec.rb +3 -5
- data/spec/rtanque/point_spec.rb +11 -11
- data/spec/rtanque/radar_spec.rb +7 -7
- data/spec/rtanque/shell_spec.rb +2 -2
- data/spec/spec_helper.rb +0 -1
- metadata +37 -51
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 904ec986676c1508ca635f9410de479034ffd7c17d5fa62b0f1024e0321f7b18
|
4
|
+
data.tar.gz: cc73862924bab7dfbd15c440dc80454080a5bde83ea1f29abd9b5f78aca366d1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 829cba49a0e2c4de0d280ea42b3eb0cb5dd5c8684deb2a3491aac0717799be420696ad740c71712fc8c4403f778f77c34344d83de86a14f7ebb9816cf9e867ff
|
7
|
+
data.tar.gz: 24dad8514f8d856dd6e30b08a0118b4c76a6ddccf540394130d3f619182c867b855765065571f267113b9d3923c024e93ed3ea95b528a1e9cc7d5cddbe268b2b
|
data/.ruby-version
CHANGED
@@ -1 +1 @@
|
|
1
|
-
2.
|
1
|
+
2.5.0
|
data/.travis.yml
CHANGED
data/Gemfile.ci
CHANGED
data/README.md
CHANGED
@@ -33,7 +33,7 @@ RTanque is based on the Java project [Robocode](http://robocode.sourceforge.net/
|
|
33
33
|
## Requirements
|
34
34
|
|
35
35
|
* The [Gosu](https://github.com/jlnr/gosu) library used for rendering has some dependencies. Use the [Gosu getting started](https://github.com/jlnr/gosu/wiki/Getting-Started-on-Linux) to resolve any for your system.
|
36
|
-
* Ruby 2.
|
36
|
+
* Ruby 2.2 or later (also tested on earlier versions)
|
37
37
|
|
38
38
|
## Quick Start
|
39
39
|
|
@@ -91,6 +91,10 @@ At some point you'll want to compete against other bots, or maybe you'll even or
|
|
91
91
|
Ask your friends to upload their bot(s) in a [gist](https://gist.github.com/), which you can then download with the following command:
|
92
92
|
|
93
93
|
bundle exec rtanque get_gist <gist_id> ...
|
94
|
+
|
95
|
+
For example, to download [Marksman](https://gist.github.com/SteveRidout/5909793)
|
96
|
+
|
97
|
+
bundle exec rtanque get_gist 5909793
|
94
98
|
|
95
99
|
If you'd like to publicly share your bot, post its gist id on the wiki https://github.com/awilliams/RTanque/wiki/bot-gists
|
96
100
|
|
data/bin/rtanque
CHANGED
@@ -103,7 +103,7 @@ LONGDESC
|
|
103
103
|
puts set_color("Error! Gist #{gist_id} not found. Please ensure the gist id is correct.", :red)
|
104
104
|
else
|
105
105
|
gist.files.attrs.each do |name, gist_file|
|
106
|
-
gist_path = "#{BOT_DIR}/#{gist.
|
106
|
+
gist_path = "#{BOT_DIR}/#{gist.owner.login}.#{gist_id}/#{name}"
|
107
107
|
create_file(gist_path, gist_file.content, options)
|
108
108
|
end
|
109
109
|
end
|
data/lib/rtanque/version.rb
CHANGED
data/rtanque.gemspec
CHANGED
@@ -22,13 +22,12 @@ Have fun competing against friends' tanks or the sample ones included. Maybe you
|
|
22
22
|
gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
|
23
23
|
gem.require_paths = ["lib"]
|
24
24
|
|
25
|
-
gem.add_dependency 'gosu', '~> 0.
|
26
|
-
gem.add_dependency 'configuration', '~> 1.3.
|
27
|
-
gem.add_dependency 'octokit', '~>
|
28
|
-
gem.add_dependency 'thor', '~> 0.
|
29
|
-
gem.add_dependency 'texplay'
|
25
|
+
gem.add_dependency 'gosu', '~> 0.13.1'
|
26
|
+
gem.add_dependency 'configuration', '~> 1.3.4'
|
27
|
+
gem.add_dependency 'octokit', '~> 4.8.0'
|
28
|
+
gem.add_dependency 'thor', '~> 0.20.0'
|
29
|
+
gem.add_dependency 'texplay', '>= 0.4.4pre'
|
30
30
|
|
31
31
|
gem.add_development_dependency 'pry'
|
32
|
-
gem.add_development_dependency 'rspec', '~>
|
33
|
-
gem.add_development_dependency 'rspec-mocks', '~> 2.13.0'
|
32
|
+
gem.add_development_dependency 'rspec', '~> 3.7.0'
|
34
33
|
end
|
data/spec/rtanque/bot_spec.rb
CHANGED
@@ -6,12 +6,12 @@ describe RTanque::Bot do
|
|
6
6
|
|
7
7
|
context '#dead?' do
|
8
8
|
it 'should not initially be dead' do
|
9
|
-
expect(bot.dead?).to
|
9
|
+
expect(bot.dead?).to be_falsey
|
10
10
|
end
|
11
11
|
|
12
12
|
it 'should be true if health is below min' do
|
13
13
|
bot.health = RTanque::Configuration.bot.health.min - 1
|
14
|
-
expect(bot.dead?).to
|
14
|
+
expect(bot.dead?).to be_truthy
|
15
15
|
end
|
16
16
|
end
|
17
17
|
|
@@ -110,7 +110,7 @@ describe RTanque::Heading do
|
|
110
110
|
end
|
111
111
|
|
112
112
|
it 'creates frozen object' do
|
113
|
-
expect(described_class.new(0).frozen?).to
|
113
|
+
expect(described_class.new(0).frozen?).to be_truthy
|
114
114
|
end
|
115
115
|
end
|
116
116
|
|
@@ -135,43 +135,43 @@ describe RTanque::Heading do
|
|
135
135
|
describe '#==' do
|
136
136
|
it 'works like Numeric, ignoring type' do
|
137
137
|
a = described_class.new(1.0)
|
138
|
-
expect(a == 1).to
|
138
|
+
expect(a == 1).to be_truthy
|
139
139
|
end
|
140
140
|
|
141
141
|
it 'correctly compares two equal headings' do
|
142
142
|
a = described_class.new(1.0)
|
143
143
|
b = described_class.new(1.0)
|
144
|
-
expect(a == b).to
|
144
|
+
expect(a == b).to be_truthy
|
145
145
|
end
|
146
146
|
|
147
147
|
it 'correctly compares two different headings' do
|
148
148
|
a = described_class.new(0)
|
149
149
|
b = described_class.new(1.0)
|
150
|
-
expect(a == b).to
|
150
|
+
expect(a == b).to be_falsey
|
151
151
|
end
|
152
152
|
|
153
153
|
it 'compares to a numeric on LHS' do
|
154
154
|
a = described_class.new(Math::PI)
|
155
|
-
expect(Math::PI == a).to
|
155
|
+
expect(Math::PI == a).to be_truthy
|
156
156
|
end
|
157
157
|
end
|
158
158
|
|
159
159
|
describe '#eql?' do
|
160
160
|
it 'compares types like Numeric, comparing type' do
|
161
161
|
a = described_class.new(1.0)
|
162
|
-
expect(a.eql?(1)).to
|
162
|
+
expect(a.eql?(1)).to be_falsey
|
163
163
|
end
|
164
164
|
|
165
165
|
it 'correctly compares two equal headings' do
|
166
166
|
a = described_class.new(1.0)
|
167
167
|
b = described_class.new(1.0)
|
168
|
-
expect(a.eql?(b)).to
|
168
|
+
expect(a.eql?(b)).to be_truthy
|
169
169
|
end
|
170
170
|
|
171
171
|
it 'correctly compares two different headings' do
|
172
172
|
a = described_class.new(0)
|
173
173
|
b = described_class.new(1.0)
|
174
|
-
expect(a.eql?(b)).to
|
174
|
+
expect(a.eql?(b)).to be_falsey
|
175
175
|
end
|
176
176
|
end
|
177
177
|
|
data/spec/rtanque/match_spec.rb
CHANGED
@@ -12,19 +12,19 @@ describe RTanque::Match do
|
|
12
12
|
it 'should allow adding bots' do
|
13
13
|
bot = double('bot')
|
14
14
|
@instance.add_bots(bot)
|
15
|
-
expect(@instance.bots.include?(bot)).to
|
15
|
+
expect(@instance.bots.include?(bot)).to be_truthy
|
16
16
|
end
|
17
17
|
|
18
18
|
describe '#finished?' do
|
19
19
|
it 'should be true if one or less bots left' do
|
20
|
-
expect(@instance.finished?).to
|
20
|
+
expect(@instance.finished?).to be_truthy
|
21
21
|
end
|
22
22
|
|
23
23
|
it 'should be false if two or more bots left' do
|
24
24
|
bot1 = double('bot', :name => "bot1")
|
25
25
|
bot2 = double('bot', :name => "bot2")
|
26
26
|
@instance.add_bots(bot1, bot2)
|
27
|
-
expect(@instance.finished?).to
|
27
|
+
expect(@instance.finished?).to be_falsey
|
28
28
|
end
|
29
29
|
|
30
30
|
it 'should be true if two or more bots left w/ same name' do
|
@@ -32,7 +32,7 @@ describe RTanque::Match do
|
|
32
32
|
bot1 = double('bot', :name => "bot1")
|
33
33
|
bot2 = double('bot', :name => "bot1")
|
34
34
|
@instance.add_bots(bot1, bot2)
|
35
|
-
expect(@instance.finished?).to
|
35
|
+
expect(@instance.finished?).to be_truthy
|
36
36
|
end
|
37
37
|
end
|
38
38
|
|
@@ -8,7 +8,7 @@ describe RTanque::NormalizedAttr do
|
|
8
8
|
described_class::AttrContainer.new(1..5)
|
9
9
|
end
|
10
10
|
let(:attached_instance) do
|
11
|
-
|
11
|
+
double('some_object')
|
12
12
|
end
|
13
13
|
|
14
14
|
it 'has -infinity as max_delta' do
|
@@ -33,13 +33,11 @@ describe RTanque::NormalizedAttr do
|
|
33
33
|
described_class::AttrContainer.new(0..5, lambda{ |attached| attached.max_delta })
|
34
34
|
end
|
35
35
|
let(:attached_instance) do
|
36
|
-
|
36
|
+
double('some_object', :max_delta => 0.1)
|
37
37
|
end
|
38
38
|
|
39
39
|
it 'should call block for max_delta' do
|
40
|
-
|
41
|
-
attached.should_receive(:max_delta).and_return(0.1)
|
42
|
-
expect(instance.max_delta(attached)).to eq 0.1
|
40
|
+
expect(instance.max_delta(attached_instance)).to eq 0.1
|
43
41
|
end
|
44
42
|
|
45
43
|
it 'does not allow a change greater than given delta' do
|
data/spec/rtanque/point_spec.rb
CHANGED
@@ -19,7 +19,7 @@ describe RTanque::Point do
|
|
19
19
|
context '#initialize' do
|
20
20
|
it 'should be frozen' do
|
21
21
|
a = described_class.new(10, 10, @arena)
|
22
|
-
expect(a.frozen?).to
|
22
|
+
expect(a.frozen?).to be_truthy
|
23
23
|
end
|
24
24
|
|
25
25
|
it 'should not allow modification' do
|
@@ -83,15 +83,15 @@ describe RTanque::Point do
|
|
83
83
|
it 'is true when x & y are equal' do
|
84
84
|
a = described_class.new(1, 1, @arena)
|
85
85
|
b = described_class.new(1, 1, @arena)
|
86
|
-
expect(a == b).to
|
87
|
-
expect(b == a).to
|
86
|
+
expect(a == b).to be_truthy
|
87
|
+
expect(b == a).to be_truthy
|
88
88
|
end
|
89
89
|
|
90
90
|
it 'is not true when x & y are equal' do
|
91
91
|
a = described_class.new(2, 1, @arena)
|
92
92
|
b = described_class.new(1, 1, @arena)
|
93
|
-
expect(a == b).to
|
94
|
-
expect(b == a).to
|
93
|
+
expect(a == b).to be_falsey
|
94
|
+
expect(b == a).to be_falsey
|
95
95
|
end
|
96
96
|
end
|
97
97
|
|
@@ -165,32 +165,32 @@ describe RTanque::Point do
|
|
165
165
|
|
166
166
|
it 'correctly detects equal points' do
|
167
167
|
@b = @a.clone
|
168
|
-
expect(@a.within_radius?(@b, 1)).to
|
168
|
+
expect(@a.within_radius?(@b, 1)).to be_truthy
|
169
169
|
end
|
170
170
|
|
171
171
|
it 'correctly detects point 1 to left' do
|
172
172
|
@b = described_class.new(4, 5, @arena)
|
173
|
-
expect(@a.within_radius?(@b, 1)).to
|
173
|
+
expect(@a.within_radius?(@b, 1)).to be_truthy
|
174
174
|
end
|
175
175
|
|
176
176
|
it 'correctly detects point 1 to right' do
|
177
177
|
@b = described_class.new(6, 5, @arena)
|
178
|
-
expect(@a.within_radius?(@b, 1)).to
|
178
|
+
expect(@a.within_radius?(@b, 1)).to be_truthy
|
179
179
|
end
|
180
180
|
|
181
181
|
it 'correctly detects point 1 above' do
|
182
182
|
@b = described_class.new(5, 6, @arena)
|
183
|
-
expect(@a.within_radius?(@b, 1)).to
|
183
|
+
expect(@a.within_radius?(@b, 1)).to be_truthy
|
184
184
|
end
|
185
185
|
|
186
186
|
it 'correctly detects point 1 below' do
|
187
187
|
@b = described_class.new(5, 4, @arena)
|
188
|
-
expect(@a.within_radius?(@b, 1)).to
|
188
|
+
expect(@a.within_radius?(@b, 1)).to be_truthy
|
189
189
|
end
|
190
190
|
|
191
191
|
it 'correctly detects point 1 NE' do
|
192
192
|
@b = described_class.new(6, 6, @arena)
|
193
|
-
expect(@a.within_radius?(@b, 1)).to
|
193
|
+
expect(@a.within_radius?(@b, 1)).to be_falsey
|
194
194
|
end
|
195
195
|
end
|
196
196
|
end
|
data/spec/rtanque/radar_spec.rb
CHANGED
@@ -15,12 +15,12 @@ describe RTanque::Bot::Radar do
|
|
15
15
|
|
16
16
|
it 'should return an empty array' do
|
17
17
|
radar.scan([])
|
18
|
-
expect(radar.empty?).to
|
18
|
+
expect(radar.empty?).to be_truthy
|
19
19
|
end
|
20
20
|
|
21
21
|
it 'should 1 Reflection' do
|
22
22
|
radar.scan([mockbot(10, 20)])
|
23
|
-
expect(radar).to
|
23
|
+
expect(radar.instance_variable_get(:@reflections).size).to eq 1
|
24
24
|
expect(radar.first).to be_an_instance_of described_class::Reflection
|
25
25
|
end
|
26
26
|
|
@@ -32,7 +32,7 @@ describe RTanque::Bot::Radar do
|
|
32
32
|
it 'should clear self' do
|
33
33
|
radar.scan([mockbot(10, 20, 'otherbot')])
|
34
34
|
radar.scan([])
|
35
|
-
expect(radar.empty?).to
|
35
|
+
expect(radar.empty?).to be_truthy
|
36
36
|
end
|
37
37
|
|
38
38
|
it 'reflections should be correct' do
|
@@ -57,7 +57,7 @@ describe RTanque::Bot::Radar do
|
|
57
57
|
y = 10 + Math.cos(RTanque::Bot::Radar::VISION_RANGE.last) * 10
|
58
58
|
bots = [mockbot(x, y, 'border')]
|
59
59
|
radar.scan(bots)
|
60
|
-
expect(radar.
|
60
|
+
expect(radar.instance_variable_get(:@reflections).size).to eq 1
|
61
61
|
end
|
62
62
|
|
63
63
|
it 'should detect point on min vision range' do
|
@@ -65,7 +65,7 @@ describe RTanque::Bot::Radar do
|
|
65
65
|
y = 10 + Math.cos(RTanque::Bot::Radar::VISION_RANGE.first) * 10
|
66
66
|
bots = [mockbot(x, y, 'border')]
|
67
67
|
radar.scan(bots)
|
68
|
-
expect(radar.
|
68
|
+
expect(radar.instance_variable_get(:@reflections).size).to eq 1
|
69
69
|
end
|
70
70
|
|
71
71
|
it 'should not detect point outside max vision range' do
|
@@ -73,7 +73,7 @@ describe RTanque::Bot::Radar do
|
|
73
73
|
y = 10 + Math.cos(RTanque::Bot::Radar::VISION_RANGE.last) * 10
|
74
74
|
bots = [mockbot(x + 0.01, y, 'border')]
|
75
75
|
radar.scan(bots)
|
76
|
-
expect(radar.
|
76
|
+
expect(radar.instance_variable_get(:@reflections).size).to eq 0
|
77
77
|
end
|
78
78
|
|
79
79
|
it 'should not detect point outside max vision range' do
|
@@ -81,7 +81,7 @@ describe RTanque::Bot::Radar do
|
|
81
81
|
y = 10 + Math.cos(RTanque::Bot::Radar::VISION_RANGE.first) * 10
|
82
82
|
bots = [mockbot(x, y - 0.01, 'border')]
|
83
83
|
radar.scan(bots)
|
84
|
-
expect(radar.
|
84
|
+
expect(radar.instance_variable_get(:@reflections).size).to eq 0
|
85
85
|
end
|
86
86
|
end
|
87
87
|
end
|
data/spec/rtanque/shell_spec.rb
CHANGED
@@ -17,9 +17,9 @@ describe RTanque::Shell do
|
|
17
17
|
|
18
18
|
it 'shell should be dead after hit' do
|
19
19
|
bots = [mockbot(10, 10, 'deadbot')]
|
20
|
-
expect(shell.dead?).to
|
20
|
+
expect(shell.dead?).to be_falsey
|
21
21
|
shell.hits(bots)
|
22
|
-
expect(shell.dead?).to
|
22
|
+
expect(shell.dead?).to be_truthy
|
23
23
|
end
|
24
24
|
|
25
25
|
it 'should hit shell on bot radius' do
|
data/spec/spec_helper.rb
CHANGED
metadata
CHANGED
@@ -1,127 +1,113 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rtanque
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Adam Williams
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2018-01-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: gosu
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - ~>
|
17
|
+
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 0.
|
19
|
+
version: 0.13.1
|
20
20
|
type: :runtime
|
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: 0.
|
26
|
+
version: 0.13.1
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: configuration
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- - ~>
|
31
|
+
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 1.3.
|
33
|
+
version: 1.3.4
|
34
34
|
type: :runtime
|
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: 1.3.
|
40
|
+
version: 1.3.4
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: octokit
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- - ~>
|
45
|
+
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version:
|
47
|
+
version: 4.8.0
|
48
48
|
type: :runtime
|
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: 4.8.0
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: thor
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- - ~>
|
59
|
+
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: 0.
|
61
|
+
version: 0.20.0
|
62
62
|
type: :runtime
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- - ~>
|
66
|
+
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version: 0.
|
68
|
+
version: 0.20.0
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: texplay
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
|
-
- -
|
73
|
+
- - ">="
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version:
|
75
|
+
version: 0.4.4pre
|
76
76
|
type: :runtime
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
|
-
- -
|
80
|
+
- - ">="
|
81
81
|
- !ruby/object:Gem::Version
|
82
|
-
version:
|
82
|
+
version: 0.4.4pre
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
84
|
name: pry
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
|
-
- -
|
87
|
+
- - ">="
|
88
88
|
- !ruby/object:Gem::Version
|
89
89
|
version: '0'
|
90
90
|
type: :development
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
|
-
- -
|
94
|
+
- - ">="
|
95
95
|
- !ruby/object:Gem::Version
|
96
96
|
version: '0'
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
98
|
name: rspec
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
100
100
|
requirements:
|
101
|
-
- - ~>
|
102
|
-
- !ruby/object:Gem::Version
|
103
|
-
version: 2.13.0
|
104
|
-
type: :development
|
105
|
-
prerelease: false
|
106
|
-
version_requirements: !ruby/object:Gem::Requirement
|
107
|
-
requirements:
|
108
|
-
- - ~>
|
109
|
-
- !ruby/object:Gem::Version
|
110
|
-
version: 2.13.0
|
111
|
-
- !ruby/object:Gem::Dependency
|
112
|
-
name: rspec-mocks
|
113
|
-
requirement: !ruby/object:Gem::Requirement
|
114
|
-
requirements:
|
115
|
-
- - ~>
|
101
|
+
- - "~>"
|
116
102
|
- !ruby/object:Gem::Version
|
117
|
-
version:
|
103
|
+
version: 3.7.0
|
118
104
|
type: :development
|
119
105
|
prerelease: false
|
120
106
|
version_requirements: !ruby/object:Gem::Requirement
|
121
107
|
requirements:
|
122
|
-
- - ~>
|
108
|
+
- - "~>"
|
123
109
|
- !ruby/object:Gem::Version
|
124
|
-
version:
|
110
|
+
version: 3.7.0
|
125
111
|
description: |-
|
126
112
|
RTanque is a game for programmers. Players program the brain of a tank and then send their tank+brain into battle with other tanks. All tanks are otherwise equal.
|
127
113
|
|
@@ -135,12 +121,12 @@ executables:
|
|
135
121
|
extensions: []
|
136
122
|
extra_rdoc_files: []
|
137
123
|
files:
|
138
|
-
- .gitignore
|
139
|
-
- .rspec
|
140
|
-
- .ruby-gemset
|
141
|
-
- .ruby-version
|
142
|
-
- .travis.yml
|
143
|
-
- .yardopts
|
124
|
+
- ".gitignore"
|
125
|
+
- ".rspec"
|
126
|
+
- ".ruby-gemset"
|
127
|
+
- ".ruby-version"
|
128
|
+
- ".travis.yml"
|
129
|
+
- ".yardopts"
|
144
130
|
- Gemfile
|
145
131
|
- Gemfile.ci
|
146
132
|
- LICENSE.txt
|
@@ -276,17 +262,17 @@ require_paths:
|
|
276
262
|
- lib
|
277
263
|
required_ruby_version: !ruby/object:Gem::Requirement
|
278
264
|
requirements:
|
279
|
-
- -
|
265
|
+
- - ">="
|
280
266
|
- !ruby/object:Gem::Version
|
281
267
|
version: '0'
|
282
268
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
283
269
|
requirements:
|
284
|
-
- -
|
270
|
+
- - ">="
|
285
271
|
- !ruby/object:Gem::Version
|
286
272
|
version: '0'
|
287
273
|
requirements: []
|
288
274
|
rubyforge_project:
|
289
|
-
rubygems_version: 2.
|
275
|
+
rubygems_version: 2.7.3
|
290
276
|
signing_key:
|
291
277
|
specification_version: 4
|
292
278
|
summary: RTanque is a game for programmers. Players program the brain of a tank and
|