rubywarrior 0.1.3 → 0.2.0
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 +7 -0
- data/{CHANGELOG.rdoc → CHANGELOG.md} +11 -4
- data/Gemfile +4 -2
- data/Gemfile.lock +44 -25
- data/LICENSE +4 -4
- data/{README.rdoc → README.md} +115 -93
- data/bin/rubywarrior +1 -1
- data/features/step_definitions/common_steps.rb +2 -2
- data/features/step_definitions/interaction_steps.rb +2 -2
- data/lib/ruby_warrior/game.rb +4 -2
- data/lib/ruby_warrior/player_generator.rb +2 -2
- data/rubywarrior.gemspec +16 -0
- data/spec/ruby_warrior/abilities/attack_spec.rb +9 -9
- data/spec/ruby_warrior/abilities/base_spec.rb +18 -18
- data/spec/ruby_warrior/abilities/bind_spec.rb +4 -4
- data/spec/ruby_warrior/abilities/direction_of_spec.rb +2 -2
- data/spec/ruby_warrior/abilities/direction_of_stairs_spec.rb +2 -2
- data/spec/ruby_warrior/abilities/distance_of_spec.rb +2 -2
- data/spec/ruby_warrior/abilities/explode_spec.rb +6 -6
- data/spec/ruby_warrior/abilities/form_spec.rb +13 -13
- data/spec/ruby_warrior/abilities/health_spec.rb +2 -2
- data/spec/ruby_warrior/abilities/listen_spec.rb +2 -2
- data/spec/ruby_warrior/abilities/look_spec.rb +2 -2
- data/spec/ruby_warrior/abilities/rescue_spec.rb +7 -7
- data/spec/ruby_warrior/abilities/rest_spec.rb +6 -6
- data/spec/ruby_warrior/abilities/shoot_spec.rb +3 -3
- data/spec/ruby_warrior/abilities/throw_spec.rb +9 -9
- data/spec/ruby_warrior/abilities/walk_spec.rb +4 -4
- data/spec/ruby_warrior/core_additions_spec.rb +1 -1
- data/spec/ruby_warrior/floor_spec.rb +26 -26
- data/spec/ruby_warrior/game_spec.rb +34 -34
- data/spec/ruby_warrior/level_loader_spec.rb +18 -18
- data/spec/ruby_warrior/level_spec.rb +56 -56
- data/spec/ruby_warrior/player_generator_spec.rb +2 -2
- data/spec/ruby_warrior/position_spec.rb +42 -42
- data/spec/ruby_warrior/profile_spec.rb +57 -57
- data/spec/ruby_warrior/space_spec.rb +70 -70
- data/spec/ruby_warrior/tower_spec.rb +4 -4
- data/spec/ruby_warrior/turn_spec.rb +12 -12
- data/spec/ruby_warrior/ui_spec.rb +31 -31
- data/spec/ruby_warrior/units/archer_spec.rb +8 -8
- data/spec/ruby_warrior/units/base_spec.rb +41 -41
- data/spec/ruby_warrior/units/captive_spec.rb +8 -8
- data/spec/ruby_warrior/units/golem_spec.rb +8 -8
- data/spec/ruby_warrior/units/sludge_spec.rb +10 -10
- data/spec/ruby_warrior/units/thick_sludge_spec.rb +6 -6
- data/spec/ruby_warrior/units/warrior_spec.rb +22 -22
- data/spec/ruby_warrior/units/wizard_spec.rb +8 -8
- data/spec/spec_helper.rb +1 -0
- metadata +32 -33
@@ -4,20 +4,20 @@ describe RubyWarrior::Units::Archer do
|
|
4
4
|
before(:each) do
|
5
5
|
@archer = RubyWarrior::Units::Archer.new
|
6
6
|
end
|
7
|
-
|
7
|
+
|
8
8
|
it "should have look and shoot abilities" do
|
9
|
-
@archer.abilities.keys.to_set.
|
9
|
+
expect(@archer.abilities.keys.to_set).to eq([:shoot!, :look].to_set)
|
10
10
|
end
|
11
|
-
|
11
|
+
|
12
12
|
it "should have shoot power of 3" do
|
13
|
-
@archer.shoot_power.
|
13
|
+
expect(@archer.shoot_power).to eq(3)
|
14
14
|
end
|
15
|
-
|
15
|
+
|
16
16
|
it "should have 7 max health" do
|
17
|
-
@archer.max_health.
|
17
|
+
expect(@archer.max_health).to eq(7)
|
18
18
|
end
|
19
|
-
|
19
|
+
|
20
20
|
it "should appear as a on map" do
|
21
|
-
@archer.character.
|
21
|
+
expect(@archer.character).to eq("a")
|
22
22
|
end
|
23
23
|
end
|
@@ -4,67 +4,67 @@ describe RubyWarrior::Units::Base do
|
|
4
4
|
before(:each) do
|
5
5
|
@unit = RubyWarrior::Units::Base.new
|
6
6
|
end
|
7
|
-
|
7
|
+
|
8
8
|
it "should have an attack power which defaults to zero" do
|
9
|
-
@unit.attack_power.
|
9
|
+
expect(@unit.attack_power).to be_zero
|
10
10
|
end
|
11
|
-
|
11
|
+
|
12
12
|
it "should consider itself dead when no position" do
|
13
|
-
@unit.position.
|
14
|
-
@unit.
|
13
|
+
expect(@unit.position).to be_nil
|
14
|
+
expect(@unit).to_not be_alive
|
15
15
|
end
|
16
|
-
|
16
|
+
|
17
17
|
it "should consider itself alive with position" do
|
18
18
|
@unit.position = stub
|
19
|
-
@unit.
|
19
|
+
expect(@unit).to be_alive
|
20
20
|
end
|
21
|
-
|
21
|
+
|
22
22
|
it "should default max health to 10" do
|
23
|
-
@unit.max_health.
|
23
|
+
expect(@unit.max_health).to be_zero
|
24
24
|
end
|
25
|
-
|
25
|
+
|
26
26
|
it "should do nothing when earning points" do
|
27
|
-
|
27
|
+
expect { @unit.earn_points(10) }.to_not raise_error
|
28
28
|
end
|
29
|
-
|
29
|
+
|
30
30
|
it "should default health to max health" do
|
31
31
|
@unit.stubs(:max_health).returns(10)
|
32
|
-
@unit.health.
|
32
|
+
expect(@unit.health).to eq(10)
|
33
33
|
end
|
34
|
-
|
34
|
+
|
35
35
|
it "should subtract health when taking damage" do
|
36
36
|
@unit.stubs(:max_health).returns(10)
|
37
37
|
@unit.take_damage(3)
|
38
|
-
@unit.health.
|
38
|
+
expect(@unit.health).to eq(7)
|
39
39
|
end
|
40
|
-
|
40
|
+
|
41
41
|
it "should do nothing when taking damage if health isn't set" do
|
42
|
-
|
42
|
+
expect { @unit.take_damage(3) }.to_not raise_error
|
43
43
|
end
|
44
|
-
|
44
|
+
|
45
45
|
it "should set position to nil when running out of health" do
|
46
46
|
@unit.position = stub
|
47
47
|
@unit.stubs(:max_health).returns(10)
|
48
48
|
@unit.take_damage(10)
|
49
|
-
@unit.position.
|
49
|
+
expect(@unit.position).to be_nil
|
50
50
|
end
|
51
|
-
|
51
|
+
|
52
52
|
it "should print out line with name when speaking" do
|
53
53
|
RubyWarrior::UI.expects(:puts_with_delay).with("Base foo")
|
54
54
|
@unit.say "foo"
|
55
55
|
end
|
56
|
-
|
56
|
+
|
57
57
|
it "should return name in to_s" do
|
58
|
-
@unit.name.
|
59
|
-
@unit.to_s.
|
58
|
+
expect(@unit.name).to eq('Base')
|
59
|
+
expect(@unit.to_s).to eq('Base')
|
60
60
|
end
|
61
|
-
|
61
|
+
|
62
62
|
it "should prepare turn by calling play_turn with next turn object" do
|
63
63
|
@unit.stubs(:next_turn).returns('next_turn')
|
64
64
|
@unit.expects(:play_turn).with('next_turn')
|
65
65
|
@unit.prepare_turn
|
66
66
|
end
|
67
|
-
|
67
|
+
|
68
68
|
it "should perform action when calling perform on turn" do
|
69
69
|
@unit.position = stub
|
70
70
|
RubyWarrior::Abilities::Walk.any_instance.expects(:perform).with(:backward)
|
@@ -74,7 +74,7 @@ describe RubyWarrior::Units::Base do
|
|
74
74
|
@unit.prepare_turn
|
75
75
|
@unit.perform_turn
|
76
76
|
end
|
77
|
-
|
77
|
+
|
78
78
|
it "should not perform action when dead (no position)" do
|
79
79
|
@unit.position = nil
|
80
80
|
RubyWarrior::Abilities::Walk.any_instance.stubs(:perform).raises("action should not be called")
|
@@ -84,42 +84,42 @@ describe RubyWarrior::Units::Base do
|
|
84
84
|
@unit.prepare_turn
|
85
85
|
@unit.perform_turn
|
86
86
|
end
|
87
|
-
|
87
|
+
|
88
88
|
it "should not raise an exception when calling perform_turn when there's no action" do
|
89
89
|
@unit.prepare_turn
|
90
|
-
|
90
|
+
expect { @unit.perform_turn }.to_not raise_error
|
91
91
|
end
|
92
|
-
|
92
|
+
|
93
93
|
it "should pass abilities to new turn when calling next_turn" do
|
94
|
-
RubyWarrior::Turn.expects(:new).with(:walk! => nil, :attack! => nil, :feel => nil).returns('turn')
|
94
|
+
RubyWarrior::Turn.expects(:new).with({:walk! => nil, :attack! => nil, :feel => nil}).returns('turn')
|
95
95
|
@unit.stubs(:abilities).returns(:walk! => nil, :attack! => nil, :feel => nil)
|
96
|
-
@unit.next_turn.
|
96
|
+
expect(@unit.next_turn).to eq('turn')
|
97
97
|
end
|
98
|
-
|
98
|
+
|
99
99
|
it "should add ability" do
|
100
100
|
RubyWarrior::Abilities::Walk.expects(:new).with(@unit).returns('walk')
|
101
101
|
@unit.add_abilities(:walk!)
|
102
|
-
@unit.abilities.
|
102
|
+
expect(@unit.abilities).to eq({ :walk! => 'walk' })
|
103
103
|
end
|
104
|
-
|
104
|
+
|
105
105
|
it "should appear as question mark on map" do
|
106
|
-
@unit.character.
|
106
|
+
expect(@unit.character).to eq("?")
|
107
107
|
end
|
108
|
-
|
108
|
+
|
109
109
|
it "should be released from bonds when taking damage" do
|
110
110
|
@unit.stubs(:max_health).returns(10)
|
111
111
|
@unit.bind
|
112
|
-
@unit.
|
112
|
+
expect(@unit).to be_bound
|
113
113
|
@unit.take_damage(2)
|
114
|
-
@unit.
|
114
|
+
expect(@unit).to_not be_bound
|
115
115
|
end
|
116
|
-
|
116
|
+
|
117
117
|
it "should be released from bonds when calling release" do
|
118
118
|
@unit.bind
|
119
119
|
@unit.unbind
|
120
|
-
@unit.
|
120
|
+
expect(@unit).to_not be_bound
|
121
121
|
end
|
122
|
-
|
122
|
+
|
123
123
|
it "should not perform action when bound" do
|
124
124
|
@unit.position = stub
|
125
125
|
@unit.bind
|
@@ -4,20 +4,20 @@ describe RubyWarrior::Units::Captive do
|
|
4
4
|
before(:each) do
|
5
5
|
@captive = RubyWarrior::Units::Captive.new
|
6
6
|
end
|
7
|
-
|
7
|
+
|
8
8
|
it "should have 1 max health" do
|
9
|
-
@captive.max_health.
|
9
|
+
expect(@captive.max_health).to eq(1)
|
10
10
|
end
|
11
|
-
|
11
|
+
|
12
12
|
it "should appear as C on map" do
|
13
|
-
@captive.character.
|
13
|
+
expect(@captive.character).to eq("C")
|
14
14
|
end
|
15
|
-
|
15
|
+
|
16
16
|
it "should be bound by default" do
|
17
|
-
@captive.
|
17
|
+
expect(@captive).to be_bound
|
18
18
|
end
|
19
|
-
|
19
|
+
|
20
20
|
it "should not have explode ability by default (this should be added when needed)" do
|
21
|
-
@captive.abilities.
|
21
|
+
expect(@captive.abilities).to_not include(:explode!)
|
22
22
|
end
|
23
23
|
end
|
@@ -4,25 +4,25 @@ describe RubyWarrior::Units::Golem do
|
|
4
4
|
before(:each) do
|
5
5
|
@golem = RubyWarrior::Units::Golem.new
|
6
6
|
end
|
7
|
-
|
7
|
+
|
8
8
|
it "should execute turn proc when playing turn" do
|
9
9
|
proc = Object.new
|
10
10
|
proc.expects(:call).with(:turn)
|
11
11
|
@golem.turn = proc
|
12
12
|
@golem.play_turn(:turn)
|
13
13
|
end
|
14
|
-
|
14
|
+
|
15
15
|
it "should set max health and update current health" do
|
16
16
|
@golem.max_health = 10
|
17
|
-
@golem.max_health.
|
18
|
-
@golem.health.
|
17
|
+
expect(@golem.max_health).to eq(10)
|
18
|
+
expect(@golem.health).to eq(10)
|
19
19
|
end
|
20
|
-
|
20
|
+
|
21
21
|
it "should have attack power of 3" do
|
22
|
-
@golem.attack_power.
|
22
|
+
expect(@golem.attack_power).to eq(3)
|
23
23
|
end
|
24
|
-
|
24
|
+
|
25
25
|
it "should appear as G on map" do
|
26
|
-
@golem.character.
|
26
|
+
expect(@golem.character).to eq("G")
|
27
27
|
end
|
28
28
|
end
|
@@ -4,24 +4,24 @@ describe RubyWarrior::Units::Sludge do
|
|
4
4
|
before(:each) do
|
5
5
|
@sludge = RubyWarrior::Units::Sludge.new
|
6
6
|
end
|
7
|
-
|
7
|
+
|
8
8
|
it "should have attack action" do
|
9
|
-
@sludge.abilities.keys.
|
9
|
+
expect(@sludge.abilities.keys).to include(:attack!)
|
10
10
|
end
|
11
|
-
|
11
|
+
|
12
12
|
it "should have feel sense" do
|
13
|
-
@sludge.abilities.keys.
|
13
|
+
expect(@sludge.abilities.keys).to include(:feel)
|
14
14
|
end
|
15
|
-
|
15
|
+
|
16
16
|
it "should have attack power of 3" do
|
17
|
-
@sludge.attack_power.
|
17
|
+
expect(@sludge.attack_power).to eq(3)
|
18
18
|
end
|
19
|
-
|
19
|
+
|
20
20
|
it "should have 12 max health" do
|
21
|
-
@sludge.max_health.
|
21
|
+
expect(@sludge.max_health).to eq(12)
|
22
22
|
end
|
23
|
-
|
23
|
+
|
24
24
|
it "should appear as s on map" do
|
25
|
-
@sludge.character.
|
25
|
+
expect(@sludge.character).to eq("s")
|
26
26
|
end
|
27
27
|
end
|
@@ -4,16 +4,16 @@ describe RubyWarrior::Units::ThickSludge do
|
|
4
4
|
before(:each) do
|
5
5
|
@sludge = RubyWarrior::Units::ThickSludge.new
|
6
6
|
end
|
7
|
-
|
7
|
+
|
8
8
|
it "should have 24 max health" do
|
9
|
-
@sludge.max_health.
|
9
|
+
expect(@sludge.max_health).to eq(24)
|
10
10
|
end
|
11
|
-
|
11
|
+
|
12
12
|
it "should appear as S on map" do
|
13
|
-
@sludge.character.
|
13
|
+
expect(@sludge.character).to eq("S")
|
14
14
|
end
|
15
|
-
|
15
|
+
|
16
16
|
it "should have the name of 'Thick Sludge'" do
|
17
|
-
@sludge.name.
|
17
|
+
expect(@sludge.name).to eq("Thick Sludge")
|
18
18
|
end
|
19
19
|
end
|
@@ -9,57 +9,57 @@ describe RubyWarrior::Units::Warrior do
|
|
9
9
|
before(:each) do
|
10
10
|
@warrior = RubyWarrior::Units::Warrior.new
|
11
11
|
end
|
12
|
-
|
12
|
+
|
13
13
|
it "should default name to warrior" do
|
14
|
-
@warrior.name.
|
14
|
+
expect(@warrior.name).to eq("Warrior")
|
15
15
|
@warrior.name = ''
|
16
|
-
@warrior.name.
|
16
|
+
expect(@warrior.name).to eq("Warrior")
|
17
17
|
end
|
18
|
-
|
18
|
+
|
19
19
|
it "should be able to set name" do
|
20
20
|
@warrior.name = "Joe"
|
21
|
-
@warrior.name.
|
22
|
-
@warrior.to_s.
|
21
|
+
expect(@warrior.name).to eq("Joe")
|
22
|
+
expect(@warrior.to_s).to eq("Joe")
|
23
23
|
end
|
24
|
-
|
24
|
+
|
25
25
|
it "should have 20 max health" do
|
26
|
-
@warrior.max_health.
|
26
|
+
expect(@warrior.max_health).to eq(20)
|
27
27
|
end
|
28
|
-
|
28
|
+
|
29
29
|
it "should have 0 score at beginning and be able to earn points" do
|
30
|
-
@warrior.score.
|
30
|
+
expect(@warrior.score).to be_zero
|
31
31
|
@warrior.earn_points(5)
|
32
|
-
@warrior.score.
|
32
|
+
expect(@warrior.score).to eq(5)
|
33
33
|
end
|
34
|
-
|
34
|
+
|
35
35
|
it "should call player.play_turn and pass turn to player" do
|
36
36
|
player = stub
|
37
37
|
player.expects(:play_turn).with('turn')
|
38
38
|
@warrior.stubs(:player).returns(player)
|
39
39
|
@warrior.play_turn('turn')
|
40
40
|
end
|
41
|
-
|
41
|
+
|
42
42
|
it "should call Player.new the first time loading player, and return same object next time" do
|
43
43
|
Player.expects(:new).returns('player').times(1)
|
44
44
|
2.times do
|
45
|
-
@warrior.player.
|
45
|
+
expect(@warrior.player).to eq('player')
|
46
46
|
end
|
47
47
|
end
|
48
|
-
|
48
|
+
|
49
49
|
it "should have an attack power of 5" do
|
50
|
-
@warrior.attack_power.
|
50
|
+
expect(@warrior.attack_power).to eq(5)
|
51
51
|
end
|
52
|
-
|
52
|
+
|
53
53
|
it "should have an shoot power of 3" do
|
54
|
-
@warrior.shoot_power.
|
54
|
+
expect(@warrior.shoot_power).to eq(3)
|
55
55
|
end
|
56
|
-
|
56
|
+
|
57
57
|
it "should appear as @ on map" do
|
58
|
-
@warrior.character.
|
58
|
+
expect(@warrior.character).to eq("@")
|
59
59
|
end
|
60
|
-
|
60
|
+
|
61
61
|
it "should be able to add golem abilities which are used on base golem" do
|
62
62
|
@warrior.add_golem_abilities :walk!
|
63
|
-
@warrior.base_golem.abilities.keys.
|
63
|
+
expect(@warrior.base_golem.abilities.keys).to eq([:walk!])
|
64
64
|
end
|
65
65
|
end
|
@@ -4,20 +4,20 @@ describe RubyWarrior::Units::Wizard do
|
|
4
4
|
before(:each) do
|
5
5
|
@wizard = RubyWarrior::Units::Wizard.new
|
6
6
|
end
|
7
|
-
|
7
|
+
|
8
8
|
it "should have look and shoot abilities" do
|
9
|
-
@wizard.abilities.keys.to_set.
|
9
|
+
expect(@wizard.abilities.keys.to_set).to eq([:shoot!, :look].to_set)
|
10
10
|
end
|
11
|
-
|
11
|
+
|
12
12
|
it "should have shoot power of 11" do
|
13
|
-
@wizard.shoot_power.
|
13
|
+
expect(@wizard.shoot_power).to eq(11)
|
14
14
|
end
|
15
|
-
|
15
|
+
|
16
16
|
it "should have 3 max health" do
|
17
|
-
@wizard.max_health.
|
17
|
+
expect(@wizard.max_health).to eq(3)
|
18
18
|
end
|
19
|
-
|
19
|
+
|
20
20
|
it "should appear as w on map" do
|
21
|
-
@wizard.character.
|
21
|
+
expect(@wizard.character).to eq("w")
|
22
22
|
end
|
23
23
|
end
|
data/spec/spec_helper.rb
CHANGED
metadata
CHANGED
@@ -1,15 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rubywarrior
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
5
|
-
prerelease:
|
4
|
+
version: 0.2.0
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Ryan Bates
|
9
|
-
autorequire:
|
8
|
+
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date:
|
11
|
+
date: 2024-03-26 00:00:00.000000000 Z
|
13
12
|
dependencies: []
|
14
13
|
description: You play as a warrior climbing a tall tower. On each floor you need to
|
15
14
|
write a Ruby script to instruct the warrior to battle enemies, rescue captives,
|
@@ -20,6 +19,22 @@ executables:
|
|
20
19
|
extensions: []
|
21
20
|
extra_rdoc_files: []
|
22
21
|
files:
|
22
|
+
- CHANGELOG.md
|
23
|
+
- Gemfile
|
24
|
+
- Gemfile.lock
|
25
|
+
- LICENSE
|
26
|
+
- README.md
|
27
|
+
- Rakefile
|
28
|
+
- bin/rubywarrior
|
29
|
+
- features/command_options.feature
|
30
|
+
- features/levels.feature
|
31
|
+
- features/profiles.feature
|
32
|
+
- features/step_definitions/common_steps.rb
|
33
|
+
- features/step_definitions/interaction_steps.rb
|
34
|
+
- features/support/env.rb
|
35
|
+
- features/support/mockio.rb
|
36
|
+
- features/towers.feature
|
37
|
+
- lib/ruby_warrior.rb
|
23
38
|
- lib/ruby_warrior/abilities/attack.rb
|
24
39
|
- lib/ruby_warrior/abilities/base.rb
|
25
40
|
- lib/ruby_warrior/abilities/bind.rb
|
@@ -60,7 +75,7 @@ files:
|
|
60
75
|
- lib/ruby_warrior/units/thick_sludge.rb
|
61
76
|
- lib/ruby_warrior/units/warrior.rb
|
62
77
|
- lib/ruby_warrior/units/wizard.rb
|
63
|
-
-
|
78
|
+
- rubywarrior.gemspec
|
64
79
|
- spec/fixtures/short-tower/level_001.rb
|
65
80
|
- spec/fixtures/short-tower/level_002.rb
|
66
81
|
- spec/fixtures/walking_player.rb
|
@@ -103,14 +118,8 @@ files:
|
|
103
118
|
- spec/ruby_warrior/units/warrior_spec.rb
|
104
119
|
- spec/ruby_warrior/units/wizard_spec.rb
|
105
120
|
- spec/spec_helper.rb
|
106
|
-
-
|
107
|
-
-
|
108
|
-
- features/profiles.feature
|
109
|
-
- features/step_definitions/common_steps.rb
|
110
|
-
- features/step_definitions/interaction_steps.rb
|
111
|
-
- features/support/env.rb
|
112
|
-
- features/support/mockio.rb
|
113
|
-
- features/towers.feature
|
121
|
+
- templates/README.erb
|
122
|
+
- templates/player.rb
|
114
123
|
- towers/beginner/level_001.rb
|
115
124
|
- towers/beginner/level_002.rb
|
116
125
|
- towers/beginner/level_003.rb
|
@@ -129,37 +138,27 @@ files:
|
|
129
138
|
- towers/intermediate/level_007.rb
|
130
139
|
- towers/intermediate/level_008.rb
|
131
140
|
- towers/intermediate/level_009.rb
|
132
|
-
- templates/player.rb
|
133
|
-
- templates/README.erb
|
134
|
-
- bin/rubywarrior
|
135
|
-
- CHANGELOG.rdoc
|
136
|
-
- Gemfile
|
137
|
-
- Gemfile.lock
|
138
|
-
- LICENSE
|
139
|
-
- Rakefile
|
140
|
-
- README.rdoc
|
141
141
|
homepage: https://github.com/ryanb/ruby-warrior
|
142
|
-
licenses:
|
143
|
-
|
142
|
+
licenses:
|
143
|
+
- MIT
|
144
|
+
metadata: {}
|
145
|
+
post_install_message:
|
144
146
|
rdoc_options: []
|
145
147
|
require_paths:
|
146
148
|
- lib
|
147
149
|
required_ruby_version: !ruby/object:Gem::Requirement
|
148
|
-
none: false
|
149
150
|
requirements:
|
150
|
-
- -
|
151
|
+
- - ">="
|
151
152
|
- !ruby/object:Gem::Version
|
152
153
|
version: '0'
|
153
154
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
154
|
-
none: false
|
155
155
|
requirements:
|
156
|
-
- -
|
156
|
+
- - ">="
|
157
157
|
- !ruby/object:Gem::Version
|
158
158
|
version: 1.3.4
|
159
159
|
requirements: []
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
summary: Game written in Ruby for learning Ruby and artificial intelligence.
|
160
|
+
rubygems_version: 3.5.3
|
161
|
+
signing_key:
|
162
|
+
specification_version: 4
|
163
|
+
summary: Game written in Ruby for learning Ruby.
|
165
164
|
test_files: []
|