ippa-chingu 0.5 → 0.5.1
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.
- data/Manifest.txt +69 -0
- data/benchmarks/README.txt +1 -0
- data/benchmarks/benchmark.rb +6 -0
- data/benchmarks/benchmark3.rb +23 -0
- data/benchmarks/benchmark4.rb +71 -0
- data/benchmarks/meta_benchmark.rb +67 -0
- data/benchmarks/meta_benchmark2.rb +39 -0
- data/chingu.gemspec +3 -3
- data/games/triangle_wars/NOT_DONE_YET.txt +1 -0
- data/games/triangle_wars/media/1up.png +0 -0
- data/games/triangle_wars/media/33487__CosmicD__006.wav +0 -0
- data/games/triangle_wars/media/Thumbs.db +0 -0
- data/games/triangle_wars/media/autofire.png +0 -0
- data/games/triangle_wars/media/backgrounds/GPN-2000-000933.jpg +0 -0
- data/games/triangle_wars/media/backgrounds/Thumbs.db +0 -0
- data/games/triangle_wars/media/backgrounds/background10.png +0 -0
- data/games/triangle_wars/media/backgrounds/background10.svg +94 -0
- data/games/triangle_wars/media/backgrounds/background2.jpg +0 -0
- data/games/triangle_wars/media/backgrounds/background2.png +0 -0
- data/games/triangle_wars/media/backgrounds/hubble_deep_field.jpg +0 -0
- data/games/triangle_wars/media/backgrounds/hubble_deep_field.png +0 -0
- data/games/triangle_wars/media/backgrounds/intro_bg.png +0 -0
- data/games/triangle_wars/media/backgrounds/star_4.jpg +0 -0
- data/games/triangle_wars/media/backgrounds/star_5.jpg +0 -0
- data/games/triangle_wars/media/backgrounds/star_6.jpg +0 -0
- data/games/triangle_wars/media/backgrounds/supernova_1.jpg +0 -0
- data/games/triangle_wars/media/bigbomb.png +0 -0
- data/games/triangle_wars/media/bullets.svg +223 -0
- data/games/triangle_wars/media/enemy.png +0 -0
- data/games/triangle_wars/media/enemy.svg +194 -0
- data/games/triangle_wars/media/enemy_dying.png +0 -0
- data/games/triangle_wars/media/enemy_small.svg +195 -0
- data/games/triangle_wars/media/explosion.wav +0 -0
- data/games/triangle_wars/media/hit.wav +0 -0
- data/games/triangle_wars/media/hit2.wav +0 -0
- data/games/triangle_wars/media/hit3.wav +0 -0
- data/games/triangle_wars/media/laser.png +0 -0
- data/games/triangle_wars/media/laser.svg +166 -0
- data/games/triangle_wars/media/laser_up.png +0 -0
- data/games/triangle_wars/media/plasma.png +0 -0
- data/games/triangle_wars/media/plasma.wav +0 -0
- data/games/triangle_wars/media/plasma_up.png +0 -0
- data/games/triangle_wars/media/powerup_bg.png +0 -0
- data/games/triangle_wars/media/powerups.svg +885 -0
- data/games/triangle_wars/media/rocket_up.png +0 -0
- data/games/triangle_wars/media/spaceship.png +0 -0
- data/games/triangle_wars/media/spaceship.svg +318 -0
- data/games/triangle_wars/media/triangle_logo.svg +335 -0
- data/games/triangle_wars/media/triangle_wars.png +0 -0
- data/games/triangle_wars/media/triangle_wars_intro.mp3 +0 -0
- data/games/triangle_wars/media/triangle_wars_intro.ogg +0 -0
- data/games/triangle_wars/src/enemy.rb +117 -0
- data/games/triangle_wars/src/game_over_state.rb +18 -0
- data/games/triangle_wars/src/level_state.rb +114 -0
- data/games/triangle_wars/src/menu_state.rb +67 -0
- data/games/triangle_wars/src/my_game_object.rb +46 -0
- data/games/triangle_wars/src/pause_state.rb +16 -0
- data/games/triangle_wars/src/player.rb +136 -0
- data/games/triangle_wars/src/power_up.rb +67 -0
- data/games/triangle_wars/triangle_wars.rb +69 -0
- data/lib/chingu.rb +2 -2
- data/lib/chingu/actor.rb +8 -8
- data/lib/chingu/animation.rb +2 -2
- data/lib/chingu/basic_game_object.rb +36 -29
- data/lib/chingu/particle.rb +5 -8
- data/lib/chingu/traits/collision_detection.rb +1 -1
- data/lib/chingu/traits/deprecated_module_visual.rb +1 -1
- data/lib/chingu/traits/deprecated_visual.rb +1 -1
- data/lib/chingu/traits/effect.rb +1 -1
- data/lib/chingu/traits/input.rb +1 -1
- data/lib/chingu/traits/velocity.rb +1 -1
- metadata +62 -3
@@ -0,0 +1,67 @@
|
|
1
|
+
class PowerUp < Chingu::GameObject
|
2
|
+
attr_reader :type, :radius, :status
|
3
|
+
|
4
|
+
def initialize(options)
|
5
|
+
super
|
6
|
+
@speed_x = options[:speed_x]
|
7
|
+
@speed_y = options[:speed_y]
|
8
|
+
@type = options[:type]
|
9
|
+
|
10
|
+
@powerup_bg = Image["powerup_bg.png"]
|
11
|
+
@powerup = Image["#{@type}.png"]
|
12
|
+
#@image = Image["#{@type}.png"]
|
13
|
+
|
14
|
+
@radius = (@powerup_bg.width + @powerup_bg.height) / 2 * 0.70
|
15
|
+
|
16
|
+
@white = Gosu::Color.new(150,255,255,255)
|
17
|
+
@transparent = Gosu::Color.new(255,255,255,255)
|
18
|
+
@status = :default
|
19
|
+
|
20
|
+
@zoom_seed_x = 0
|
21
|
+
@zoom_seed_y = Math::PI
|
22
|
+
end
|
23
|
+
|
24
|
+
#
|
25
|
+
# Creates a powerup with objects x/y-coords and speed_x/speed_y
|
26
|
+
#
|
27
|
+
def self.new_from(object)
|
28
|
+
power_ups = ["plasma_up", "1up", "laser_up", "rocket_up", "bigbomb", "autofire"]
|
29
|
+
type = power_ups[rand(power_ups.size)]
|
30
|
+
PowerUp.new(:type => type, :x => object.x, :y => object.y,
|
31
|
+
:speed_x => object.speed_x, :speed_y => object.speed_y)
|
32
|
+
end
|
33
|
+
|
34
|
+
def die!
|
35
|
+
@status = :dead
|
36
|
+
destroy!
|
37
|
+
##$window.remove_game_object(self)
|
38
|
+
end
|
39
|
+
def alive?
|
40
|
+
@status == :default
|
41
|
+
end
|
42
|
+
def dead?
|
43
|
+
@status == :dead
|
44
|
+
end
|
45
|
+
|
46
|
+
def update
|
47
|
+
self.factor_x = 1.1 + Math::sin(@zoom_seed_x += 0.3)/20
|
48
|
+
self.factor_y = 1.1 + Math::sin(@zoom_seed_y += 0.3)/20
|
49
|
+
end
|
50
|
+
|
51
|
+
def draw
|
52
|
+
@color = @transparent
|
53
|
+
@image = @powerup_bg
|
54
|
+
super
|
55
|
+
@image = @powerup
|
56
|
+
#@color = ($window.ticks % 2 == 0) ? @white : @transparent
|
57
|
+
super
|
58
|
+
end
|
59
|
+
|
60
|
+
private
|
61
|
+
|
62
|
+
def move
|
63
|
+
base = $windows.dt/100.0
|
64
|
+
@x += @speed_x * base
|
65
|
+
@y += @speed_y * base
|
66
|
+
end
|
67
|
+
end
|
@@ -0,0 +1,69 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
require File.join("..", "..", "lib", "chingu.rb")
|
4
|
+
require File.join("src", "menu_state")
|
5
|
+
require File.join("src", "level_state")
|
6
|
+
require File.join("src", "pause_state")
|
7
|
+
require File.join("src", "game_over_state")
|
8
|
+
|
9
|
+
require File.join("src", "my_game_object")
|
10
|
+
require File.join("src", "enemy")
|
11
|
+
require File.join("src", "player")
|
12
|
+
require File.join("src", "power_up")
|
13
|
+
|
14
|
+
require 'gosu'
|
15
|
+
include Gosu
|
16
|
+
include Chingu
|
17
|
+
|
18
|
+
#
|
19
|
+
# When a missing method is called on an array...
|
20
|
+
# .. Go through each item in the array and call that method on the items.
|
21
|
+
#
|
22
|
+
class Set
|
23
|
+
def collide_by_radius(items = [])
|
24
|
+
self.each do |item|
|
25
|
+
items.each do |item2|
|
26
|
+
if distance(item.x, item.y, item2.x, item2.y) < item.radius
|
27
|
+
yield item, item2
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
def method_missing(method, *arg)
|
34
|
+
self.each { |item| item.send(method, *arg) }
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
class Array
|
39
|
+
def collide_by_radius(items = [])
|
40
|
+
self.each do |item|
|
41
|
+
items.each do |item2|
|
42
|
+
if distance(item.x, item.y, item2.x, item2.y) < item.radius
|
43
|
+
yield item, item2
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
49
|
+
def method_missing(method, *arg)
|
50
|
+
self.each { |item| item.send(method, *arg) }
|
51
|
+
end
|
52
|
+
end
|
53
|
+
|
54
|
+
class Game < Chingu::Window
|
55
|
+
def initialize
|
56
|
+
super(1024, 768)
|
57
|
+
Gosu::Image.autoload_dirs << File.join(@root, "media", "backgrounds")
|
58
|
+
self.input = { :escape => :close }
|
59
|
+
push_game_state(Menu)
|
60
|
+
transitional_game_state(Chingu::GameStates::FadeTo)
|
61
|
+
end
|
62
|
+
|
63
|
+
def update
|
64
|
+
super
|
65
|
+
self.caption = "Triangle Wars [framerate: #{framerate}] [game objects: #{current_game_state.game_objects.size}]"
|
66
|
+
end
|
67
|
+
end
|
68
|
+
|
69
|
+
Game.new.show
|
data/lib/chingu.rb
CHANGED
@@ -13,7 +13,7 @@ require 'set'
|
|
13
13
|
input
|
14
14
|
}.each do |lib|
|
15
15
|
root ||= File.dirname(File.expand_path(__FILE__))
|
16
|
-
require File.join(root,"chingu","
|
16
|
+
require File.join(root,"chingu","traits",lib)
|
17
17
|
end
|
18
18
|
|
19
19
|
%w{ helpers
|
@@ -49,5 +49,5 @@ require 'set'
|
|
49
49
|
end
|
50
50
|
|
51
51
|
module Chingu
|
52
|
-
VERSION = "0.
|
52
|
+
VERSION = "0.5.1"
|
53
53
|
end
|
data/lib/chingu/actor.rb
CHANGED
@@ -3,13 +3,13 @@ module Chingu
|
|
3
3
|
# A game object class with most components included, nice for quick prototypes
|
4
4
|
#
|
5
5
|
class Actor < Chingu::GameObject
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
6
|
+
has_traits :effect, :velocity, :input
|
7
|
+
|
8
|
+
def update
|
9
|
+
# needed for traits to work
|
10
|
+
super
|
11
|
+
|
12
|
+
# your game logic Here
|
13
|
+
end
|
14
14
|
end
|
15
15
|
end
|
data/lib/chingu/animation.rb
CHANGED
@@ -61,8 +61,8 @@ module Chingu
|
|
61
61
|
# @animation[0..2] # returns a new Animation-instance with first, second and third frame
|
62
62
|
#
|
63
63
|
def [](index)
|
64
|
-
return @frames[index] if index.is_a?
|
65
|
-
return self.new_from_frames(index) if index.is_a?
|
64
|
+
return @frames[index] if index.is_a?(Fixnum)
|
65
|
+
return self.new_from_frames(index) if index.is_a?(Range)
|
66
66
|
end
|
67
67
|
|
68
68
|
#
|
@@ -3,38 +3,45 @@ module Chingu
|
|
3
3
|
# BasicGameObject. Resonating with 1.9.1, this is our most basic class that all game objects ultimate should build on.
|
4
4
|
#
|
5
5
|
# All objects that inherits from this class will by default be automaticly be updated and drawn.
|
6
|
-
# It will also acts as a container for the
|
6
|
+
# It will also acts as a container for the trait-system of chingu.
|
7
7
|
#
|
8
8
|
class BasicGameObject
|
9
9
|
attr_reader :options, :parent
|
10
10
|
|
11
11
|
#
|
12
|
-
# Create class variable @
|
12
|
+
# Create class variable @traits in every new class derived from GameObject
|
13
13
|
#
|
14
14
|
def self.inherited(subclass)
|
15
|
-
subclass.instance_variable_set("@
|
15
|
+
subclass.instance_variable_set("@traits", Set.new)
|
16
16
|
end
|
17
17
|
|
18
18
|
class << self
|
19
|
-
attr_accessor :
|
19
|
+
attr_accessor :traits
|
20
20
|
end
|
21
21
|
|
22
22
|
#
|
23
|
-
# adds a
|
23
|
+
# adds a trait or traits to a certain game class
|
24
24
|
#
|
25
25
|
# Executes a ruby "include" the specified module
|
26
26
|
# and sets up update and draw hooks.
|
27
27
|
#
|
28
|
-
def self.
|
29
|
-
|
28
|
+
def self.has_trait(*traits)
|
29
|
+
has_traits(*traits)
|
30
|
+
end
|
31
|
+
|
32
|
+
#
|
33
|
+
# See #has_trait
|
34
|
+
#
|
35
|
+
def self.has_traits(*traits)
|
36
|
+
Array(traits).each do |trait|
|
30
37
|
|
31
|
-
if
|
32
|
-
string = "Chingu::
|
38
|
+
if trait.is_a?(::Symbol) || trait.is_a?(::String)
|
39
|
+
string = "Chingu::Traits::#{trait.to_s.downcase.capitalize}"
|
33
40
|
klass_or_module = eval(string)
|
34
41
|
|
35
42
|
if klass_or_module.is_a?(Class)
|
36
|
-
|
37
|
-
@
|
43
|
+
trait = klass_or_module.new(self, {})
|
44
|
+
@traits << trait
|
38
45
|
elsif klass_or_module.is_a?(Module)
|
39
46
|
include klass_or_module
|
40
47
|
end
|
@@ -46,17 +53,17 @@ module Chingu
|
|
46
53
|
#
|
47
54
|
# BasicGameUnit initialize
|
48
55
|
#
|
49
|
-
# - caches
|
50
|
-
# - call .setup() on
|
56
|
+
# - caches all trait methods for fast calls later on
|
57
|
+
# - call .setup() on all traits that implements it
|
51
58
|
# - adds game object to correct game state or $window if no game state exists
|
52
59
|
#
|
53
60
|
def initialize(options = {})
|
54
61
|
@options = options
|
55
|
-
|
56
|
-
|
57
|
-
|
62
|
+
setupable_traits
|
63
|
+
updateable_traits
|
64
|
+
drawable_traits
|
58
65
|
|
59
|
-
@
|
66
|
+
@setupable_traits.each { |c| c.setup(self, options) }
|
60
67
|
|
61
68
|
#
|
62
69
|
# A GameObject can either belong to a GameState or our mainwindow ($window)
|
@@ -70,32 +77,32 @@ module Chingu
|
|
70
77
|
end
|
71
78
|
|
72
79
|
#
|
73
|
-
# Get all
|
80
|
+
# Get all traits
|
74
81
|
#
|
75
|
-
def
|
82
|
+
def traits; self.class.traits || []; end
|
76
83
|
|
77
|
-
def
|
78
|
-
@
|
84
|
+
def setupable_traits
|
85
|
+
@setupable_traits ||= traits.select { |c| c.respond_to?(:setup) }
|
79
86
|
end
|
80
|
-
def
|
81
|
-
@
|
87
|
+
def updateable_traits
|
88
|
+
@updateable_traits ||= traits.select { |c| c.respond_to?(:update) }
|
82
89
|
end
|
83
|
-
def
|
84
|
-
@
|
90
|
+
def drawable_traits
|
91
|
+
@drawable_traits ||= traits.select { |c| c.respond_to?(:draw) }
|
85
92
|
end
|
86
93
|
|
87
94
|
#
|
88
|
-
# Call .update on all
|
95
|
+
# Call .update on all traits that implements it
|
89
96
|
#
|
90
97
|
def update
|
91
|
-
@
|
98
|
+
@updateable_traits.each { |c| c.update(self) }
|
92
99
|
end
|
93
100
|
|
94
101
|
#
|
95
|
-
# Call .draw on all
|
102
|
+
# Call .draw on all traits that implements it
|
96
103
|
#
|
97
104
|
def draw
|
98
|
-
@
|
105
|
+
@drawable_traits.each { |c| c.draw(self) }
|
99
106
|
end
|
100
107
|
|
101
108
|
|
data/lib/chingu/particle.rb
CHANGED
@@ -1,23 +1,20 @@
|
|
1
1
|
#
|
2
|
-
# Our basic particle class
|
2
|
+
# Our basic particle class, basicly just a GameObject with trait "effect"
|
3
|
+
#
|
4
|
+
# TODO: expand on this further, as it is now it doesn't add much.
|
3
5
|
#
|
4
6
|
module Chingu
|
5
7
|
class Particle < Chingu::GameObject
|
6
|
-
|
8
|
+
has_trait :effect
|
7
9
|
|
8
10
|
def initialize(options)
|
9
11
|
super({:mode => :additive}.merge(options))
|
10
|
-
@rotation = options[:rotation] || 0
|
11
|
-
@zoom = options[:zoom] || 0
|
12
|
-
@fade = options[:fade] || 0
|
13
12
|
@animation = options[:animation] || nil
|
14
13
|
end
|
15
14
|
|
16
15
|
def update
|
16
|
+
super
|
17
17
|
self.image = @animation.next! if @animation
|
18
|
-
self.rotate(@rotation)
|
19
|
-
self.zoom(@zoom)
|
20
|
-
self.fade(@fade)
|
21
18
|
end
|
22
19
|
|
23
20
|
end
|
data/lib/chingu/traits/effect.rb
CHANGED
data/lib/chingu/traits/input.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ippa-chingu
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 0.5.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- ippa
|
@@ -32,11 +32,19 @@ extensions: []
|
|
32
32
|
extra_rdoc_files:
|
33
33
|
- History.txt
|
34
34
|
- Manifest.txt
|
35
|
+
- benchmarks/README.txt
|
36
|
+
- games/triangle_wars/NOT_DONE_YET.txt
|
35
37
|
files:
|
36
38
|
- History.txt
|
37
39
|
- Manifest.txt
|
38
40
|
- README.rdoc
|
39
41
|
- Rakefile
|
42
|
+
- benchmarks/README.txt
|
43
|
+
- benchmarks/benchmark.rb
|
44
|
+
- benchmarks/benchmark3.rb
|
45
|
+
- benchmarks/benchmark4.rb
|
46
|
+
- benchmarks/meta_benchmark.rb
|
47
|
+
- benchmarks/meta_benchmark2.rb
|
40
48
|
- chingu.gemspec
|
41
49
|
- examples/example1.rb
|
42
50
|
- examples/example2.rb
|
@@ -60,6 +68,58 @@ files:
|
|
60
68
|
- examples/media/stickfigure.bmp
|
61
69
|
- examples/media/stickfigure.png
|
62
70
|
- examples/media/video_games.png
|
71
|
+
- games/triangle_wars/NOT_DONE_YET.txt
|
72
|
+
- games/triangle_wars/media/1up.png
|
73
|
+
- games/triangle_wars/media/33487__CosmicD__006.wav
|
74
|
+
- games/triangle_wars/media/Thumbs.db
|
75
|
+
- games/triangle_wars/media/autofire.png
|
76
|
+
- games/triangle_wars/media/backgrounds/GPN-2000-000933.jpg
|
77
|
+
- games/triangle_wars/media/backgrounds/Thumbs.db
|
78
|
+
- games/triangle_wars/media/backgrounds/background10.png
|
79
|
+
- games/triangle_wars/media/backgrounds/background10.svg
|
80
|
+
- games/triangle_wars/media/backgrounds/background2.jpg
|
81
|
+
- games/triangle_wars/media/backgrounds/background2.png
|
82
|
+
- games/triangle_wars/media/backgrounds/hubble_deep_field.jpg
|
83
|
+
- games/triangle_wars/media/backgrounds/hubble_deep_field.png
|
84
|
+
- games/triangle_wars/media/backgrounds/intro_bg.png
|
85
|
+
- games/triangle_wars/media/backgrounds/star_4.jpg
|
86
|
+
- games/triangle_wars/media/backgrounds/star_5.jpg
|
87
|
+
- games/triangle_wars/media/backgrounds/star_6.jpg
|
88
|
+
- games/triangle_wars/media/backgrounds/supernova_1.jpg
|
89
|
+
- games/triangle_wars/media/bigbomb.png
|
90
|
+
- games/triangle_wars/media/bullets.svg
|
91
|
+
- games/triangle_wars/media/enemy.png
|
92
|
+
- games/triangle_wars/media/enemy.svg
|
93
|
+
- games/triangle_wars/media/enemy_dying.png
|
94
|
+
- games/triangle_wars/media/enemy_small.svg
|
95
|
+
- games/triangle_wars/media/explosion.wav
|
96
|
+
- games/triangle_wars/media/hit.wav
|
97
|
+
- games/triangle_wars/media/hit2.wav
|
98
|
+
- games/triangle_wars/media/hit3.wav
|
99
|
+
- games/triangle_wars/media/laser.png
|
100
|
+
- games/triangle_wars/media/laser.svg
|
101
|
+
- games/triangle_wars/media/laser_up.png
|
102
|
+
- games/triangle_wars/media/plasma.png
|
103
|
+
- games/triangle_wars/media/plasma.wav
|
104
|
+
- games/triangle_wars/media/plasma_up.png
|
105
|
+
- games/triangle_wars/media/powerup_bg.png
|
106
|
+
- games/triangle_wars/media/powerups.svg
|
107
|
+
- games/triangle_wars/media/rocket_up.png
|
108
|
+
- games/triangle_wars/media/spaceship.png
|
109
|
+
- games/triangle_wars/media/spaceship.svg
|
110
|
+
- games/triangle_wars/media/triangle_logo.svg
|
111
|
+
- games/triangle_wars/media/triangle_wars.png
|
112
|
+
- games/triangle_wars/media/triangle_wars_intro.mp3
|
113
|
+
- games/triangle_wars/media/triangle_wars_intro.ogg
|
114
|
+
- games/triangle_wars/src/enemy.rb
|
115
|
+
- games/triangle_wars/src/game_over_state.rb
|
116
|
+
- games/triangle_wars/src/level_state.rb
|
117
|
+
- games/triangle_wars/src/menu_state.rb
|
118
|
+
- games/triangle_wars/src/my_game_object.rb
|
119
|
+
- games/triangle_wars/src/pause_state.rb
|
120
|
+
- games/triangle_wars/src/player.rb
|
121
|
+
- games/triangle_wars/src/power_up.rb
|
122
|
+
- games/triangle_wars/triangle_wars.rb
|
63
123
|
- lib/chingu.rb
|
64
124
|
- lib/chingu/actor.rb
|
65
125
|
- lib/chingu/animation.rb
|
@@ -91,7 +151,6 @@ files:
|
|
91
151
|
- lib/chingu/window.rb
|
92
152
|
has_rdoc: false
|
93
153
|
homepage: http://github.com/ippa/chingu/tree/master
|
94
|
-
licenses:
|
95
154
|
post_install_message:
|
96
155
|
rdoc_options:
|
97
156
|
- --main
|
@@ -113,7 +172,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
113
172
|
requirements: []
|
114
173
|
|
115
174
|
rubyforge_project: chingu
|
116
|
-
rubygems_version: 1.
|
175
|
+
rubygems_version: 1.2.0
|
117
176
|
signing_key:
|
118
177
|
specification_version: 3
|
119
178
|
summary: Game framework built on top of the OpenGL accelerated game lib Gosu
|