4
|
1 function state_update()
|
|
2 {
|
|
3 for(var i = 0; Boolean(active_chara_list.enemy[i]) ; i++)
|
|
4 {
|
|
5 var p = active_chara_list.enemy[i];
|
7
|
6 if(p.flag == true)
|
4
|
7 {
|
|
8 p = p.state(p);
|
|
9 }
|
|
10 }
|
|
11 }
|
7
|
12
|
|
13 noaction = function no_action(p)
|
|
14 {
|
|
15 p.state = noaction;
|
|
16 return p;
|
|
17 }
|
|
18
|
|
19 delete_chara = function delete_character( p )
|
|
20 {
|
|
21 p.state = noaction;
|
|
22 p.flag = false;
|
|
23 return p;
|
|
24 }
|
|
25
|
6
|
26 chara_state0 = function character_state0( p )
|
|
27 {
|
|
28 p.x += p.vx;
|
|
29 p.y += p.vy;
|
|
30 p.state = chara_state0;
|
|
31 return p;
|
|
32 }
|
|
33
|
|
34 chara_state1 = function character_state1( p )
|
|
35 {
|
|
36 p.x -= p.vx;
|
|
37 p.y -= p.vy;
|
|
38 p.state = chara_state1;
|
|
39 return p;
|
|
40 }
|
|
41
|
|
42 chara_state2 = function character_state2( p )
|
|
43 {
|
|
44 p.x -= 0.25;
|
|
45 p.y += p.vy;
|
|
46 p.state = chara_state2;
|
|
47 return p;
|
|
48 }
|
|
49
|
11
|
50 chara_state3 = function character_state3( p )
|
|
51 {
|
|
52 p.x += p.vx;
|
|
53 p.y += p.vy;
|
|
54 if((p.dt1 == 60) ||
|
|
55 (p.dt1 == 90) ||
|
|
56 (p.dt1 == 30))
|
|
57 {
|
|
58 Puttama(0, p.x, p.y);
|
|
59 }
|
|
60 p.dt1++;
|
|
61 p.state = chara_state3;
|
|
62 return p;
|
|
63 }
|
|
64
|
|
65 chara_state4 = function character_state4(p)
|
|
66 {
|
|
67 p.y += p.vy;
|
|
68 p.x += p.vx;
|
|
69 if(p.y < jiki.y && p.y + 16 > jiki.y)
|
|
70 {
|
|
71 p.vy = -2;
|
12
|
72 p.vx = ((jiki.x > p.x ) ? 4 : -4);
|
11
|
73 p.state = chara_state7;
|
|
74 }
|
|
75 else p.state = chara_state4;
|
|
76 return p;
|
|
77 }
|
|
78
|
|
79 chara_state5 = function character_state5(p)
|
|
80 {
|
|
81 p.y += p.vy;
|
|
82 p.x += p.vx;
|
|
83 if(p.y + 96 < jiki.y
|
|
84 && p.y + 128 > jiki.y)
|
|
85 {
|
|
86 p.vy = -2;
|
|
87 p.vx = ((jiki.x > p.x) ? 4 : -4);
|
|
88 p.state = chara_state0;
|
|
89 }
|
|
90 else p.state = chara_state5;
|
|
91 //PutSprite(count, p.x, p.y, p.charano);
|
|
92 return p;
|
|
93 }
|
|
94
|
|
95 chara_state6 = function character_state7(p)
|
|
96 {
|
|
97 p.y += p.vy;
|
|
98 p.x += p.vx;
|
|
99 if(p.y + 96 < jiki.y
|
|
100 && p.y + 128 > jiki.y)
|
|
101 {
|
|
102 p.vy = 2;
|
|
103 p.vx = ((jiki.x > p.x) ? 4 : -4);
|
|
104 p.state = chara_state0;
|
|
105 }
|
|
106 else p.state = chara_state6;
|
|
107 //PutSprite(count, p.x, p.y, p.charano);
|
|
108 return p;
|
|
109 }
|
|
110
|
|
111 chara_state7 = function character_state7(p)
|
|
112 {
|
|
113 p.x += p.vx;
|
|
114 p.y += p.vy;
|
|
115 if((p.dt1 == 60) || (p.dt1 == 90)
|
|
116 || (p.dt1 == 30))
|
|
117 {
|
|
118 Puttama(1, p.x, p.y);
|
|
119 }
|
|
120 p.dt1++;
|
|
121 p.state = chara_state7;
|
|
122 return p;
|
|
123 }
|
|
124
|
|
125 // stage1 boss patern
|
7
|
126 chara_state8 = function character_state8( p )
|
6
|
127 {
|
11
|
128 if(p.y < 520*d_y)
|
6
|
129 {
|
7
|
130 p.y -= p.vy;
|
|
131 /*
|
|
132 tekino0 = p;
|
|
133 kyeenmyno = p;
|
|
134 count++;
|
|
135 DefSpriteEx(p.charano, 16*4, 32*4);
|
|
136 PutSpriteEx(p.charano, (p.x * 4), (p.y * 4), 0.2, 0.2, 1);
|
|
137 */
|
|
138 p.dt1 = 512;
|
|
139 p.s = 0.125;
|
|
140 p.state = chara_state8;
|
|
141 return p;
|
6
|
142 }
|
7
|
143 p.state = chara_state9;
|
|
144 return p;
|
|
145 }
|
|
146
|
|
147 chara_state9 = function character_state9( p )
|
|
148 {
|
|
149
|
|
150 if(p.s <= 2)
|
6
|
151 {
|
7
|
152 p.s += 0.05
|
|
153 p.y += 0.12;
|
|
154 count++;
|
|
155 // DefSpriteEx(54, 16*4, 32*4);
|
|
156 // PutSpriteEx(54, (p.x * 4), (p.y * 4), p.x, p.x, 1);
|
|
157 p.state = chara_state9;
|
|
158 return p;
|
6
|
159 }
|
7
|
160 count++;
|
|
161 rinkx = p.x;
|
|
162 rinky = p.y;
|
|
163 // DefSpriteEx(54, 16,32);
|
|
164 // PutSpriteEx(54, p.x, p.y, p.s, p.s, 1);
|
|
165 // Putenemy(5, rinkx - 16, rinky -16, 1, 0, chara_state10);
|
|
166 // Putenemy(5, rinkx - 16, rinky -16, -1, 0, chara_state10);
|
|
167 PutBoss(2, rinkx - 16, rinky -16, 1, 0, chara_state10);
|
|
168 PutBoss(2, rinkx - 16, rinky -16, -1, 0, chara_state10);
|
|
169
|
|
170 p.state = chara_state11;
|
|
171 p.dt1 = 8192;
|
|
172
|
|
173 return p;
|
|
174 }
|
|
175
|
|
176 chara_state10 = function character_state10( p )
|
|
177 {
|
|
178 if(p.dt1 < 48)
|
6
|
179 {
|
7
|
180 p.x += p.vx;
|
|
181 p.y += p.vy;
|
|
182 p.dt1++;
|
|
183 p.state = chara_state10;
|
|
184 return p;
|
6
|
185 }
|
7
|
186 rinkf1 = 1;
|
|
187 p.dt1 = rinkx;
|
|
188 p.dt2 = rinky;
|
|
189 p.state = chara_state13;
|
|
190 return p;
|
|
191 }
|
|
192
|
|
193 chara_state11 = function character_state11( p )
|
|
194 {
|
|
195 if(rinkf1 == 0)
|
6
|
196 {
|
7
|
197 count++;
|
|
198 // DefSpriteEx(54, 16, 32);
|
|
199 // PutSpriteEx(54, p.x, p.y, p.s, p.s, 1);
|
|
200 p.state = chara_state11;
|
|
201 return p;
|
6
|
202 }
|
7
|
203 p.dt1 = 0;
|
|
204 p.dt2 = 0;
|
|
205 p.state = chara_state12;
|
|
206 return p;
|
6
|
207 }
|
|
208
|
7
|
209 chara_state12 = function character_state12( p )
|
|
210 {
|
|
211 if(fastebos > 60+60)
|
|
212 {
|
|
213 if(p.y > 70+boss[1].h)
|
|
214 {
|
|
215 p.state = delete_chara;
|
|
216 }
|
|
217 p.y += 0.3;
|
|
218 rinky += 0.3;
|
|
219 count++;
|
|
220 // DefSpriteEx(54, 16, 32);
|
|
221 // PutSpriteEx(54, p.x, p.y, 2, 2, 1);
|
|
222 p.state = chara_state12;
|
|
223 return p;
|
|
224 }
|
|
225 if(p.dt1 <= 60)
|
|
226 {
|
|
227 if(jiki.x + 15 -rinkx < -5)
|
|
228 {
|
|
229 p.vx = -0.3;
|
|
230 }
|
|
231 else if(jiki.x + 15 - rinkx > 5)
|
|
232 {
|
|
233 p.vx = +0.8;
|
|
234 }
|
|
235 else p.vx = 0;
|
|
236 rinkx = p.x;
|
|
237 rinky = p.y;
|
|
238 }
|
|
239 if((p.dt1 > 60) && (p.dt1 <= 70))
|
|
240 {
|
|
241 if(p.dt1 % 2 == 1)
|
|
242 {
|
|
243 // Puttama(0, rinkx - 16, rinky);
|
|
244 // Puttama(0, rinkx, rinky);
|
|
245 // Puttama(0, rinkx + 16, rinky);
|
|
246 }
|
|
247 }
|
|
248 if((p.dt1 > 180) && (p.dt1 <= 240))
|
|
249 {
|
|
250 if(p.dt1 % 2 == 1)
|
|
251 {
|
|
252 rinkf2 = 1;
|
|
253 // Puttama(2, rinkx - 16, p.y -32);
|
|
254 // Puttama(3, rinkx + 32 - 16, p.y - 32);
|
|
255 }
|
|
256 else
|
|
257 {
|
|
258 rinkf2 = 2;
|
|
259 }
|
|
260 }
|
|
261 if(p.df1 > 240)
|
|
262 {
|
|
263 rinkf2 = 2;
|
|
264 }
|
|
265 if((p.dt1 > 240) && (p.dt1 <= 400))
|
|
266 {
|
|
267 count++;
|
|
268 // PutSprite(count, rinkx - 16, rinky + 32, 58 + p.dt1 %4)
|
|
269 }
|
|
270 if((p.dt1 > 300) && (p.dt1 <= 400))
|
|
271 {
|
|
272 rinkf2 = 3;
|
|
273 if(jiki.x + 15 - rinkx < -5)
|
|
274 {
|
|
275 p.vx = -1;
|
|
276 }
|
|
277 else if(jiki.x + 15 - rinkx > 5)
|
|
278 {
|
|
279 p.vx = +1;
|
|
280 }
|
|
281 else p.vx = 0;
|
|
282 p.x += p.vx;
|
|
283 rinkx = p.x;
|
|
284 rinky = p.y;
|
|
285 // Puttama(4, rinkx - 8, rinky + 16);
|
|
286 }
|
|
287 if((p.dt1 > 400) && (p.dt1 <= 500))
|
|
288 {
|
|
289 rinkf2 = 4;
|
|
290 if(jiki.x + 15 - rinkx > 5)
|
|
291 {
|
|
292 p.vx = -1;
|
|
293 }
|
|
294 else if(jiki.x + 15 - rinkx >5)
|
|
295 {
|
|
296 p.vx = +1;
|
|
297 }
|
|
298 else p.vx = 0;
|
|
299 p.x += p.vx;
|
|
300 rinkx = p.x;
|
|
301 rinky = p.y;
|
|
302 }
|
|
303 if(p.dt1 > 500)
|
|
304 {
|
|
305 rinkf2 = 5;
|
|
306 if(jiki.x + 15 - rinkx < -5)
|
|
307 {
|
|
308 p.vx = -1;
|
|
309 }
|
|
310 else if(jiki.x + 15 - rinkx > 5)
|
|
311 {
|
|
312 p.vx = +1;
|
|
313 }
|
|
314 else p.vx = 0;
|
|
315 p.x += p.vx;
|
|
316 rinkx = p.x;
|
|
317 rinky = p.y;
|
|
318 }
|
|
319 if(p.dt1 > 600)
|
|
320 {
|
|
321 rinkf2 = 0;
|
|
322 p.dt1 = 0;
|
|
323 }
|
|
324 fastebos++;
|
|
325 p.dt1++;
|
|
326 count++;
|
|
327 // DefSpriteEx(54, 16, 32);
|
|
328 // PutSpriteEx(54, p.x, p.y, 2, 2, 1);
|
|
329 p.state = chara_state12;
|
|
330 return p;
|
|
331
|
|
332 }
|
|
333
|
|
334 chara_state13 = function character_state13(p)
|
|
335 {
|
|
336 if(tekino0.flag == false)
|
|
337 {
|
|
338 // Bom(p.x, p.y);
|
|
339 p.flag = false;
|
|
340 p.state = delete_chara;
|
|
341 p.collision = noaction;
|
|
342 return p;
|
|
343 }
|
|
344 p.x += rinkx - p.dt1;
|
|
345 p.y += rinky -p.dt2;
|
|
346 p.dt1 = rinkx;
|
|
347 p.dt2 = rinky;
|
|
348 if(rinkf2 == 1)
|
|
349 {
|
|
350 if(p.x > rinkx)
|
|
351 {
|
|
352 Puttama(2, p.x + 32, p.y);
|
|
353 }
|
|
354 }
|
|
355 if(rinkf2 == 4)
|
|
356 {
|
|
357 count++;
|
|
358 // PutSprite(count, p.x, p.y + 56, 58+filpcount % 4);
|
|
359 }
|
|
360 if(rinkf2 == 5)
|
|
361 {
|
|
362 if(p.x > rinkx)
|
|
363 {
|
|
364 // Puttama(5, p.x + 8, p.y + 24);
|
|
365 }
|
|
366 if(p.x < rinkx)
|
|
367 {
|
|
368 // Puttama(5, p.x + 8, p.y + 24);
|
|
369 }
|
|
370 }
|
|
371 return p;
|
|
372 }
|