-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathmain2.rb
More file actions
178 lines (142 loc) · 3.48 KB
/
Copy pathmain2.rb
File metadata and controls
178 lines (142 loc) · 3.48 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
require 'dxruby'
require_relative 'bullet'
require_relative 'player'
require_relative 'enemy'
require_relative 'tama'
require_relative 'bgimage'
require_relative 'hp'
require_relative 'pinkcandy'
require_relative 'purplecandy'
require_relative 'item-d'
Window.caption = "ファミリー"
font1 = Font.new(165, font_name="Dela Gothic One Regular", option={})
font2 = Font.new(200, font_name="Dela Gothic One Regular", option={})
font3 = Font.new(125, font_name="Dela Gothic One Regular", option={})
player_img = Image.load("images/dog.png")
enemy_img = Image.load("images/okami.png")
enemies = []
player = Player.new(350, 550, player_img)
enemies << Enemy.new(350, 100, enemy_img)
Tamas = []
Tama_n = 5
Tama_n.times do
Tamas << Tama.new()
end
candies = []
"""
if $candy == 1
Pinkcandy.new()
else $candy == 2
Purplecandy.new()
end
"""
"""
pinkcandy_n.times do
pinkcandies << Pinkcandy.new()
end
purplecandies = []
purplecandy_n = 5
purplecandy_n.times do
purplecandies << Purplecandy.new()
end
"""
backimg = Bgimage.new
# background = Background.new
#時間計測用
count = 100
$stime = 0
$htime = 0
$score = 0
font = Font.new(24)
items_d=[]
Window.loop do
break if Input.key_push?(K_ESCAPE)
backimg.draw
#playerとドーナツがあたったら
items_d = Donut.all_donuts
Sprite.update(items_d)
Sprite.check(player,items_d)
Sprite.clean(items_d)
Sprite.draw(items_d)
Sprite.update(Tamas)
Sprite.draw(Tamas)
Sprite.check(Tamas, player)
Sprite.clean(Tamas)
(Tama_n - Tamas.size).times do
Tamas << Tama.new()
end
$candy = rand(0..2)
if $stime % 5 == 0 && count == 0
if $candy == 1
candies << Pinkcandy.new
else $candy == 2
candies << Pinkcandy.new
end
end
"""
(purplecandy_n - purplecandies.size).times do
purplecandies << Purplecandy.new()
end
"""
Sprite.update(candies)
Sprite.draw(candies)
Sprite.check(player,candies)
Sprite.clean(candies)
"""
Sprite.update(pinkcandies)
Sprite.draw(pinkcandies)
Sprite.check(player,pinkcandies)
Sprite.clean(pinkcandies)
Sprite.update(purplecandies)
Sprite.draw(purplecandies)
Sprite.check(player,purplecandies)
Sprite.clean(purplecandies)
"""
([player] + enemies).each do |sprite|
sprite.update
sprite.draw
end
#Window.draw_font(10, 10, "#{score}点", font, color: C_WHITE)
Window.draw_font(10,42,"ライフ :#{player.life}",font,{color:C_BLACK})
#エネミーに対する被弾処理
Sprite.check(player.bullets, enemies)
if !player.active # 以下追加
if player.game_end
require './scene/gameover.rb'
takos.map {|tako| tako.vanish}
Sprite.clean(takos)
enemies.map {|enemy| enemy.vanish}
Sprite.clean(enemies)
takos.map {|tako| tako.vanish}
Sprite.clean(takos)
pinkcandies.map {|pinkcandy| pinkcandy.vanish}
Sprite.clean(pinkcandies)
purplecandies.map {|purplecandy| purplecandy.vanish}
Sprite.clean(purplecandies)
end
end
#時間管理
count += 1
#playerの弾の発射の定義(1秒に一回)
if count % 10 == 0
player.playershot
end
#時間計測
if count % 60 == 0
$stime += 1
count = 0
end
if $stime == 60
htime += 1
$stime = 0
count = 0
end
if $stime < 10
Window.draw_font(10, 660, "0#{htime}:0#{$stime}", font, color: C_WHITE)
else
Window.draw_font(10, 660, "0#{htime}:#{$stime}", font, color: C_WHITE)
end
end
#スコア計算は
#boss被弾時スコア加算
#目標タイム - 実数値 = スコア