karnowski-ruby-warrior 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (108) hide show
  1. data/.gitignore +3 -0
  2. data/LICENSE +20 -0
  3. data/README.rdoc +156 -0
  4. data/Rakefile +36 -0
  5. data/VERSION +1 -0
  6. data/bin/rubywarrior +8 -0
  7. data/features/levels.feature +50 -0
  8. data/features/profiles.feature +46 -0
  9. data/features/step_definitions/common_steps.rb +7 -0
  10. data/features/step_definitions/interaction_steps.rb +53 -0
  11. data/features/support/env.rb +8 -0
  12. data/features/support/mockio.rb +57 -0
  13. data/features/towers.feature +14 -0
  14. data/lib/ruby_warrior.rb +41 -0
  15. data/lib/ruby_warrior/abilities/attack.rb +24 -0
  16. data/lib/ruby_warrior/abilities/base.rb +36 -0
  17. data/lib/ruby_warrior/abilities/bind.rb +19 -0
  18. data/lib/ruby_warrior/abilities/direction_of.rb +13 -0
  19. data/lib/ruby_warrior/abilities/direction_of_stairs.rb +13 -0
  20. data/lib/ruby_warrior/abilities/distance.rb +13 -0
  21. data/lib/ruby_warrior/abilities/explode.rb +16 -0
  22. data/lib/ruby_warrior/abilities/feel.rb +13 -0
  23. data/lib/ruby_warrior/abilities/health.rb +13 -0
  24. data/lib/ruby_warrior/abilities/listen.rb +15 -0
  25. data/lib/ruby_warrior/abilities/look.rb +15 -0
  26. data/lib/ruby_warrior/abilities/pivot.rb +16 -0
  27. data/lib/ruby_warrior/abilities/rescue.rb +23 -0
  28. data/lib/ruby_warrior/abilities/rest.rb +20 -0
  29. data/lib/ruby_warrior/abilities/shoot.rb +23 -0
  30. data/lib/ruby_warrior/abilities/walk.rb +20 -0
  31. data/lib/ruby_warrior/config.rb +11 -0
  32. data/lib/ruby_warrior/core_additions.rb +25 -0
  33. data/lib/ruby_warrior/floor.rb +71 -0
  34. data/lib/ruby_warrior/game.rb +160 -0
  35. data/lib/ruby_warrior/level.rb +93 -0
  36. data/lib/ruby_warrior/level_loader.rb +52 -0
  37. data/lib/ruby_warrior/player_generator.rb +41 -0
  38. data/lib/ruby_warrior/position.rb +80 -0
  39. data/lib/ruby_warrior/profile.rb +86 -0
  40. data/lib/ruby_warrior/space.rb +63 -0
  41. data/lib/ruby_warrior/tower.rb +14 -0
  42. data/lib/ruby_warrior/turn.rb +38 -0
  43. data/lib/ruby_warrior/ui.rb +64 -0
  44. data/lib/ruby_warrior/units/archer.rb +34 -0
  45. data/lib/ruby_warrior/units/base.rb +95 -0
  46. data/lib/ruby_warrior/units/captive.rb +30 -0
  47. data/lib/ruby_warrior/units/sludge.rb +30 -0
  48. data/lib/ruby_warrior/units/thick_sludge.rb +13 -0
  49. data/lib/ruby_warrior/units/warrior.rb +58 -0
  50. data/lib/ruby_warrior/units/wizard.rb +34 -0
  51. data/ruby-warrior.gemspec +191 -0
  52. data/script/console +8 -0
  53. data/spec/fixtures/short-tower/level_001.rb +14 -0
  54. data/spec/fixtures/short-tower/level_002.rb +14 -0
  55. data/spec/fixtures/walking_player.rb +5 -0
  56. data/spec/ruby_warrior/abilities/attack_spec.rb +51 -0
  57. data/spec/ruby_warrior/abilities/base_spec.rb +24 -0
  58. data/spec/ruby_warrior/abilities/bind_spec.rb +19 -0
  59. data/spec/ruby_warrior/abilities/direction_of_spec.rb +13 -0
  60. data/spec/ruby_warrior/abilities/direction_of_stairs_spec.rb +13 -0
  61. data/spec/ruby_warrior/abilities/distance_spec.rb +13 -0
  62. data/spec/ruby_warrior/abilities/explode_spec.rb +21 -0
  63. data/spec/ruby_warrior/abilities/feel_spec.rb +13 -0
  64. data/spec/ruby_warrior/abilities/health_spec.rb +13 -0
  65. data/spec/ruby_warrior/abilities/listen_spec.rb +17 -0
  66. data/spec/ruby_warrior/abilities/look_spec.rb +15 -0
  67. data/spec/ruby_warrior/abilities/pivot_spec.rb +18 -0
  68. data/spec/ruby_warrior/abilities/rescue_spec.rb +40 -0
  69. data/spec/ruby_warrior/abilities/rest_spec.rb +29 -0
  70. data/spec/ruby_warrior/abilities/shoot_spec.rb +22 -0
  71. data/spec/ruby_warrior/abilities/walk_spec.rb +25 -0
  72. data/spec/ruby_warrior/floor_spec.rb +81 -0
  73. data/spec/ruby_warrior/game_spec.rb +96 -0
  74. data/spec/ruby_warrior/level_loader_spec.rb +54 -0
  75. data/spec/ruby_warrior/level_spec.rb +163 -0
  76. data/spec/ruby_warrior/player_generator_spec.rb +12 -0
  77. data/spec/ruby_warrior/position_spec.rb +103 -0
  78. data/spec/ruby_warrior/profile_spec.rb +125 -0
  79. data/spec/ruby_warrior/space_spec.rb +165 -0
  80. data/spec/ruby_warrior/tower_spec.rb +15 -0
  81. data/spec/ruby_warrior/turn_spec.rb +42 -0
  82. data/spec/ruby_warrior/ui_spec.rb +96 -0
  83. data/spec/ruby_warrior/units/archer_spec.rb +23 -0
  84. data/spec/ruby_warrior/units/base_spec.rb +133 -0
  85. data/spec/ruby_warrior/units/captive_spec.rb +34 -0
  86. data/spec/ruby_warrior/units/sludge_spec.rb +27 -0
  87. data/spec/ruby_warrior/units/thick_sludge_spec.rb +19 -0
  88. data/spec/ruby_warrior/units/warrior_spec.rb +60 -0
  89. data/spec/ruby_warrior/units/wizard_spec.rb +23 -0
  90. data/spec/spec_helper.rb +7 -0
  91. data/templates/README.erb +20 -0
  92. data/templates/player.rb +5 -0
  93. data/towers/beginner/level_001.rb +15 -0
  94. data/towers/beginner/level_002.rb +17 -0
  95. data/towers/beginner/level_003.rb +20 -0
  96. data/towers/beginner/level_004.rb +17 -0
  97. data/towers/beginner/level_005.rb +21 -0
  98. data/towers/beginner/level_006.rb +18 -0
  99. data/towers/beginner/level_007.rb +17 -0
  100. data/towers/beginner/level_008.rb +20 -0
  101. data/towers/beginner/level_009.rb +19 -0
  102. data/towers/intermediate/level_001.rb +17 -0
  103. data/towers/intermediate/level_002.rb +19 -0
  104. data/towers/intermediate/level_003.rb +22 -0
  105. data/towers/intermediate/level_004.rb +23 -0
  106. data/towers/intermediate/level_005.rb +18 -0
  107. data/towers/intermediate/level_006.rb +23 -0
  108. metadata +218 -0
@@ -0,0 +1,5 @@
1
+ class Player
2
+ def play_turn(warrior)
3
+ # add your code here
4
+ end
5
+ end
@@ -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