moonpxi-nimo 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (57) hide show
  1. data/.document +5 -0
  2. data/.gitignore +5 -0
  3. data/LICENSE +20 -0
  4. data/README.rdoc +15 -0
  5. data/Rakefile +47 -0
  6. data/VERSION +1 -0
  7. data/examples/bouncy.rb +101 -0
  8. data/examples/eventy.rb +19 -0
  9. data/examples/images/dg_classm32.png +0 -0
  10. data/examples/images/dg_dungeon32.png +0 -0
  11. data/examples/images/jeeklabs.png +0 -0
  12. data/examples/images/tcheco.png +0 -0
  13. data/examples/imagey.rb +82 -0
  14. data/examples/screeny.rb +80 -0
  15. data/examples/simplest.rb +23 -0
  16. data/examples/sounds/KDE-Sys-Log-Out.ogg +0 -0
  17. data/examples/sounds/k3b_error1.wav +0 -0
  18. data/examples/soundy.rb +40 -0
  19. data/examples/spritey.rb +90 -0
  20. data/lib/nimo.rb +35 -0
  21. data/lib/nimo/behavior/deflector.rb +39 -0
  22. data/lib/nimo/behavior/moveable.rb +33 -0
  23. data/lib/nimo/behavior/projectile.rb +23 -0
  24. data/lib/nimo/behavior/with_velocity.rb +28 -0
  25. data/lib/nimo/game_object.rb +58 -0
  26. data/lib/nimo/game_window.rb +59 -0
  27. data/lib/nimo/listeners/event_listener.rb +27 -0
  28. data/lib/nimo/listeners/input_listener.rb +70 -0
  29. data/lib/nimo/representations/image_representation.rb +18 -0
  30. data/lib/nimo/representations/object_representation.rb +67 -0
  31. data/lib/nimo/representations/quad_representation.rb +23 -0
  32. data/lib/nimo/representations/sprite_representation.rb +78 -0
  33. data/lib/nimo/representations/text_representation.rb +27 -0
  34. data/lib/nimo/screen.rb +103 -0
  35. data/lib/nimo/utils/game.rb +63 -0
  36. data/lib/nimo/utils/intersection.rb +30 -0
  37. data/lib/nimo/utils/object_extension.rb +17 -0
  38. data/lib/nimo/utils/resources.rb +51 -0
  39. data/nimo.gemspec +117 -0
  40. data/spec/nimo/behavior/deflector_spec.rb +51 -0
  41. data/spec/nimo/behavior/moveable_spec.rb +81 -0
  42. data/spec/nimo/behavior/projectile_spec.rb +34 -0
  43. data/spec/nimo/behavior/with_velocity_spec.rb +18 -0
  44. data/spec/nimo/game_object_spec.rb +169 -0
  45. data/spec/nimo/game_window_spec.rb +88 -0
  46. data/spec/nimo/listeners/event_listener_spec.rb +34 -0
  47. data/spec/nimo/listeners/input_listener_spec.rb +87 -0
  48. data/spec/nimo/representations/image_representation_spec.rb +41 -0
  49. data/spec/nimo/representations/object_representation_spec.rb +74 -0
  50. data/spec/nimo/representations/sprite_representation_spec.rb +73 -0
  51. data/spec/nimo/representations/text_representation_spec.rb +21 -0
  52. data/spec/nimo/screen_spec.rb +114 -0
  53. data/spec/nimo/utils/game_spec.rb +44 -0
  54. data/spec/nimo/utils/object_extension_spec.rb +21 -0
  55. data/spec/nimo/utils/resources_spec.rb +59 -0
  56. data/spec/spec_helper.rb +9 -0
  57. metadata +133 -0
@@ -0,0 +1,44 @@
1
+ require File.dirname(__FILE__) + '/../../spec_helper'
2
+
3
+ describe "Nimo::Game module method" do
4
+
5
+ before(:each) do
6
+ @game_window = mock("game window")
7
+ Nimo::GameWindow.should_receive(:new).with("title", 320, 240).and_return(@game_window)
8
+ @game_window.should_receive(:show)
9
+ end
10
+
11
+ it "should construct and show a GameWindow with title and dimenstion attributes" do
12
+ window = Nimo::Game("title", 320, 240)
13
+ end
14
+
15
+ it "should construct and show a GameWindow with a construction block" do
16
+ @game_window.should_receive(:add_screen)
17
+
18
+ window = Nimo::Game("title", 320, 240) do
19
+ screen :some_screen
20
+ end
21
+ end
22
+
23
+
24
+ # describe "(screen construction)" do
25
+ # it "should add a new screen with the supplied screen building block" do
26
+ # screen = mock("screen")
27
+ # Nimo::Screen.should_receive(:new).and_return(screen)
28
+ # screen.should_receive(:quad).with(:something)
29
+ # screen.should_receive(:notify)
30
+ #
31
+ # @game_window.screen :name do
32
+ # quad :something
33
+ # end
34
+ # end
35
+ #
36
+ # it "should forward image loading to the Resources" do
37
+ # image_def = {:some_tag => { :filename => "some file name.png" }}
38
+ # @resources.should_receive(:load_images).with(image_def)
39
+ #
40
+ # @game_window.images(image_def)
41
+ # end
42
+ # end
43
+
44
+ end
@@ -0,0 +1,21 @@
1
+ require File.dirname(__FILE__) + '/../../spec_helper'
2
+
3
+ describe Object do
4
+
5
+ it "should create object from hash" do
6
+ obj = Object.from_hash(:a => 1, :b => 2)
7
+
8
+ obj.a.should == 1
9
+ obj.b.should == 2
10
+ end
11
+
12
+ it "should set values in the object from hash" do
13
+ obj = Object.from_hash(:a => 1, :b => 2)
14
+ obj.a = 3
15
+ obj.b = 4
16
+
17
+ obj.a.should == 3
18
+ obj.b.should == 4
19
+ end
20
+
21
+ end
@@ -0,0 +1,59 @@
1
+ require File.dirname(__FILE__) + '/../../spec_helper'
2
+
3
+ describe Nimo::Resources do
4
+
5
+ before(:each) do
6
+ @resources = Nimo::Resources.new(nil)
7
+ end
8
+
9
+ it "should load images" do
10
+ some_image = mock("image")
11
+ Gosu::Image.should_receive(:new).and_return(some_image)
12
+
13
+ @resources.load_images(:some_image => { :filename => "some_file.png" })
14
+
15
+ @resources.images.should have_key(:some_image)
16
+ @resources.image(:some_image).should == some_image
17
+ end
18
+
19
+ it "should raise exception when trying to get an unknown image" do
20
+ lambda { @resources.image(:unknown) }.should raise_error("No image resource named 'unknown'")
21
+ end
22
+
23
+ it "should load tiled images" do
24
+ Gosu::Image.should_receive(:load_tiles).and_return(nil)
25
+
26
+ @resources.load_images(:some_tile => { :filename => "some_file.png", :tile_dimension => [32, 32] })
27
+
28
+ @resources.images.should have_key(:some_tile)
29
+ end
30
+
31
+ it "should load fonts" do
32
+ some_font = mock("font")
33
+ Gosu::Font.should_receive(:new).and_return(some_font)
34
+
35
+ @resources.load_fonts(:some_font => { :type => "some_font_name", :size => 42 })
36
+
37
+ @resources.fonts.should have_key(:some_font)
38
+ @resources.font(:some_font).should == some_font
39
+ end
40
+
41
+ it "should raise exception when trying to get an unknown font" do
42
+ lambda { @resources.font(:unknown) }.should raise_error("No font resource named 'unknown'")
43
+ end
44
+
45
+ it "should load sounds" do
46
+ some_sound = mock("sound")
47
+ Gosu::Song.should_receive(:new).and_return(some_sound)
48
+
49
+ @resources.load_sounds(:some_sound => { :filename => "some_file.wav" })
50
+
51
+ @resources.sounds.should have_key(:some_sound)
52
+ @resources.sound(:some_sound).should == some_sound
53
+ end
54
+
55
+ it "should raise exception when trying to get an unknown sound" do
56
+ lambda { @resources.sound(:unknown) }.should raise_error("No sound resource named 'unknown'")
57
+ end
58
+
59
+ end
@@ -0,0 +1,9 @@
1
+ require 'spec'
2
+
3
+ $LOAD_PATH.unshift(File.dirname(__FILE__))
4
+ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
5
+ require 'nimo'
6
+
7
+ Spec::Runner.configure do |config|
8
+
9
+ end
metadata ADDED
@@ -0,0 +1,133 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: moonpxi-nimo
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - moonpxi
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+
12
+ date: 2009-09-17 00:00:00 -07:00
13
+ default_executable:
14
+ dependencies: []
15
+
16
+ description:
17
+ email: paulo.schneider@gmail.com
18
+ executables: []
19
+
20
+ extensions: []
21
+
22
+ extra_rdoc_files:
23
+ - LICENSE
24
+ - README.rdoc
25
+ files:
26
+ - .document
27
+ - .gitignore
28
+ - LICENSE
29
+ - README.rdoc
30
+ - Rakefile
31
+ - VERSION
32
+ - examples/bouncy.rb
33
+ - examples/eventy.rb
34
+ - examples/images/dg_classm32.png
35
+ - examples/images/dg_dungeon32.png
36
+ - examples/images/jeeklabs.png
37
+ - examples/images/tcheco.png
38
+ - examples/imagey.rb
39
+ - examples/screeny.rb
40
+ - examples/simplest.rb
41
+ - examples/sounds/KDE-Sys-Log-Out.ogg
42
+ - examples/sounds/k3b_error1.wav
43
+ - examples/soundy.rb
44
+ - examples/spritey.rb
45
+ - lib/nimo.rb
46
+ - lib/nimo/behavior/deflector.rb
47
+ - lib/nimo/behavior/moveable.rb
48
+ - lib/nimo/behavior/projectile.rb
49
+ - lib/nimo/behavior/with_velocity.rb
50
+ - lib/nimo/game_object.rb
51
+ - lib/nimo/game_window.rb
52
+ - lib/nimo/listeners/event_listener.rb
53
+ - lib/nimo/listeners/input_listener.rb
54
+ - lib/nimo/representations/image_representation.rb
55
+ - lib/nimo/representations/object_representation.rb
56
+ - lib/nimo/representations/quad_representation.rb
57
+ - lib/nimo/representations/sprite_representation.rb
58
+ - lib/nimo/representations/text_representation.rb
59
+ - lib/nimo/screen.rb
60
+ - lib/nimo/utils/game.rb
61
+ - lib/nimo/utils/intersection.rb
62
+ - lib/nimo/utils/object_extension.rb
63
+ - lib/nimo/utils/resources.rb
64
+ - nimo.gemspec
65
+ - spec/nimo/behavior/deflector_spec.rb
66
+ - spec/nimo/behavior/moveable_spec.rb
67
+ - spec/nimo/behavior/projectile_spec.rb
68
+ - spec/nimo/behavior/with_velocity_spec.rb
69
+ - spec/nimo/game_object_spec.rb
70
+ - spec/nimo/game_window_spec.rb
71
+ - spec/nimo/listeners/event_listener_spec.rb
72
+ - spec/nimo/listeners/input_listener_spec.rb
73
+ - spec/nimo/representations/image_representation_spec.rb
74
+ - spec/nimo/representations/object_representation_spec.rb
75
+ - spec/nimo/representations/sprite_representation_spec.rb
76
+ - spec/nimo/representations/text_representation_spec.rb
77
+ - spec/nimo/screen_spec.rb
78
+ - spec/nimo/utils/game_spec.rb
79
+ - spec/nimo/utils/object_extension_spec.rb
80
+ - spec/nimo/utils/resources_spec.rb
81
+ - spec/spec_helper.rb
82
+ has_rdoc: false
83
+ homepage: http://github.com/moonpxi/nimo
84
+ licenses:
85
+ post_install_message:
86
+ rdoc_options:
87
+ - --charset=UTF-8
88
+ require_paths:
89
+ - lib
90
+ required_ruby_version: !ruby/object:Gem::Requirement
91
+ requirements:
92
+ - - ">="
93
+ - !ruby/object:Gem::Version
94
+ version: "0"
95
+ version:
96
+ required_rubygems_version: !ruby/object:Gem::Requirement
97
+ requirements:
98
+ - - ">="
99
+ - !ruby/object:Gem::Version
100
+ version: "0"
101
+ version:
102
+ requirements: []
103
+
104
+ rubyforge_project:
105
+ rubygems_version: 1.3.5
106
+ signing_key:
107
+ specification_version: 3
108
+ summary: Ruby game development library using Gosu.
109
+ test_files:
110
+ - spec/nimo/behavior/deflector_spec.rb
111
+ - spec/nimo/behavior/moveable_spec.rb
112
+ - spec/nimo/behavior/projectile_spec.rb
113
+ - spec/nimo/behavior/with_velocity_spec.rb
114
+ - spec/nimo/game_object_spec.rb
115
+ - spec/nimo/game_window_spec.rb
116
+ - spec/nimo/listeners/event_listener_spec.rb
117
+ - spec/nimo/listeners/input_listener_spec.rb
118
+ - spec/nimo/representations/image_representation_spec.rb
119
+ - spec/nimo/representations/object_representation_spec.rb
120
+ - spec/nimo/representations/sprite_representation_spec.rb
121
+ - spec/nimo/representations/text_representation_spec.rb
122
+ - spec/nimo/screen_spec.rb
123
+ - spec/nimo/utils/game_spec.rb
124
+ - spec/nimo/utils/object_extension_spec.rb
125
+ - spec/nimo/utils/resources_spec.rb
126
+ - spec/spec_helper.rb
127
+ - examples/bouncy.rb
128
+ - examples/eventy.rb
129
+ - examples/imagey.rb
130
+ - examples/screeny.rb
131
+ - examples/simplest.rb
132
+ - examples/soundy.rb
133
+ - examples/spritey.rb