carpet_diem 0.0.5 → 0.0.6
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/carpet_diem.gemspec +1 -3
- data/lib/carpet.rb +4 -51
- data/lib/endboss.rb +1 -1
- data/lib/lamp_with_genie.rb +2 -2
- data/lib/media/evil_genie.wav +0 -0
- data/lib/media/evil_laughter.wav +0 -0
- data/lib/media/good_genie.wav +0 -0
- data/lib/media/lamp.wav +0 -0
- metadata +6 -39
- data/lib/media/evil_genie.m4a +0 -0
- data/lib/media/evil_laughter.m4a +0 -0
- data/lib/media/good_genie.m4a +0 -0
- data/lib/media/lamp.m4a +0 -0
- data/lib/media/lamp_louder.m4a +0 -0
data/carpet_diem.gemspec
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
Gem::Specification.new do |s|
|
2
2
|
s.name = 'carpet_diem'
|
3
|
-
s.version = '0.0.
|
3
|
+
s.version = '0.0.6'
|
4
4
|
s.licenses = ['MIT']
|
5
5
|
s.summary = "A Gosu game about a flying carpet"
|
6
6
|
s.description = "Be a flying carpet that hovers through the clouds. On your way up you will encounter magic lamps. Rub them to see if a good or an evil genie is hidden inside, the one adding points to your score, the other being your worst enemy!"
|
@@ -11,8 +11,6 @@ Gem::Specification.new do |s|
|
|
11
11
|
s.homepage = 'https://github.com/RapidRailsGirls/carpet-diem'
|
12
12
|
s.executables = %w[carpet_diem]
|
13
13
|
s.add_runtime_dependency 'gosu', '0.7.50'
|
14
|
-
s.add_runtime_dependency 'texplay', '~> 0.4'
|
15
|
-
s.add_runtime_dependency 'chingu', '~> 0.8'
|
16
14
|
|
17
15
|
s.add_development_dependency 'rspec'
|
18
16
|
|
data/lib/carpet.rb
CHANGED
@@ -1,5 +1,3 @@
|
|
1
|
-
require 'texplay'
|
2
|
-
require 'chingu'
|
3
1
|
require_relative 'positionable'
|
4
2
|
|
5
3
|
class Carpet
|
@@ -38,54 +36,9 @@ class Carpet
|
|
38
36
|
end
|
39
37
|
|
40
38
|
def collides_with?(object)
|
41
|
-
|
39
|
+
object.bottom * object.scale > top &&
|
40
|
+
object.top < bottom &&
|
41
|
+
object.right * object.scale > left &&
|
42
|
+
object.left < right
|
42
43
|
end
|
43
|
-
|
44
|
-
def images_overlap?(object)
|
45
|
-
object.bottom > top &&
|
46
|
-
object.top < bottom &&
|
47
|
-
object.right > left &&
|
48
|
-
object.left < right
|
49
|
-
end
|
50
|
-
|
51
|
-
def opaque_overlapping_pixels(object)
|
52
|
-
overlapping_pixels(object).select do |x,y|
|
53
|
-
!@carpet_image.transparent_pixel?(x,y) && !object.image.transparent_pixel?(x,y)
|
54
|
-
end
|
55
|
-
end
|
56
|
-
|
57
|
-
def overlapping_pixels(object)
|
58
|
-
if left < object.left
|
59
|
-
box_left = object.left
|
60
|
-
if right < object.right * object.scale
|
61
|
-
box_width = right - object.left
|
62
|
-
else
|
63
|
-
box_width = object.width * object.scale
|
64
|
-
end
|
65
|
-
else
|
66
|
-
box_width = object.right * object.scale - left
|
67
|
-
box_left = left
|
68
|
-
end
|
69
|
-
if top < object.top
|
70
|
-
box_top = object.top
|
71
|
-
if bottom < object.bottom * object.scale
|
72
|
-
box_height = bottom - object.top
|
73
|
-
else
|
74
|
-
box_height = object.height * object.scale
|
75
|
-
end
|
76
|
-
else
|
77
|
-
box_top = top
|
78
|
-
box_height = object.bottom * object.scale - top
|
79
|
-
end
|
80
|
-
pixels(box_left, box_top, box_width, box_height)
|
81
|
-
end
|
82
|
-
|
83
|
-
def pixels(offset_x, offset_y, width, height)
|
84
|
-
height.round.times.flat_map do |y|
|
85
|
-
width.round.times.map do |x|
|
86
|
-
[(x + offset_x).to_i, (y + offset_y).to_i]
|
87
|
-
end
|
88
|
-
end
|
89
|
-
end
|
90
|
-
|
91
44
|
end
|
data/lib/endboss.rb
CHANGED
@@ -6,7 +6,7 @@ attr_reader :endboss
|
|
6
6
|
@x = window.width/2 - @image.width/2
|
7
7
|
@y = window.height
|
8
8
|
@scale = 0.0
|
9
|
-
@sound = Gosu::Sample.new(window, path_to_media('evil_laughter.
|
9
|
+
@sound = Gosu::Sample.new(window, path_to_media('evil_laughter.wav'))
|
10
10
|
@laughs = false
|
11
11
|
end
|
12
12
|
|
data/lib/lamp_with_genie.rb
CHANGED
@@ -13,7 +13,7 @@ class LampWithGenie
|
|
13
13
|
else
|
14
14
|
@image = Gosu::Image.new(window, path_to_media('lamp.png'))
|
15
15
|
end
|
16
|
-
@sound = Gosu::Sample.new(window, path_to_media('lamp.
|
16
|
+
@sound = Gosu::Sample.new(window, path_to_media('lamp.wav'))
|
17
17
|
@rubbed = false
|
18
18
|
@y = -@image.height
|
19
19
|
@scale = 1
|
@@ -43,7 +43,7 @@ class LampWithGenie
|
|
43
43
|
prefix = good? ? 'good' : 'evil'
|
44
44
|
suffix = '_flipped' if flipped
|
45
45
|
@image = Gosu::Image.new(window, path_to_media("#{prefix}_genie#{suffix}.png"))
|
46
|
-
@sound = Gosu::Sample.new(window, path_to_media("#{prefix}_genie.
|
46
|
+
@sound = Gosu::Sample.new(window, path_to_media("#{prefix}_genie.wav"))
|
47
47
|
@lamp = lamp
|
48
48
|
@y = -@image.height
|
49
49
|
@flipped = flipped
|
Binary file
|
Binary file
|
Binary file
|
data/lib/media/lamp.wav
ADDED
Binary file
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: carpet_diem
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.6
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2014-
|
13
|
+
date: 2014-10-01 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: gosu
|
@@ -28,38 +28,6 @@ dependencies:
|
|
28
28
|
- - '='
|
29
29
|
- !ruby/object:Gem::Version
|
30
30
|
version: 0.7.50
|
31
|
-
- !ruby/object:Gem::Dependency
|
32
|
-
name: texplay
|
33
|
-
requirement: !ruby/object:Gem::Requirement
|
34
|
-
none: false
|
35
|
-
requirements:
|
36
|
-
- - ~>
|
37
|
-
- !ruby/object:Gem::Version
|
38
|
-
version: '0.4'
|
39
|
-
type: :runtime
|
40
|
-
prerelease: false
|
41
|
-
version_requirements: !ruby/object:Gem::Requirement
|
42
|
-
none: false
|
43
|
-
requirements:
|
44
|
-
- - ~>
|
45
|
-
- !ruby/object:Gem::Version
|
46
|
-
version: '0.4'
|
47
|
-
- !ruby/object:Gem::Dependency
|
48
|
-
name: chingu
|
49
|
-
requirement: !ruby/object:Gem::Requirement
|
50
|
-
none: false
|
51
|
-
requirements:
|
52
|
-
- - ~>
|
53
|
-
- !ruby/object:Gem::Version
|
54
|
-
version: '0.8'
|
55
|
-
type: :runtime
|
56
|
-
prerelease: false
|
57
|
-
version_requirements: !ruby/object:Gem::Requirement
|
58
|
-
none: false
|
59
|
-
requirements:
|
60
|
-
- - ~>
|
61
|
-
- !ruby/object:Gem::Version
|
62
|
-
version: '0.8'
|
63
31
|
- !ruby/object:Gem::Dependency
|
64
32
|
name: rspec
|
65
33
|
requirement: !ruby/object:Gem::Requirement
|
@@ -95,17 +63,16 @@ files:
|
|
95
63
|
- lib/media/carpet.png
|
96
64
|
- lib/media/carpet_flipped.png
|
97
65
|
- lib/media/endboss.png
|
98
|
-
- lib/media/evil_genie.m4a
|
99
66
|
- lib/media/evil_genie.png
|
67
|
+
- lib/media/evil_genie.wav
|
100
68
|
- lib/media/evil_genie_flipped.png
|
101
|
-
- lib/media/evil_laughter.
|
102
|
-
- lib/media/good_genie.m4a
|
69
|
+
- lib/media/evil_laughter.wav
|
103
70
|
- lib/media/good_genie.png
|
71
|
+
- lib/media/good_genie.wav
|
104
72
|
- lib/media/good_genie_flipped.png
|
105
|
-
- lib/media/lamp.m4a
|
106
73
|
- lib/media/lamp.png
|
74
|
+
- lib/media/lamp.wav
|
107
75
|
- lib/media/lamp_flipped.png
|
108
|
-
- lib/media/lamp_louder.m4a
|
109
76
|
- lib/positionable.rb
|
110
77
|
- lib/window.rb
|
111
78
|
- bin/carpet_diem
|
data/lib/media/evil_genie.m4a
DELETED
Binary file
|
data/lib/media/evil_laughter.m4a
DELETED
Binary file
|
data/lib/media/good_genie.m4a
DELETED
Binary file
|
data/lib/media/lamp.m4a
DELETED
Binary file
|
data/lib/media/lamp_louder.m4a
DELETED
Binary file
|