Battlecity 0.0.2 → 0.0.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 +4 -4
- data/lib/Battlecity/version.rb +1 -1
- data/lib/entities/player.rb +2 -1
- data/spec/collider_spec.rb +30 -0
- data/spec/env_spec.rb +34 -0
- data/spec/player_spec.rb +44 -0
- data/spec/spec_helper.rb +7 -0
- metadata +10 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 65fea14dc02f115ac203dbe4261d0456b62005ea
|
4
|
+
data.tar.gz: 759052b6851397734ef1f1925cd6d37e74af6c91
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a16c7d9fc3fd61a66a025435ab9bee39ed709623738038b49a0178c717ae5de6abde432e047d987433ac3cd68bf9153153193b18ba472d6da6b68de7055b239e
|
7
|
+
data.tar.gz: 41c2f6532e188af340dca4a93a11090b02158cc15373d5bff8bf02a69c88a37708d48ec731fa6ab45b415cd3acc1c04983e195d92693372fe080bb6698a9eca9
|
data/lib/Battlecity/version.rb
CHANGED
data/lib/entities/player.rb
CHANGED
@@ -0,0 +1,30 @@
|
|
1
|
+
require 'rspec'
|
2
|
+
|
3
|
+
require_relative 'spec_helper'
|
4
|
+
require 'entities/collider'
|
5
|
+
|
6
|
+
describe Collider do
|
7
|
+
context 'Should collide' do
|
8
|
+
subject(:collider1) { Collider.new(0, 0, 2, 2) }
|
9
|
+
subject(:collider2) { Collider.new(1, 1, 2, 2) }
|
10
|
+
|
11
|
+
it { expect(collider1.collides?(collider2)).to eq true }
|
12
|
+
|
13
|
+
end
|
14
|
+
|
15
|
+
context 'testing width and height - should collide' do
|
16
|
+
subject(:collider1) { Collider.new(0, 0, 2, 2) }
|
17
|
+
subject(:collider2) { Collider.new(7, 7, 2, 2) }
|
18
|
+
|
19
|
+
it { expect(collider1.collides?(collider2)).to eq true }
|
20
|
+
end
|
21
|
+
|
22
|
+
context 'testing width and height - should not collide' do
|
23
|
+
subject(:collider1) { Collider.new(0, 0, 2, 2) }
|
24
|
+
subject(:collider2) { Collider.new(16, 16, 2, 2) }
|
25
|
+
|
26
|
+
it { expect(collider1.collides?(collider2)).to eq false }
|
27
|
+
end
|
28
|
+
|
29
|
+
|
30
|
+
end
|
data/spec/env_spec.rb
ADDED
@@ -0,0 +1,34 @@
|
|
1
|
+
require 'rspec'
|
2
|
+
|
3
|
+
require_relative 'spec_helper'
|
4
|
+
require 'entities/stone'
|
5
|
+
require 'entities/bush'
|
6
|
+
require 'entities/brick'
|
7
|
+
require 'entities/water'
|
8
|
+
require 'entities/bullet'
|
9
|
+
require 'entities/tank'
|
10
|
+
require 'misc/game_window'
|
11
|
+
$window = GameWindow.new
|
12
|
+
|
13
|
+
describe 'Environment behaviour' do
|
14
|
+
|
15
|
+
context 'Stone has collider' do
|
16
|
+
subject(:stone) { Stone.new(0, 0) }
|
17
|
+
it { expect(stone.solid?).to eq true }
|
18
|
+
end
|
19
|
+
context 'Bush has not collider' do
|
20
|
+
subject(:bush) { Bush.new(1, 1) }
|
21
|
+
#it { expect(stone.collider.collides?(bush.collider)).to eq false }
|
22
|
+
it { expect(bush.solid?).to eq false }
|
23
|
+
end
|
24
|
+
|
25
|
+
context 'Brick has collider' do
|
26
|
+
subject(:brick) { Brick.new(0, 0) }
|
27
|
+
it { expect(brick.solid?).to eq true }
|
28
|
+
end
|
29
|
+
|
30
|
+
context 'Water has collider' do
|
31
|
+
subject(:obj) { Water.new(0, 0) }
|
32
|
+
it { expect(obj.solid?).to eq true }
|
33
|
+
end
|
34
|
+
end
|
data/spec/player_spec.rb
ADDED
@@ -0,0 +1,44 @@
|
|
1
|
+
require 'rspec'
|
2
|
+
|
3
|
+
require_relative 'spec_helper'
|
4
|
+
require 'entities/player'
|
5
|
+
require 'entities/upgrade'
|
6
|
+
require 'misc/game_window'
|
7
|
+
$window = GameWindow.new
|
8
|
+
|
9
|
+
describe 'Player movement' do
|
10
|
+
subject(:pl) { Player.new(0,1,nil) }
|
11
|
+
it 'Player can turn into right direction' do
|
12
|
+
expect { pl.input([:p1down]) }.to change {
|
13
|
+
pl.direction
|
14
|
+
}.from(:up).to(:down)
|
15
|
+
expect { pl.input([:p1up]) }.to change {
|
16
|
+
pl.direction
|
17
|
+
}.from(:down).to(:up)
|
18
|
+
expect { pl.input([:p1left]) }.to change {
|
19
|
+
pl.direction
|
20
|
+
}.from(:up).to(:left)
|
21
|
+
expect { pl.input([:p1right]) }.to change {
|
22
|
+
pl.direction
|
23
|
+
}.from(:left).to(:right)
|
24
|
+
|
25
|
+
end
|
26
|
+
|
27
|
+
it 'Player can move' do
|
28
|
+
expect { pl.move }.to change { pl.y
|
29
|
+
}.from(1).to(0)
|
30
|
+
end
|
31
|
+
it 'Player can level up' do
|
32
|
+
expect {pl.level_up}.to change {pl.level}.by(1)
|
33
|
+
end
|
34
|
+
|
35
|
+
it 'Player can increase speed when level up' do
|
36
|
+
expect {pl.level_up}.to change {pl.level}.by(1)
|
37
|
+
expect {pl.level_up}.to change {pl.speed}.by(0.5)
|
38
|
+
end
|
39
|
+
|
40
|
+
it 'Player levels up when collect star' do
|
41
|
+
u = Upgrade.new(0,0,:powerup_star)
|
42
|
+
expect {pl.upgrade_taken(u)}.to change {pl.level}.by(1)
|
43
|
+
end
|
44
|
+
end
|
data/spec/spec_helper.rb
ADDED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: Battlecity
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tomáš Šabata
|
@@ -95,6 +95,10 @@ files:
|
|
95
95
|
- media/emulogic.ttf
|
96
96
|
- media/sprites.png
|
97
97
|
- media/sprites_transparent.png
|
98
|
+
- spec/collider_spec.rb
|
99
|
+
- spec/env_spec.rb
|
100
|
+
- spec/player_spec.rb
|
101
|
+
- spec/spec_helper.rb
|
98
102
|
homepage: ''
|
99
103
|
licenses:
|
100
104
|
- MIT
|
@@ -119,4 +123,8 @@ rubygems_version: 2.4.5.1
|
|
119
123
|
signing_key:
|
120
124
|
specification_version: 4
|
121
125
|
summary: Battle city is old NES game. I did remake in ruby for school project
|
122
|
-
test_files:
|
126
|
+
test_files:
|
127
|
+
- spec/collider_spec.rb
|
128
|
+
- spec/env_spec.rb
|
129
|
+
- spec/player_spec.rb
|
130
|
+
- spec/spec_helper.rb
|