karnowski-ruby-warrior 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +3 -0
- data/LICENSE +20 -0
- data/README.rdoc +156 -0
- data/Rakefile +36 -0
- data/VERSION +1 -0
- data/bin/rubywarrior +8 -0
- data/features/levels.feature +50 -0
- data/features/profiles.feature +46 -0
- data/features/step_definitions/common_steps.rb +7 -0
- data/features/step_definitions/interaction_steps.rb +53 -0
- data/features/support/env.rb +8 -0
- data/features/support/mockio.rb +57 -0
- data/features/towers.feature +14 -0
- data/lib/ruby_warrior.rb +41 -0
- data/lib/ruby_warrior/abilities/attack.rb +24 -0
- data/lib/ruby_warrior/abilities/base.rb +36 -0
- data/lib/ruby_warrior/abilities/bind.rb +19 -0
- data/lib/ruby_warrior/abilities/direction_of.rb +13 -0
- data/lib/ruby_warrior/abilities/direction_of_stairs.rb +13 -0
- data/lib/ruby_warrior/abilities/distance.rb +13 -0
- data/lib/ruby_warrior/abilities/explode.rb +16 -0
- data/lib/ruby_warrior/abilities/feel.rb +13 -0
- data/lib/ruby_warrior/abilities/health.rb +13 -0
- data/lib/ruby_warrior/abilities/listen.rb +15 -0
- data/lib/ruby_warrior/abilities/look.rb +15 -0
- data/lib/ruby_warrior/abilities/pivot.rb +16 -0
- data/lib/ruby_warrior/abilities/rescue.rb +23 -0
- data/lib/ruby_warrior/abilities/rest.rb +20 -0
- data/lib/ruby_warrior/abilities/shoot.rb +23 -0
- data/lib/ruby_warrior/abilities/walk.rb +20 -0
- data/lib/ruby_warrior/config.rb +11 -0
- data/lib/ruby_warrior/core_additions.rb +25 -0
- data/lib/ruby_warrior/floor.rb +71 -0
- data/lib/ruby_warrior/game.rb +160 -0
- data/lib/ruby_warrior/level.rb +93 -0
- data/lib/ruby_warrior/level_loader.rb +52 -0
- data/lib/ruby_warrior/player_generator.rb +41 -0
- data/lib/ruby_warrior/position.rb +80 -0
- data/lib/ruby_warrior/profile.rb +86 -0
- data/lib/ruby_warrior/space.rb +63 -0
- data/lib/ruby_warrior/tower.rb +14 -0
- data/lib/ruby_warrior/turn.rb +38 -0
- data/lib/ruby_warrior/ui.rb +64 -0
- data/lib/ruby_warrior/units/archer.rb +34 -0
- data/lib/ruby_warrior/units/base.rb +95 -0
- data/lib/ruby_warrior/units/captive.rb +30 -0
- data/lib/ruby_warrior/units/sludge.rb +30 -0
- data/lib/ruby_warrior/units/thick_sludge.rb +13 -0
- data/lib/ruby_warrior/units/warrior.rb +58 -0
- data/lib/ruby_warrior/units/wizard.rb +34 -0
- data/ruby-warrior.gemspec +191 -0
- data/script/console +8 -0
- data/spec/fixtures/short-tower/level_001.rb +14 -0
- data/spec/fixtures/short-tower/level_002.rb +14 -0
- data/spec/fixtures/walking_player.rb +5 -0
- data/spec/ruby_warrior/abilities/attack_spec.rb +51 -0
- data/spec/ruby_warrior/abilities/base_spec.rb +24 -0
- data/spec/ruby_warrior/abilities/bind_spec.rb +19 -0
- data/spec/ruby_warrior/abilities/direction_of_spec.rb +13 -0
- data/spec/ruby_warrior/abilities/direction_of_stairs_spec.rb +13 -0
- data/spec/ruby_warrior/abilities/distance_spec.rb +13 -0
- data/spec/ruby_warrior/abilities/explode_spec.rb +21 -0
- data/spec/ruby_warrior/abilities/feel_spec.rb +13 -0
- data/spec/ruby_warrior/abilities/health_spec.rb +13 -0
- data/spec/ruby_warrior/abilities/listen_spec.rb +17 -0
- data/spec/ruby_warrior/abilities/look_spec.rb +15 -0
- data/spec/ruby_warrior/abilities/pivot_spec.rb +18 -0
- data/spec/ruby_warrior/abilities/rescue_spec.rb +40 -0
- data/spec/ruby_warrior/abilities/rest_spec.rb +29 -0
- data/spec/ruby_warrior/abilities/shoot_spec.rb +22 -0
- data/spec/ruby_warrior/abilities/walk_spec.rb +25 -0
- data/spec/ruby_warrior/floor_spec.rb +81 -0
- data/spec/ruby_warrior/game_spec.rb +96 -0
- data/spec/ruby_warrior/level_loader_spec.rb +54 -0
- data/spec/ruby_warrior/level_spec.rb +163 -0
- data/spec/ruby_warrior/player_generator_spec.rb +12 -0
- data/spec/ruby_warrior/position_spec.rb +103 -0
- data/spec/ruby_warrior/profile_spec.rb +125 -0
- data/spec/ruby_warrior/space_spec.rb +165 -0
- data/spec/ruby_warrior/tower_spec.rb +15 -0
- data/spec/ruby_warrior/turn_spec.rb +42 -0
- data/spec/ruby_warrior/ui_spec.rb +96 -0
- data/spec/ruby_warrior/units/archer_spec.rb +23 -0
- data/spec/ruby_warrior/units/base_spec.rb +133 -0
- data/spec/ruby_warrior/units/captive_spec.rb +34 -0
- data/spec/ruby_warrior/units/sludge_spec.rb +27 -0
- data/spec/ruby_warrior/units/thick_sludge_spec.rb +19 -0
- data/spec/ruby_warrior/units/warrior_spec.rb +60 -0
- data/spec/ruby_warrior/units/wizard_spec.rb +23 -0
- data/spec/spec_helper.rb +7 -0
- data/templates/README.erb +20 -0
- data/templates/player.rb +5 -0
- data/towers/beginner/level_001.rb +15 -0
- data/towers/beginner/level_002.rb +17 -0
- data/towers/beginner/level_003.rb +20 -0
- data/towers/beginner/level_004.rb +17 -0
- data/towers/beginner/level_005.rb +21 -0
- data/towers/beginner/level_006.rb +18 -0
- data/towers/beginner/level_007.rb +17 -0
- data/towers/beginner/level_008.rb +20 -0
- data/towers/beginner/level_009.rb +19 -0
- data/towers/intermediate/level_001.rb +17 -0
- data/towers/intermediate/level_002.rb +19 -0
- data/towers/intermediate/level_003.rb +22 -0
- data/towers/intermediate/level_004.rb +23 -0
- data/towers/intermediate/level_005.rb +18 -0
- data/towers/intermediate/level_006.rb +23 -0
- metadata +218 -0
data/templates/player.rb
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
# --------
|
2
|
+
# |@ >|
|
3
|
+
# --------
|
4
|
+
|
5
|
+
description "You see before yourself a long hallway with stairs at the end. There is nothing in the way."
|
6
|
+
tip "Call warrior.walk! to walk forward in the Player 'play_turn' method."
|
7
|
+
|
8
|
+
|
9
|
+
time_bonus 15
|
10
|
+
size 8, 1
|
11
|
+
stairs 7, 0
|
12
|
+
|
13
|
+
warrior 0, 0, :east do |u|
|
14
|
+
u.add_abilities :walk!
|
15
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
# --------
|
2
|
+
# |@ s >|
|
3
|
+
# --------
|
4
|
+
|
5
|
+
description "It is too dark to see anything, but you smell sludge nearby."
|
6
|
+
tip "Use warrior.feel.empty? to see if there's anything in front of you, and warrior.attack! to fight it. Remember, you can only do one action (ending in !) per turn."
|
7
|
+
clue "Add an if/else condition using warrior.feel.empty? to decide whether to warrior.attack! or warrior.walk!."
|
8
|
+
|
9
|
+
time_bonus 20
|
10
|
+
size 8, 1
|
11
|
+
stairs 7, 0
|
12
|
+
|
13
|
+
warrior 0, 0, :east do |u|
|
14
|
+
u.add_abilities :feel, :attack!
|
15
|
+
end
|
16
|
+
|
17
|
+
unit :sludge, 4, 0, :west
|
@@ -0,0 +1,20 @@
|
|
1
|
+
# ---------
|
2
|
+
# |@ s ss s>|
|
3
|
+
# ---------
|
4
|
+
|
5
|
+
description "The air feels thicker than before. There must be a horde of sludge."
|
6
|
+
tip "Be careful not to die! Use warrior.health to keep an eye on your health, and warrior.rest! to earn 10% of max health back."
|
7
|
+
clue "When there's no enemy ahead of you, call warrior.rest! until health is full before walking forward."
|
8
|
+
|
9
|
+
time_bonus 35
|
10
|
+
size 9, 1
|
11
|
+
stairs 8, 0
|
12
|
+
|
13
|
+
warrior 0, 0, :east do |u|
|
14
|
+
u.add_abilities :health, :rest!
|
15
|
+
end
|
16
|
+
|
17
|
+
unit :sludge, 2, 0, :west
|
18
|
+
unit :sludge, 4, 0, :west
|
19
|
+
unit :sludge, 5, 0, :west
|
20
|
+
unit :sludge, 7, 0, :west
|
@@ -0,0 +1,17 @@
|
|
1
|
+
# -------
|
2
|
+
# |@ Sa S>|
|
3
|
+
# -------
|
4
|
+
|
5
|
+
description "You can hear bow strings being stretched."
|
6
|
+
tip "No new abilities this time, but you must be careful not to rest while taking damage. Save a @health instance variable and compare it on each turn to see if you're taking damage."
|
7
|
+
clue "Set @health to your current health at the end of the turn. If this is greater than your current health next turn then you know you're taking damage and shouldn't rest."
|
8
|
+
|
9
|
+
time_bonus 45
|
10
|
+
size 7, 1
|
11
|
+
stairs 6, 0
|
12
|
+
|
13
|
+
warrior 0, 0, :east
|
14
|
+
|
15
|
+
unit :thick_sludge, 2, 0, :west
|
16
|
+
unit :archer, 3, 0, :west
|
17
|
+
unit :thick_sludge, 5, 0, :west
|
@@ -0,0 +1,21 @@
|
|
1
|
+
# -------
|
2
|
+
# |@ CaaSC|
|
3
|
+
# -------
|
4
|
+
|
5
|
+
description "You hear cries for help. Captives must need rescuing."
|
6
|
+
tip "Use warrior.feel.captive? to see if there's a captive, and warrior.rescue! to rescue him. Don't attack captives."
|
7
|
+
clue "Don't forget to constantly check if you're taking damage and rest until your health is full if you aren't taking damage."
|
8
|
+
|
9
|
+
time_bonus 45
|
10
|
+
size 7, 1
|
11
|
+
stairs 6, 0
|
12
|
+
|
13
|
+
warrior 0, 0, :east do |u|
|
14
|
+
u.add_abilities :rescue!
|
15
|
+
end
|
16
|
+
|
17
|
+
unit :captive, 2, 0, :west
|
18
|
+
unit :archer, 3, 0, :west
|
19
|
+
unit :archer, 4, 0, :west
|
20
|
+
unit :thick_sludge, 5, 0, :west
|
21
|
+
unit :captive, 6, 0, :west
|
@@ -0,0 +1,18 @@
|
|
1
|
+
# --------
|
2
|
+
# |C @ S aa|
|
3
|
+
# --------
|
4
|
+
|
5
|
+
description "The wall behind you feels a bit further away in this room. And you hear more cries for help."
|
6
|
+
tip "You can walk backward by passing ':backward' as an argument to walk!. Same goes for feel, rescue! and attack!."
|
7
|
+
clue "Walk backward if you are taking damage from afar and do not have enough health to attack. You may also want to consider walking backward until warrior.feel(:backward).wall?."
|
8
|
+
|
9
|
+
time_bonus 55
|
10
|
+
size 8, 1
|
11
|
+
stairs 7, 0
|
12
|
+
|
13
|
+
warrior 2, 0, :east
|
14
|
+
|
15
|
+
unit :captive, 0, 0, :east
|
16
|
+
unit :thick_sludge, 4, 0, :west
|
17
|
+
unit :archer, 6, 0, :west
|
18
|
+
unit :archer, 7, 0, :west
|
@@ -0,0 +1,17 @@
|
|
1
|
+
# ------
|
2
|
+
# |>a S @|
|
3
|
+
# ------
|
4
|
+
|
5
|
+
description "You feel a wall right in front of you and an opening behind you."
|
6
|
+
tip "You are not as effective at attacking backward. Use warrior.feel.wall? and warrior.pivot! to turn around."
|
7
|
+
|
8
|
+
time_bonus 30
|
9
|
+
size 6, 1
|
10
|
+
stairs 0, 0
|
11
|
+
|
12
|
+
warrior 5, 0, :east do |u|
|
13
|
+
u.add_abilities :pivot!
|
14
|
+
end
|
15
|
+
|
16
|
+
unit :archer, 1, 0, :east
|
17
|
+
unit :thick_sludge, 3, 0, :east
|
@@ -0,0 +1,20 @@
|
|
1
|
+
# -------
|
2
|
+
# |@ Cww>|
|
3
|
+
# -------
|
4
|
+
|
5
|
+
description "You hear the mumbling of wizards. Beware of their deadly wands! Good thing you found a bow."
|
6
|
+
tip "Use warrior.look to determine your surroundings, and warrior.shoot! to fire an arrow."
|
7
|
+
clue "Wizards are deadly but low in health. Kill them before they have time to attack."
|
8
|
+
|
9
|
+
time_bonus 20
|
10
|
+
size 6, 1
|
11
|
+
stairs 5, 0
|
12
|
+
|
13
|
+
warrior 0, 0, :east do |u|
|
14
|
+
u.add_abilities :look
|
15
|
+
u.add_abilities :shoot!
|
16
|
+
end
|
17
|
+
|
18
|
+
unit :captive, 2, 0, :west
|
19
|
+
unit :wizard, 3, 0, :west
|
20
|
+
unit :wizard, 4, 0, :west
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# -----------
|
2
|
+
# |>Ca @ S wC|
|
3
|
+
# -----------
|
4
|
+
|
5
|
+
description "Time to hone your skills and apply all of the abilities that you have learned."
|
6
|
+
tip "Watch your back."
|
7
|
+
clue "Don't just keep shooting the bow while you are being attacked from behind."
|
8
|
+
|
9
|
+
time_bonus 40
|
10
|
+
size 11, 1
|
11
|
+
stairs 0, 0
|
12
|
+
|
13
|
+
warrior 5, 0, :east
|
14
|
+
|
15
|
+
unit :captive, 1, 0, :east
|
16
|
+
unit :archer, 2, 0, :east
|
17
|
+
unit :thick_sludge, 7, 0, :west
|
18
|
+
unit :wizard, 9, 0, :west
|
19
|
+
unit :captive, 10, 0, :west
|
@@ -0,0 +1,17 @@
|
|
1
|
+
# ------
|
2
|
+
# | |
|
3
|
+
# |@ |
|
4
|
+
# | |
|
5
|
+
# | > |
|
6
|
+
# ------
|
7
|
+
|
8
|
+
description "Silence. The room feels large, but empty. Luckily you have a map of this tower to help find the stairs."
|
9
|
+
tip "Use warrior.direction_of_stairs to determine which direction stairs are located. Pass this to warrior.walk! to walk in that direction."
|
10
|
+
|
11
|
+
time_bonus 20
|
12
|
+
size 6, 4
|
13
|
+
stairs 2, 3
|
14
|
+
|
15
|
+
warrior 0, 1, :east do |u|
|
16
|
+
u.add_abilities :walk!, :feel, :direction_of_stairs
|
17
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# ----
|
2
|
+
# |@ s |
|
3
|
+
# | sS>|
|
4
|
+
# ----
|
5
|
+
|
6
|
+
description "Another large room, but with several enemies blocking your way to the stairs."
|
7
|
+
tip "Just like walking, you can attack! and feel in multiple directions (:forward, :left, :right, :backward)."
|
8
|
+
clue "Call warrior.feel(direction).enemy? in each direction to make sure there isn't an enemy beside you (attack if there is). Call warrior.rest! if you're low and health when there's no enemies around."
|
9
|
+
|
10
|
+
time_bonus 40
|
11
|
+
size 4, 2
|
12
|
+
stairs 3, 1
|
13
|
+
|
14
|
+
warrior 1, 0, :east do |u|
|
15
|
+
u.add_abilities :attack!, :health, :rest!
|
16
|
+
end
|
17
|
+
unit :sludge, 2, 0, :west
|
18
|
+
unit :thick_sludge, 2, 1, :west
|
19
|
+
unit :sludge, 1, 1, :north
|
@@ -0,0 +1,22 @@
|
|
1
|
+
# ---
|
2
|
+
# |>s |
|
3
|
+
# |s@s|
|
4
|
+
# | C |
|
5
|
+
# ---
|
6
|
+
|
7
|
+
description "You feel slime on all sides, you're surrounded!"
|
8
|
+
tip "Call warrior.bind!(direction) to bind an enemy to keep him from attacking. Bound enemies look like capitves."
|
9
|
+
clue "Count the number of enemies around you, if there's two or more, bind one."
|
10
|
+
|
11
|
+
time_bonus 50
|
12
|
+
size 3, 3
|
13
|
+
stairs 0, 0
|
14
|
+
|
15
|
+
warrior 1, 1, :east do |u|
|
16
|
+
u.add_abilities :rescue!, :bind!
|
17
|
+
end
|
18
|
+
|
19
|
+
unit :sludge, 1, 0, :west
|
20
|
+
unit :captive, 1, 2, :west
|
21
|
+
unit :sludge, 0, 1, :west
|
22
|
+
unit :sludge, 2, 1, :west
|
@@ -0,0 +1,23 @@
|
|
1
|
+
# ----
|
2
|
+
# |C s |
|
3
|
+
# | @ S|
|
4
|
+
# |C s>|
|
5
|
+
# ----
|
6
|
+
|
7
|
+
description "Your ears become more in tune with the surroundings. Listen to find enemies and captives!"
|
8
|
+
tip "Use warrior.listen to find spaces with other units, and warrior.direction_of to determine what direction they're in."
|
9
|
+
clue "Walk towards an enemy or captive with warrior.walk!(warrior.direction_of(warrior.listen.first)), once warrior.listen.empty? then head for the stairs."
|
10
|
+
|
11
|
+
time_bonus 55
|
12
|
+
size 4, 3
|
13
|
+
stairs 3, 2
|
14
|
+
|
15
|
+
warrior 1, 1, :east do |u|
|
16
|
+
u.add_abilities :listen, :direction_of
|
17
|
+
end
|
18
|
+
|
19
|
+
unit :captive, 0, 0, :east
|
20
|
+
unit :captive, 0, 2, :east
|
21
|
+
unit :sludge, 2, 0, :south
|
22
|
+
unit :thick_sludge, 3, 1, :west
|
23
|
+
unit :sludge, 2, 2, :north
|
@@ -0,0 +1,18 @@
|
|
1
|
+
# -----
|
2
|
+
# | S|
|
3
|
+
# |@> SC|
|
4
|
+
# -----
|
5
|
+
|
6
|
+
description "You can feel the stairs right next to you, but are you sure you want to go up them right away?"
|
7
|
+
tip "You'll get more points for clearing the level first. Use warrior.feel.stairs? and warrior.feel.empty? to determine where to go."
|
8
|
+
clue "If going towards a unit is the same direction as the stairs, try moving another empty direction until you can safely move toward the enemies."
|
9
|
+
|
10
|
+
time_bonus 45
|
11
|
+
size 5, 2
|
12
|
+
stairs 1, 1
|
13
|
+
|
14
|
+
warrior 0, 1, :east
|
15
|
+
|
16
|
+
unit :thick_sludge, 4, 0, :west
|
17
|
+
unit :thick_sludge, 3, 1, :north
|
18
|
+
unit :captive, 4, 1, :west
|
@@ -0,0 +1,23 @@
|
|
1
|
+
# ------
|
2
|
+
# | SC >|
|
3
|
+
# |@ SC |
|
4
|
+
# ------
|
5
|
+
|
6
|
+
description "What's that ticking? Some captives have a timed bomb at their feet!"
|
7
|
+
tip "It's best to rescue captives first that have space.ticking?, they'll soon go!"
|
8
|
+
clue "Avoid fighting enemies at first. Go around them until you've rescued all of the ticking captives."
|
9
|
+
|
10
|
+
time_bonus 50
|
11
|
+
size 6, 2
|
12
|
+
stairs 5, 0
|
13
|
+
|
14
|
+
warrior 0, 1, :east
|
15
|
+
|
16
|
+
unit :thick_sludge, 1, 0, :west
|
17
|
+
unit :thick_sludge, 3, 1, :west
|
18
|
+
unit :captive, 2, 0, :west do |u|
|
19
|
+
u.bomb_time = 6
|
20
|
+
end
|
21
|
+
unit :captive, 4, 1, :west do |u|
|
22
|
+
u.bomb_time = 10
|
23
|
+
end
|
metadata
ADDED
@@ -0,0 +1,218 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: karnowski-ruby-warrior
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.1
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Ryan Bates
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
|
12
|
+
date: 2009-09-25 00:00:00 -07:00
|
13
|
+
default_executable: rubywarrior
|
14
|
+
dependencies:
|
15
|
+
- !ruby/object:Gem::Dependency
|
16
|
+
name: rspec
|
17
|
+
type: :development
|
18
|
+
version_requirement:
|
19
|
+
version_requirements: !ruby/object:Gem::Requirement
|
20
|
+
requirements:
|
21
|
+
- - ">="
|
22
|
+
- !ruby/object:Gem::Version
|
23
|
+
version: "0"
|
24
|
+
version:
|
25
|
+
- !ruby/object:Gem::Dependency
|
26
|
+
name: cucumber
|
27
|
+
type: :development
|
28
|
+
version_requirement:
|
29
|
+
version_requirements: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: "0"
|
34
|
+
version:
|
35
|
+
description:
|
36
|
+
email: ryan@railscasts.com
|
37
|
+
executables:
|
38
|
+
- rubywarrior
|
39
|
+
extensions: []
|
40
|
+
|
41
|
+
extra_rdoc_files:
|
42
|
+
- LICENSE
|
43
|
+
- README.rdoc
|
44
|
+
files:
|
45
|
+
- .gitignore
|
46
|
+
- LICENSE
|
47
|
+
- README.rdoc
|
48
|
+
- Rakefile
|
49
|
+
- VERSION
|
50
|
+
- bin/rubywarrior
|
51
|
+
- features/levels.feature
|
52
|
+
- features/profiles.feature
|
53
|
+
- features/step_definitions/common_steps.rb
|
54
|
+
- features/step_definitions/interaction_steps.rb
|
55
|
+
- features/support/env.rb
|
56
|
+
- features/support/mockio.rb
|
57
|
+
- features/towers.feature
|
58
|
+
- lib/ruby_warrior.rb
|
59
|
+
- lib/ruby_warrior/abilities/attack.rb
|
60
|
+
- lib/ruby_warrior/abilities/base.rb
|
61
|
+
- lib/ruby_warrior/abilities/bind.rb
|
62
|
+
- lib/ruby_warrior/abilities/direction_of.rb
|
63
|
+
- lib/ruby_warrior/abilities/direction_of_stairs.rb
|
64
|
+
- lib/ruby_warrior/abilities/distance.rb
|
65
|
+
- lib/ruby_warrior/abilities/explode.rb
|
66
|
+
- lib/ruby_warrior/abilities/feel.rb
|
67
|
+
- lib/ruby_warrior/abilities/health.rb
|
68
|
+
- lib/ruby_warrior/abilities/listen.rb
|
69
|
+
- lib/ruby_warrior/abilities/look.rb
|
70
|
+
- lib/ruby_warrior/abilities/pivot.rb
|
71
|
+
- lib/ruby_warrior/abilities/rescue.rb
|
72
|
+
- lib/ruby_warrior/abilities/rest.rb
|
73
|
+
- lib/ruby_warrior/abilities/shoot.rb
|
74
|
+
- lib/ruby_warrior/abilities/walk.rb
|
75
|
+
- lib/ruby_warrior/config.rb
|
76
|
+
- lib/ruby_warrior/core_additions.rb
|
77
|
+
- lib/ruby_warrior/floor.rb
|
78
|
+
- lib/ruby_warrior/game.rb
|
79
|
+
- lib/ruby_warrior/level.rb
|
80
|
+
- lib/ruby_warrior/level_loader.rb
|
81
|
+
- lib/ruby_warrior/player_generator.rb
|
82
|
+
- lib/ruby_warrior/position.rb
|
83
|
+
- lib/ruby_warrior/profile.rb
|
84
|
+
- lib/ruby_warrior/space.rb
|
85
|
+
- lib/ruby_warrior/tower.rb
|
86
|
+
- lib/ruby_warrior/turn.rb
|
87
|
+
- lib/ruby_warrior/ui.rb
|
88
|
+
- lib/ruby_warrior/units/archer.rb
|
89
|
+
- lib/ruby_warrior/units/base.rb
|
90
|
+
- lib/ruby_warrior/units/captive.rb
|
91
|
+
- lib/ruby_warrior/units/sludge.rb
|
92
|
+
- lib/ruby_warrior/units/thick_sludge.rb
|
93
|
+
- lib/ruby_warrior/units/warrior.rb
|
94
|
+
- lib/ruby_warrior/units/wizard.rb
|
95
|
+
- ruby-warrior.gemspec
|
96
|
+
- script/console
|
97
|
+
- spec/fixtures/short-tower/level_001.rb
|
98
|
+
- spec/fixtures/short-tower/level_002.rb
|
99
|
+
- spec/fixtures/walking_player.rb
|
100
|
+
- spec/ruby_warrior/abilities/attack_spec.rb
|
101
|
+
- spec/ruby_warrior/abilities/base_spec.rb
|
102
|
+
- spec/ruby_warrior/abilities/bind_spec.rb
|
103
|
+
- spec/ruby_warrior/abilities/direction_of_spec.rb
|
104
|
+
- spec/ruby_warrior/abilities/direction_of_stairs_spec.rb
|
105
|
+
- spec/ruby_warrior/abilities/distance_spec.rb
|
106
|
+
- spec/ruby_warrior/abilities/explode_spec.rb
|
107
|
+
- spec/ruby_warrior/abilities/feel_spec.rb
|
108
|
+
- spec/ruby_warrior/abilities/health_spec.rb
|
109
|
+
- spec/ruby_warrior/abilities/listen_spec.rb
|
110
|
+
- spec/ruby_warrior/abilities/look_spec.rb
|
111
|
+
- spec/ruby_warrior/abilities/pivot_spec.rb
|
112
|
+
- spec/ruby_warrior/abilities/rescue_spec.rb
|
113
|
+
- spec/ruby_warrior/abilities/rest_spec.rb
|
114
|
+
- spec/ruby_warrior/abilities/shoot_spec.rb
|
115
|
+
- spec/ruby_warrior/abilities/walk_spec.rb
|
116
|
+
- spec/ruby_warrior/floor_spec.rb
|
117
|
+
- spec/ruby_warrior/game_spec.rb
|
118
|
+
- spec/ruby_warrior/level_loader_spec.rb
|
119
|
+
- spec/ruby_warrior/level_spec.rb
|
120
|
+
- spec/ruby_warrior/player_generator_spec.rb
|
121
|
+
- spec/ruby_warrior/position_spec.rb
|
122
|
+
- spec/ruby_warrior/profile_spec.rb
|
123
|
+
- spec/ruby_warrior/space_spec.rb
|
124
|
+
- spec/ruby_warrior/tower_spec.rb
|
125
|
+
- spec/ruby_warrior/turn_spec.rb
|
126
|
+
- spec/ruby_warrior/ui_spec.rb
|
127
|
+
- spec/ruby_warrior/units/archer_spec.rb
|
128
|
+
- spec/ruby_warrior/units/base_spec.rb
|
129
|
+
- spec/ruby_warrior/units/captive_spec.rb
|
130
|
+
- spec/ruby_warrior/units/sludge_spec.rb
|
131
|
+
- spec/ruby_warrior/units/thick_sludge_spec.rb
|
132
|
+
- spec/ruby_warrior/units/warrior_spec.rb
|
133
|
+
- spec/ruby_warrior/units/wizard_spec.rb
|
134
|
+
- spec/spec_helper.rb
|
135
|
+
- templates/README.erb
|
136
|
+
- templates/player.rb
|
137
|
+
- tmp/.gitignore
|
138
|
+
- towers/beginner/level_001.rb
|
139
|
+
- towers/beginner/level_002.rb
|
140
|
+
- towers/beginner/level_003.rb
|
141
|
+
- towers/beginner/level_004.rb
|
142
|
+
- towers/beginner/level_005.rb
|
143
|
+
- towers/beginner/level_006.rb
|
144
|
+
- towers/beginner/level_007.rb
|
145
|
+
- towers/beginner/level_008.rb
|
146
|
+
- towers/beginner/level_009.rb
|
147
|
+
- towers/intermediate/level_001.rb
|
148
|
+
- towers/intermediate/level_002.rb
|
149
|
+
- towers/intermediate/level_003.rb
|
150
|
+
- towers/intermediate/level_004.rb
|
151
|
+
- towers/intermediate/level_005.rb
|
152
|
+
- towers/intermediate/level_006.rb
|
153
|
+
has_rdoc: false
|
154
|
+
homepage: http://github.com/ryanb/ruby-warrior
|
155
|
+
licenses:
|
156
|
+
post_install_message:
|
157
|
+
rdoc_options:
|
158
|
+
- --charset=UTF-8
|
159
|
+
require_paths:
|
160
|
+
- lib
|
161
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
162
|
+
requirements:
|
163
|
+
- - ">="
|
164
|
+
- !ruby/object:Gem::Version
|
165
|
+
version: "0"
|
166
|
+
version:
|
167
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
168
|
+
requirements:
|
169
|
+
- - ">="
|
170
|
+
- !ruby/object:Gem::Version
|
171
|
+
version: "0"
|
172
|
+
version:
|
173
|
+
requirements: []
|
174
|
+
|
175
|
+
rubyforge_project:
|
176
|
+
rubygems_version: 1.3.5
|
177
|
+
signing_key:
|
178
|
+
specification_version: 3
|
179
|
+
summary: Game written in Ruby for learning Ruby and artificial intelligence.
|
180
|
+
test_files:
|
181
|
+
- spec/fixtures/short-tower/level_001.rb
|
182
|
+
- spec/fixtures/short-tower/level_002.rb
|
183
|
+
- spec/fixtures/walking_player.rb
|
184
|
+
- spec/ruby_warrior/abilities/attack_spec.rb
|
185
|
+
- spec/ruby_warrior/abilities/base_spec.rb
|
186
|
+
- spec/ruby_warrior/abilities/bind_spec.rb
|
187
|
+
- spec/ruby_warrior/abilities/direction_of_spec.rb
|
188
|
+
- spec/ruby_warrior/abilities/direction_of_stairs_spec.rb
|
189
|
+
- spec/ruby_warrior/abilities/distance_spec.rb
|
190
|
+
- spec/ruby_warrior/abilities/explode_spec.rb
|
191
|
+
- spec/ruby_warrior/abilities/feel_spec.rb
|
192
|
+
- spec/ruby_warrior/abilities/health_spec.rb
|
193
|
+
- spec/ruby_warrior/abilities/listen_spec.rb
|
194
|
+
- spec/ruby_warrior/abilities/look_spec.rb
|
195
|
+
- spec/ruby_warrior/abilities/pivot_spec.rb
|
196
|
+
- spec/ruby_warrior/abilities/rescue_spec.rb
|
197
|
+
- spec/ruby_warrior/abilities/rest_spec.rb
|
198
|
+
- spec/ruby_warrior/abilities/shoot_spec.rb
|
199
|
+
- spec/ruby_warrior/abilities/walk_spec.rb
|
200
|
+
- spec/ruby_warrior/floor_spec.rb
|
201
|
+
- spec/ruby_warrior/game_spec.rb
|
202
|
+
- spec/ruby_warrior/level_loader_spec.rb
|
203
|
+
- spec/ruby_warrior/level_spec.rb
|
204
|
+
- spec/ruby_warrior/player_generator_spec.rb
|
205
|
+
- spec/ruby_warrior/position_spec.rb
|
206
|
+
- spec/ruby_warrior/profile_spec.rb
|
207
|
+
- spec/ruby_warrior/space_spec.rb
|
208
|
+
- spec/ruby_warrior/tower_spec.rb
|
209
|
+
- spec/ruby_warrior/turn_spec.rb
|
210
|
+
- spec/ruby_warrior/ui_spec.rb
|
211
|
+
- spec/ruby_warrior/units/archer_spec.rb
|
212
|
+
- spec/ruby_warrior/units/base_spec.rb
|
213
|
+
- spec/ruby_warrior/units/captive_spec.rb
|
214
|
+
- spec/ruby_warrior/units/sludge_spec.rb
|
215
|
+
- spec/ruby_warrior/units/thick_sludge_spec.rb
|
216
|
+
- spec/ruby_warrior/units/warrior_spec.rb
|
217
|
+
- spec/ruby_warrior/units/wizard_spec.rb
|
218
|
+
- spec/spec_helper.rb
|