ippa-chingu 0.5.1 → 0.5.2.1
Sign up to get free protection for your applications and to get access to all the features.
- data/Manifest.txt +0 -52
- data/chingu.gemspec +4 -4
- data/examples/example1.rb +1 -1
- data/lib/chingu.rb +1 -1
- data/lib/chingu/window.rb +3 -3
- metadata +2 -55
- data/games/triangle_wars/NOT_DONE_YET.txt +0 -1
- 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 +0 -94
- 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 +0 -223
- data/games/triangle_wars/media/enemy.png +0 -0
- data/games/triangle_wars/media/enemy.svg +0 -194
- data/games/triangle_wars/media/enemy_dying.png +0 -0
- data/games/triangle_wars/media/enemy_small.svg +0 -195
- 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 +0 -166
- 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 +0 -885
- 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 +0 -318
- data/games/triangle_wars/media/triangle_logo.svg +0 -335
- 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 +0 -117
- data/games/triangle_wars/src/game_over_state.rb +0 -18
- data/games/triangle_wars/src/level_state.rb +0 -114
- data/games/triangle_wars/src/menu_state.rb +0 -67
- data/games/triangle_wars/src/my_game_object.rb +0 -46
- data/games/triangle_wars/src/pause_state.rb +0 -16
- data/games/triangle_wars/src/player.rb +0 -136
- data/games/triangle_wars/src/power_up.rb +0 -67
- data/games/triangle_wars/triangle_wars.rb +0 -69
@@ -1,67 +0,0 @@
|
|
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
|
@@ -1,69 +0,0 @@
|
|
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
|