delve 0.0.7
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/.gitignore +17 -0
- data/Gemfile +2 -0
- data/Gemfile.lock +24 -0
- data/LICENSE +25 -0
- data/README.md +6 -0
- data/ROADMAP.md +92 -0
- data/Rakefile +25 -0
- data/bin/delve +15 -0
- data/delve.gemspec +17 -0
- data/doc/examples/ascii.rb +34 -0
- data/doc/examples/astar.rb +39 -0
- data/doc/examples/border.rb +13 -0
- data/doc/examples/cellular.rb +15 -0
- data/doc/examples/display.rb +27 -0
- data/doc/examples/engine.rb +29 -0
- data/doc/examples/menu.rb +22 -0
- data/doc/examples/noise.rb +37 -0
- data/doc/examples/progress.rb +25 -0
- data/doc/examples/rogue.rb +15 -0
- data/lib/delve.rb +109 -0
- data/lib/delve/component/collision.rb +17 -0
- data/lib/delve/component/movement.rb +78 -0
- data/lib/delve/component/position.rb +30 -0
- data/lib/delve/component/symbol.rb +23 -0
- data/lib/delve/display/curses_renderer.rb +63 -0
- data/lib/delve/display/display.rb +51 -0
- data/lib/delve/engine.rb +30 -0
- data/lib/delve/entity.rb +23 -0
- data/lib/delve/event_queue.rb +48 -0
- data/lib/delve/fov/discrete_shadowcasting.rb +78 -0
- data/lib/delve/fov/fov.rb +83 -0
- data/lib/delve/game.rb +22 -0
- data/lib/delve/generator/cellular.rb +111 -0
- data/lib/delve/generator/dungeon.rb +19 -0
- data/lib/delve/generator/map.rb +30 -0
- data/lib/delve/generator/noise.rb +33 -0
- data/lib/delve/generator/rogue.rb +403 -0
- data/lib/delve/input/curses_input.rb +28 -0
- data/lib/delve/input/input.rb +12 -0
- data/lib/delve/path/astar.rb +83 -0
- data/lib/delve/path/path.rb +70 -0
- data/lib/delve/scheduler/action_scheduler.rb +38 -0
- data/lib/delve/scheduler/scheduler.rb +37 -0
- data/lib/delve/scheduler/simple_scheduler.rb +21 -0
- data/lib/delve/screen_manager.rb +41 -0
- data/lib/delve/widgets/border.rb +44 -0
- data/lib/delve/widgets/key_value.rb +36 -0
- data/lib/delve/widgets/menu.rb +84 -0
- data/lib/delve/widgets/multi_line.rb +51 -0
- data/lib/delve/widgets/progress.rb +37 -0
- data/lib/delve/widgets/text.rb +37 -0
- data/lib/delve/widgets/viewport.rb +67 -0
- data/rot.js.LICENSE +25 -0
- data/templates/Gemfile.erb +4 -0
- data/templates/README.md.erb +22 -0
- data/templates/binfile.erb +21 -0
- data/templates/game_screen.rb.erb +51 -0
- data/templates/gemspec.erb +27 -0
- data/templates/loading_screen.rb.erb +46 -0
- data/templates/player_factory.rb.erb +19 -0
- data/templates/title_screen.rb.erb +42 -0
- data/templates/world.rb.erb +63 -0
- data/test/component/collision_test.rb +39 -0
- data/test/component/movement_test.rb +155 -0
- data/test/component/position_test.rb +43 -0
- data/test/component/symbol_test.rb +30 -0
- data/test/delve_test.rb +61 -0
- data/test/display/curses_renderer_test.rb +60 -0
- data/test/display/display_test.rb +86 -0
- data/test/engine_test.rb +36 -0
- data/test/entity_test.rb +48 -0
- data/test/event_queue_test.rb +86 -0
- data/test/game_test.rb +47 -0
- data/test/generator/dungeon_test.rb +21 -0
- data/test/generator/map_test.rb +31 -0
- data/test/generator/noise_test.rb +49 -0
- data/test/input/curses_input_test.rb +24 -0
- data/test/input/input_test.rb +21 -0
- data/test/path/astar_test.rb +22 -0
- data/test/path/path_test.rb +41 -0
- data/test/scheduler/action_scheduler_test.rb +54 -0
- data/test/scheduler/scheduler_test.rb +50 -0
- data/test/scheduler/simple_scheduler_test.rb +33 -0
- data/test/screen_manager_test.rb +92 -0
- data/test/widgets/border_test.rb +60 -0
- data/test/widgets/key_value_test.rb +68 -0
- data/test/widgets/menu_test.rb +103 -0
- data/test/widgets/multi_line_test.rb +73 -0
- data/test/widgets/progress_test.rb +96 -0
- data/test/widgets/text_test.rb +66 -0
- data/test/widgets/viewport_test.rb +154 -0
- metadata +193 -0
@@ -0,0 +1,96 @@
|
|
1
|
+
require 'minitest'
|
2
|
+
require 'minitest/autorun'
|
3
|
+
require 'delve/widgets/progress'
|
4
|
+
require 'mocha/setup'
|
5
|
+
|
6
|
+
class ProgressWidgetTest < Minitest::Test
|
7
|
+
|
8
|
+
def setup
|
9
|
+
@x = 1
|
10
|
+
@y = 1
|
11
|
+
@width = 5
|
12
|
+
@current = 12
|
13
|
+
@max = 12
|
14
|
+
@bg = :white
|
15
|
+
@fg = :red
|
16
|
+
@widget = ProgressWidget.new @x, @y, @width, @current, @max, @fg, @bg
|
17
|
+
@display = mock('object')
|
18
|
+
end
|
19
|
+
|
20
|
+
def test_initialising_without_x_position_raises_error
|
21
|
+
assert_raises RuntimeError do
|
22
|
+
ProgressWidget.new nil, @y, @width, @current, @max, @fg, @bg
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
def test_initialising_without_y_position_raises_error
|
27
|
+
assert_raises RuntimeError do
|
28
|
+
ProgressWidget.new @x, nil, @width, @current, @max, @fg, @bg
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
def test_initialising_without_width_raises_error
|
33
|
+
assert_raises RuntimeError do
|
34
|
+
ProgressWidget.new @x, @y, nil, @current, @max, @fg, @bg
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
def test_initialising_without_fg_raises_error
|
39
|
+
assert_raises RuntimeError do
|
40
|
+
ProgressWidget.new @x, @y, @width, @current, @max, nil, @bg
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
44
|
+
def test_initialising_without_bg_raises_error
|
45
|
+
assert_raises RuntimeError do
|
46
|
+
ProgressWidget.new @x, @y, @width, @current, @max, @fg, nil
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
50
|
+
def test_initialising_without_current_raises_error
|
51
|
+
assert_raises RuntimeError do
|
52
|
+
ProgressWidget.new @x, @y, @width, nil, @max, @fg, @bg
|
53
|
+
end
|
54
|
+
end
|
55
|
+
|
56
|
+
def test_initialising_without_max_raises_error
|
57
|
+
assert_raises RuntimeError do
|
58
|
+
ProgressWidget.new @x, @y, @width, @current, nil, @fg, @bg
|
59
|
+
end
|
60
|
+
end
|
61
|
+
|
62
|
+
def test_render_fails_if_no_display_is_given
|
63
|
+
assert_raises RuntimeError do
|
64
|
+
@widget.draw nil
|
65
|
+
end
|
66
|
+
end
|
67
|
+
|
68
|
+
def test_render_full
|
69
|
+
@display.expects(:draw).with(1, 1, ' ', @fg, @fg)
|
70
|
+
@display.expects(:draw).with(2, 1, ' ', @fg, @fg)
|
71
|
+
@display.expects(:draw).with(3, 1, ' ', @fg, @fg)
|
72
|
+
@display.expects(:draw).with(4, 1, ' ', @fg, @fg)
|
73
|
+
@display.expects(:draw).with(5, 1, ' ', @fg, @fg)
|
74
|
+
@widget.draw(@display)
|
75
|
+
end
|
76
|
+
|
77
|
+
def test_partially_full
|
78
|
+
@widget.current = 6
|
79
|
+
@display.expects(:draw).with(1, 1, ' ', @fg, @fg)
|
80
|
+
@display.expects(:draw).with(2, 1, ' ', @fg, @fg)
|
81
|
+
@display.expects(:draw).with(3, 1, ' ', @fg, @fg)
|
82
|
+
@display.expects(:draw).with(4, 1, ' ', @bg, @bg)
|
83
|
+
@display.expects(:draw).with(5, 1, ' ', @bg, @bg)
|
84
|
+
@widget.draw(@display)
|
85
|
+
end
|
86
|
+
|
87
|
+
def test_set_current_value
|
88
|
+
@widget.current = 2
|
89
|
+
assert_equal 2, @widget.current
|
90
|
+
end
|
91
|
+
|
92
|
+
def test_set_max_value
|
93
|
+
@widget.max = 100
|
94
|
+
assert_equal 100, @widget.max
|
95
|
+
end
|
96
|
+
end
|
@@ -0,0 +1,66 @@
|
|
1
|
+
require 'minitest'
|
2
|
+
require 'minitest/autorun'
|
3
|
+
require 'delve/widgets/text'
|
4
|
+
|
5
|
+
class TextWidgetTest < Minitest::Test
|
6
|
+
|
7
|
+
def test_initialising_without_x_position_raises_error
|
8
|
+
assert_raises RuntimeError do
|
9
|
+
TextWidget.new nil, 5, 'This is some text'
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
def test_initialising_without_y_position_raises_error
|
14
|
+
assert_raises RuntimeError do
|
15
|
+
TextWidget.new 5, nil, 'This is some more text'
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
def test_initialising_without_text_raises_error
|
20
|
+
assert_raises RuntimeError do
|
21
|
+
TextWidget.new 5, 5, nil
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
def test_render_fails_if_no_display_is_given
|
26
|
+
widget = TextWidget.new 2, 2, 'Text'
|
27
|
+
assert_raises RuntimeError do
|
28
|
+
widget.draw nil
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
def test_render_centered_horizontally
|
33
|
+
widget = TextWidget.new :center, 0, 'abc'
|
34
|
+
display = mock('object')
|
35
|
+
display.expects(:width).returns(10)
|
36
|
+
display.expects(:draw).with(4, 0, 'a')
|
37
|
+
display.expects(:draw).with(5, 0, 'b')
|
38
|
+
display.expects(:draw).with(6, 0, 'c')
|
39
|
+
widget.draw display
|
40
|
+
end
|
41
|
+
|
42
|
+
def test_render_centered_vertically
|
43
|
+
widget = TextWidget.new 0, :center, 'abc'
|
44
|
+
display = mock('object')
|
45
|
+
display.expects(:height).returns(10)
|
46
|
+
display.expects(:draw).with(0, 5, 'a')
|
47
|
+
display.expects(:draw).with(1, 5, 'b')
|
48
|
+
display.expects(:draw).with(2, 5, 'c')
|
49
|
+
widget.draw display
|
50
|
+
end
|
51
|
+
|
52
|
+
def test_render
|
53
|
+
display = mock('onject')
|
54
|
+
widget = TextWidget.new 1, 1, 'Some text'
|
55
|
+
display.expects(:draw).with(1, 1, 'S')
|
56
|
+
display.expects(:draw).with(2, 1, 'o')
|
57
|
+
display.expects(:draw).with(3, 1, 'm')
|
58
|
+
display.expects(:draw).with(4, 1, 'e')
|
59
|
+
display.expects(:draw).with(5, 1, ' ')
|
60
|
+
display.expects(:draw).with(6, 1, 't')
|
61
|
+
display.expects(:draw).with(7, 1, 'e')
|
62
|
+
display.expects(:draw).with(8, 1, 'x')
|
63
|
+
display.expects(:draw).with(9, 1, 't')
|
64
|
+
widget.draw(display)
|
65
|
+
end
|
66
|
+
end
|
@@ -0,0 +1,154 @@
|
|
1
|
+
require 'minitest'
|
2
|
+
require 'minitest/autorun'
|
3
|
+
require 'delve/widgets/viewport'
|
4
|
+
|
5
|
+
class ViewportWidgetTest < Minitest::Test
|
6
|
+
|
7
|
+
def setup
|
8
|
+
@x = 1
|
9
|
+
@y = 1
|
10
|
+
@width = 3
|
11
|
+
@height = 3
|
12
|
+
@world = mock('object')
|
13
|
+
@display = mock('object')
|
14
|
+
|
15
|
+
@viewport = ViewportWidget.new @x, @y, @width, @height, @world
|
16
|
+
end
|
17
|
+
|
18
|
+
def test_initialize_without_x_fails
|
19
|
+
assert_raises RuntimeError do
|
20
|
+
ViewportWidget.new nil, @y, @width, @height, @world
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
def test_initialize_without_y_fails
|
25
|
+
assert_raises RuntimeError do
|
26
|
+
ViewportWidget.new @x, nil, @width, @height, @world
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
def test_initialize_without_width_fails
|
31
|
+
assert_raises RuntimeError do
|
32
|
+
ViewportWidget.new @x, @y, nil, @height, @world
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
def test_initialize_without_height_fails
|
37
|
+
assert_raises RuntimeError do
|
38
|
+
ViewportWidget.new @x, @y, @width, nil, @world
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
42
|
+
def test_initialize_without_world_fails
|
43
|
+
assert_raises RuntimeError do
|
44
|
+
ViewportWidget.new @x, @y, @width, @height, nil
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
48
|
+
def test_focus_west_of_0_fails
|
49
|
+
assert_raises RuntimeError do
|
50
|
+
@viewport.focus -1, 5
|
51
|
+
end
|
52
|
+
end
|
53
|
+
|
54
|
+
def test_focus_north_of_0_fails
|
55
|
+
assert_raises RuntimeError do
|
56
|
+
@viewport.focus 4, -1
|
57
|
+
end
|
58
|
+
end
|
59
|
+
|
60
|
+
def test_focus_east_of_width_fails
|
61
|
+
@world.expects(:width).returns(10)
|
62
|
+
assert_raises RuntimeError do
|
63
|
+
@viewport.focus 10, 1
|
64
|
+
end
|
65
|
+
end
|
66
|
+
|
67
|
+
def test_focus_south_off_height_fails
|
68
|
+
@world.stubs(:width).returns(18)
|
69
|
+
@world.expects(:height).returns(9)
|
70
|
+
assert_raises RuntimeError do
|
71
|
+
@viewport.focus 1, 9
|
72
|
+
end
|
73
|
+
end
|
74
|
+
|
75
|
+
def test_draw_without_display_fails
|
76
|
+
assert_raises RuntimeError do
|
77
|
+
@viewport.draw nil
|
78
|
+
end
|
79
|
+
end
|
80
|
+
|
81
|
+
def test_focus_at_5_5_renders_4_4_to_6_6
|
82
|
+
@world.stubs(:width).returns(20)
|
83
|
+
@world.stubs(:height).returns(100)
|
84
|
+
expect_world 4, 4, 6, 6
|
85
|
+
expect_draw 1, 1, 3, 3
|
86
|
+
|
87
|
+
@viewport.focus 5, 5
|
88
|
+
@viewport.draw @display
|
89
|
+
end
|
90
|
+
|
91
|
+
def test_focus_at_0_0_renders_0_0_to_2_2
|
92
|
+
@world.stubs(:width).returns(20)
|
93
|
+
@world.stubs(:height).returns(100)
|
94
|
+
expect_world 0, 0, 2, 2
|
95
|
+
expect_draw 1, 1, 3, 3
|
96
|
+
|
97
|
+
@viewport.focus 0, 0
|
98
|
+
@viewport.draw @display
|
99
|
+
end
|
100
|
+
|
101
|
+
def test_focus_at_99_99_renders_97_97_to_99_99
|
102
|
+
@world.stubs(:width).returns(100)
|
103
|
+
@world.stubs(:height).returns(100)
|
104
|
+
expect_world 97, 97, 99, 99
|
105
|
+
expect_draw 1, 1, 3, 3
|
106
|
+
|
107
|
+
@viewport.focus 99, 99
|
108
|
+
@viewport.draw @display
|
109
|
+
end
|
110
|
+
|
111
|
+
def test_focus_at_0_0_puts_top_left_at_0_0
|
112
|
+
@world.stubs(:width).returns(100)
|
113
|
+
@world.stubs(:height).returns(100)
|
114
|
+
|
115
|
+
@viewport.focus 0, 0
|
116
|
+
assert_equal 0, @viewport.top_left[:x]
|
117
|
+
assert_equal 0, @viewport.top_left[:y]
|
118
|
+
end
|
119
|
+
|
120
|
+
def test_focus_at_99_99_puts_top_left_at_97_97
|
121
|
+
@world.stubs(:width).returns(100)
|
122
|
+
@world.stubs(:height).returns(100)
|
123
|
+
|
124
|
+
@viewport.focus 99, 99
|
125
|
+
assert_equal 97, @viewport.top_left[:x]
|
126
|
+
assert_equal 97, @viewport.top_left[:y]
|
127
|
+
end
|
128
|
+
|
129
|
+
def test_width
|
130
|
+
assert_equal @width, @viewport.width
|
131
|
+
end
|
132
|
+
|
133
|
+
def test_height
|
134
|
+
assert_equal @height, @viewport.height
|
135
|
+
end
|
136
|
+
|
137
|
+
private
|
138
|
+
def expect_world(sx, sy, ex, ey)
|
139
|
+
(sx..ex).each do |x|
|
140
|
+
(sy..ey).each do |y|
|
141
|
+
@world.expects(:at).with(x, y).returns({ :char => '.', :color => :white, :walkable => true })
|
142
|
+
end
|
143
|
+
end
|
144
|
+
end
|
145
|
+
|
146
|
+
def expect_draw(sx, sy, ex, ey)
|
147
|
+
(sx..ex).each do |x|
|
148
|
+
(sy..ey).each do |y|
|
149
|
+
@display.expects(:draw).with(x, y, '.', :white)
|
150
|
+
end
|
151
|
+
end
|
152
|
+
end
|
153
|
+
|
154
|
+
end
|
metadata
ADDED
@@ -0,0 +1,193 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: delve
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.7
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Benny Hallett
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2014-03-24 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: rake
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - '='
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: 10.1.1
|
20
|
+
type: :development
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - '='
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: 10.1.1
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: minitest
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - '='
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: 5.2.2
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - '='
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: 5.2.2
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: mocha
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - '='
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: 1.0.0
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - '='
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: 1.0.0
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: perlin_noise
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - '='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: 0.1.2
|
62
|
+
type: :runtime
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - '='
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: 0.1.2
|
69
|
+
description: Roguelike library inspired by rot.js and libtcod. Allows developers to
|
70
|
+
get a jumpstart on their roguelike development, by running a single command to get
|
71
|
+
started with an "@ walking around the world" demo.
|
72
|
+
email:
|
73
|
+
executables:
|
74
|
+
- delve
|
75
|
+
extensions: []
|
76
|
+
extra_rdoc_files: []
|
77
|
+
files:
|
78
|
+
- ".gitignore"
|
79
|
+
- Gemfile
|
80
|
+
- Gemfile.lock
|
81
|
+
- LICENSE
|
82
|
+
- README.md
|
83
|
+
- ROADMAP.md
|
84
|
+
- Rakefile
|
85
|
+
- bin/delve
|
86
|
+
- delve.gemspec
|
87
|
+
- doc/examples/ascii.rb
|
88
|
+
- doc/examples/astar.rb
|
89
|
+
- doc/examples/border.rb
|
90
|
+
- doc/examples/cellular.rb
|
91
|
+
- doc/examples/display.rb
|
92
|
+
- doc/examples/engine.rb
|
93
|
+
- doc/examples/menu.rb
|
94
|
+
- doc/examples/noise.rb
|
95
|
+
- doc/examples/progress.rb
|
96
|
+
- doc/examples/rogue.rb
|
97
|
+
- lib/delve.rb
|
98
|
+
- lib/delve/component/collision.rb
|
99
|
+
- lib/delve/component/movement.rb
|
100
|
+
- lib/delve/component/position.rb
|
101
|
+
- lib/delve/component/symbol.rb
|
102
|
+
- lib/delve/display/curses_renderer.rb
|
103
|
+
- lib/delve/display/display.rb
|
104
|
+
- lib/delve/engine.rb
|
105
|
+
- lib/delve/entity.rb
|
106
|
+
- lib/delve/event_queue.rb
|
107
|
+
- lib/delve/fov/discrete_shadowcasting.rb
|
108
|
+
- lib/delve/fov/fov.rb
|
109
|
+
- lib/delve/game.rb
|
110
|
+
- lib/delve/generator/cellular.rb
|
111
|
+
- lib/delve/generator/dungeon.rb
|
112
|
+
- lib/delve/generator/map.rb
|
113
|
+
- lib/delve/generator/noise.rb
|
114
|
+
- lib/delve/generator/rogue.rb
|
115
|
+
- lib/delve/input/curses_input.rb
|
116
|
+
- lib/delve/input/input.rb
|
117
|
+
- lib/delve/path/astar.rb
|
118
|
+
- lib/delve/path/path.rb
|
119
|
+
- lib/delve/scheduler/action_scheduler.rb
|
120
|
+
- lib/delve/scheduler/scheduler.rb
|
121
|
+
- lib/delve/scheduler/simple_scheduler.rb
|
122
|
+
- lib/delve/screen_manager.rb
|
123
|
+
- lib/delve/widgets/border.rb
|
124
|
+
- lib/delve/widgets/key_value.rb
|
125
|
+
- lib/delve/widgets/menu.rb
|
126
|
+
- lib/delve/widgets/multi_line.rb
|
127
|
+
- lib/delve/widgets/progress.rb
|
128
|
+
- lib/delve/widgets/text.rb
|
129
|
+
- lib/delve/widgets/viewport.rb
|
130
|
+
- rot.js.LICENSE
|
131
|
+
- templates/Gemfile.erb
|
132
|
+
- templates/README.md.erb
|
133
|
+
- templates/binfile.erb
|
134
|
+
- templates/game_screen.rb.erb
|
135
|
+
- templates/gemspec.erb
|
136
|
+
- templates/loading_screen.rb.erb
|
137
|
+
- templates/player_factory.rb.erb
|
138
|
+
- templates/title_screen.rb.erb
|
139
|
+
- templates/world.rb.erb
|
140
|
+
- test/component/collision_test.rb
|
141
|
+
- test/component/movement_test.rb
|
142
|
+
- test/component/position_test.rb
|
143
|
+
- test/component/symbol_test.rb
|
144
|
+
- test/delve_test.rb
|
145
|
+
- test/display/curses_renderer_test.rb
|
146
|
+
- test/display/display_test.rb
|
147
|
+
- test/engine_test.rb
|
148
|
+
- test/entity_test.rb
|
149
|
+
- test/event_queue_test.rb
|
150
|
+
- test/game_test.rb
|
151
|
+
- test/generator/dungeon_test.rb
|
152
|
+
- test/generator/map_test.rb
|
153
|
+
- test/generator/noise_test.rb
|
154
|
+
- test/input/curses_input_test.rb
|
155
|
+
- test/input/input_test.rb
|
156
|
+
- test/path/astar_test.rb
|
157
|
+
- test/path/path_test.rb
|
158
|
+
- test/scheduler/action_scheduler_test.rb
|
159
|
+
- test/scheduler/scheduler_test.rb
|
160
|
+
- test/scheduler/simple_scheduler_test.rb
|
161
|
+
- test/screen_manager_test.rb
|
162
|
+
- test/widgets/border_test.rb
|
163
|
+
- test/widgets/key_value_test.rb
|
164
|
+
- test/widgets/menu_test.rb
|
165
|
+
- test/widgets/multi_line_test.rb
|
166
|
+
- test/widgets/progress_test.rb
|
167
|
+
- test/widgets/text_test.rb
|
168
|
+
- test/widgets/viewport_test.rb
|
169
|
+
homepage: https://github.com/BennyHallett/delve
|
170
|
+
licenses:
|
171
|
+
- BSD
|
172
|
+
metadata: {}
|
173
|
+
post_install_message:
|
174
|
+
rdoc_options: []
|
175
|
+
require_paths:
|
176
|
+
- lib
|
177
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
178
|
+
requirements:
|
179
|
+
- - ">="
|
180
|
+
- !ruby/object:Gem::Version
|
181
|
+
version: '0'
|
182
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
183
|
+
requirements:
|
184
|
+
- - ">="
|
185
|
+
- !ruby/object:Gem::Version
|
186
|
+
version: '0'
|
187
|
+
requirements: []
|
188
|
+
rubyforge_project:
|
189
|
+
rubygems_version: 2.2.2
|
190
|
+
signing_key:
|
191
|
+
specification_version: 4
|
192
|
+
summary: Roguelike library inspired by rot.js and libtcod
|
193
|
+
test_files: []
|