function state_update() { for(var i = 0; Boolean(active_chara_list.enemy[i]) ; i++) { var p = active_chara_list.enemy[i]; if(p.flag == true) { p = p.state(p); } } } noaction = function no_action(p) { p.state = noaction; return p; } delete_chara = function delete_character( p ) { p.state = noaction; p.flag = false; return p; } chara_state0 = function character_state0( p ) { p.x += p.vx; p.y += p.vy; p.state = chara_state0; return p; } chara_state1 = function character_state1( p ) { p.x -= p.vx; p.y -= p.vy; p.state = chara_state1; return p; } chara_state2 = function character_state2( p ) { p.x -= 0.25; p.y += p.vy; p.state = chara_state2; return p; } chara_state3 = function character_state3( p ) { p.x += p.vx; p.y += p.vy; if((p.dt1 == 60) || (p.dt1 == 90) || (p.dt1 == 30)) { Puttama(0, p.x, p.y); } p.dt1++; p.state = chara_state3; return p; } chara_state4 = function character_state4(p) { p.y += p.vy; p.x += p.vx; if(p.y < jiki.y && p.y + 16 > jiki.y) { p.vy = -2 * d_y; p.vx = ((jiki.x > p.x ) ? 4*d_x : -4*d_x); p.state = chara_state7; } else p.state = chara_state4; return p; } chara_state5 = function character_state5(p) { p.y += p.vy; p.x += p.vx; if(p.y + 96 < jiki.y && p.y + 128 > jiki.y) { p.vy = -2; p.vx = ((jiki.x > p.x) ? 4 : -4); p.state = chara_state0; } else p.state = chara_state5; //PutSprite(count, p.x, p.y, p.charano); return p; } chara_state6 = function character_state6(p) { p.y += p.vy; p.x += p.vx; if(p.y + 96 < jiki.y && p.y + 128 > jiki.y) { p.vy = 2; p.vx = ((jiki.x > p.x) ? 4 : -4); p.state = chara_state0; } else p.state = chara_state6; //PutSprite(count, p.x, p.y, p.charano); return p; } chara_state7 = function character_state7(p) { p.x += p.vx; p.y += p.vy; if((p.dt1 == 60) || (p.dt1 == 90) || (p.dt1 == 30)) { Puttama(1, p.x, p.y); } p.dt1++; p.state = chara_state7; return p; } // stage1 boss patern chara_state8 = function character_state8( p ) { if(p.y < 520*d_y) { p.y += p.vy; tekino0 = p; count++; /* kyeenmyno = p; DefSpriteEx(p.charano, 16*4, 32*4); PutSpriteEx(p.charano, (p.x * 4), (p.y * 4), 0.2, 0.2, 1); */ p.dt1 = 512; p.s = 0.125; p.state = chara_state8; return p; } p.state = chara_state9; return p; } chara_state9 = function character_state9( p ) { if(p.s <= 2) { p.s += 0.05 p.y -= 12*d_y; count++; // DefSpriteEx(54, 16*4, 32*4); // PutSpriteEx(54, (p.x * 4), (p.y * 4), p.x, p.x, 1); p.state = chara_state9; return p; } count++; rinkx = p.x/d_x; rinky = p.y/d_y; // DefSpriteEx(54, 16,32); // PutSpriteEx(54, p.x, p.y, p.s, p.s, 1); // Putenemy(5, rinkx - 16, rinky -16, 1, 0, chara_state10); // Putenemy(5, rinkx - 16, rinky -16, -1, 0, chara_state10); PutBoss(1, rinkx - 16*d_x, rinky -16*d_y, 1, 0, chara_state10); PutBoss(1, rinkx - 16*d_x, rinky -16*d_y, -1, 0, chara_state10); p.state = chara_state11; p.dt1 = 8192; return p; } chara_state10 = function character_state10( p ) { if(p.dt1 < 48) { p.x += p.vx; p.y += p.vy; p.dt1++; p.state = chara_state10; return p; } rinkf1 = 1; p.dt1 = rinkx * d_x; p.dt2 = rinky * d_y; p.state = chara_state13; return p; } chara_state11 = function character_state11( p ) { if(rinkf1 == 0) { count++; // DefSpriteEx(54, 16, 32); // PutSpriteEx(54, p.x, p.y, p.s, p.s, 1); p.state = chara_state11; return p; } p.dt1 = 0; p.dt2 = 0; p.state = chara_state12; return p; } chara_state12 = function character_state12( p ) { if(fastebos > 60*60) { // if(p.y > 70+boss[1].h) if(p.y > (240+32)*d_y) { p.state = delete_chara; } p.y += 0.3*d_y; rinky += 0.3*d_y; count++; // DefSpriteEx(54, 16, 32); // PutSpriteEx(54, p.x, p.y, 2, 2, 1); p.state = chara_state12; return p; } if(p.dt1 <= 60) { if(jiki.x + 15*d_x -rinkx < -5*d_x) { p.vx = -0.3 * d_x; } else if(jiki.x + 15*d_x - rinkx > 5*d_x) { p.vx = +0.8 * d_x; } else p.vx = 0; rinkx = p.x; rinky = p.y; } if((p.dt1 > 60) && (p.dt1 <= 70)) { if(p.dt1 % 2 == 1) { Puttama(0, rinkx/d_x - 16 , rinky/d_y); Puttama(0, rinkx/d_x, rinky/d_y); Puttama(0, rinkx/d_x + 16, rinky/d_y); } } if((p.dt1 > 180) && (p.dt1 <= 240)) { if(p.dt1 % 2 == 1) { rinkf2 = 1; Puttama(2, rinkx/d_x - 16, p.y/d_y -32); Puttama(3, rinkx/d_x + 32 - 16, p.y/d_y - 32); } else { rinkf2 = 2; } } if(p.df1 > 240) { rinkf2 = 2; } if((p.dt1 > 240) && (p.dt1 <= 400)) { count++; // PutSprite(count, rinkx - 16, rinky + 32, 58 + p.dt1 %4) } if((p.dt1 > 300) && (p.dt1 <= 400)) { rinkf2 = 3; if(jiki.x + 15*d_x - rinkx < -5*d_x) { p.vx = -1 * d_x; } else if(jiki.x + 15*d_x - rinkx > 5*d_x) { p.vx = +1 * d_x; } else p.vx = 0; p.x += p.vx; rinkx = p.x; rinky = p.y; Puttama(4, rinkx/d_x - 8, rinky/d_y + 16); } if((p.dt1 > 400) && (p.dt1 <= 500)) { rinkf2 = 4; if(jiki.x + 15*d_x - rinkx > 5*d_x) { p.vx = -1*d_x; } else if(jiki.x + 15*d_x - rinkx > 5*d_x) { p.vx = +1*d_x; } else p.vx = 0; p.x += p.vx; rinkx = p.x; rinky = p.y; } if(p.dt1 > 500) { rinkf2 = 5; if(jiki.x + 15*d_x - rinkx < -5*d_x) { p.vx = -1*d_x; } else if(jiki.x + 15*d_x - rinkx > 5*d_x) { p.vx = +1*d_x; } else p.vx = 0; p.x += p.vx; rinkx = p.x; rinky = p.y; } if(p.dt1 > 600) { rinkf2 = 0; p.dt1 = 0; } fastebos++; p.dt1++; count++; // DefSpriteEx(54, 16, 32); // PutSpriteEx(54, p.x, p.y, 2, 2, 1); p.state = chara_state12; return p; } chara_state13 = function character_state13(p) { if(tekino0.flag == false) { Bom(p.x, p.y); p.flag = false; p.state = delete_chara; p.collision = noaction; return p; } p.x += rinkx*d_x - p.dt1*d_x; p.y += rinky*d_y -p.dt2*d_y; p.dt1 = rinkx; p.dt2 = rinky; if(rinkf2 == 1) { if(p.x > rinkx * d_x) { Puttama(2, p.x/d_x + 32, p.y/d_y); } } if(rinkf2 == 4) { count++; // PutSprite(count, p.x, p.y + 56, 58+filpcount % 4); // PutBoss(count, p.x, p.y + 56, 58+filpcount % 4); // PutBoss(2, rinkx/d_x - 16, rinky/d_y -16, 1, 0, chara_state10); } if(rinkf2 == 5) { if(p.x > rinkx*d_x) { Puttama(5, p.x/d_x + 8 , p.y/d_y + 24); } if(p.x < rinkx*d_x) { Puttama(5, p.x/d_x + 8, p.y/d_y + 24); } } return p; } chara_state20 = function character_state20(p) { p.x += p.vx; p.y += p.vy; p.vx -= 0.5*d_x; p.vy += 0.4*d_y; return p; } chara_state21 = function character_state21(p) { p.x += p.vx; p.y += p.vy; p.vx += 0.5*d_x; p.vy += 0.4*d_y; return p; } chara_state22 = function character_state22(p) { sf = Math.random() % 4; sf = parseInt(sf); if((sf == 0) || (sf == 1)) { p.x = -35*d_x; p.y = Math.random() % (120 - 35)*d_y; p.vx = (Math.random() % 4 + 1)*d_x; p.vy = ( Math.random() % 3 + 1 )*d_y; p.state = chara_state23; } if((sf == 2)) { p.x = ( Math.random() % 290 )*d_x; p.y = -30 * d_y; p.vx = ( Math.random() % 3 - 1 )*d_x; p.vy = ( (Math.random() % 4 + 1) )*d_y; p.state = chara_state23; } if(sf == 3) { p.x = ( 320 )*d_x; p.y = ( Math.random() % (120 - 35) )*d_y; p.vx = ( (Math.random() % 4 + 1) * -1 ) *d_x; p.vy = ( Math.random() % 3 -1 ) *d_y; p.state = chara_state23; } return p; } chara_state23 = function character_state32(p) { /*’ËÜ’Åö’¤Ï’¤³’¤Î 2 ’¹Ô’¤À’¤± p=asteroid(p); return p; */ // p.x += p.vx; p.y += p.vy; p.state = chara_state23; return p; } chara_state24 = function(p) { // kyeenemyno = p; tekino0 = 0; //global’¤Ç’Àë’¸À enemy_part1 = new Character(); enemy_part2 = new Character(); enemy_part3 = new Character(); enemy_part4 = new Character(); enemy_part5 = new Character(); /* enemy_part1 = p.next; enemy_part2 = enemy_part1.next; enemy_part3 = enemy_part2.next; enemy_part4 = enemy_part3.next; enemy_part5 = enemy_part4.next; */ rinkx = 0; rinky = 0; rinkf1 = 0; rinkf2 = 0; p.state = chara_state25; return p; } chara_state25 = function(p) { if(p.dt1 <= 360) { p.x = (Mycos(p.dt1) * 30 / SANKAKU + 82 + 32) *d_x; p.y = (Mysin(p.dt1) * 30 / SANKAKU + 30)*d_y; } if(p.dt1 > 360) { p.x = (Mycos(p.dt1) * 30 * -1 /SANKAKU + 142 + 32) * d_x; p.y = (Mysin(p.dt1) * 30 / SANKAKU + 30) * d_y; } count++; // PutSprite(count, p.x - 42, p.y, 64); amari = Math.random() % 160; if((amari == 1) && (enemy_part5.flag == true)) { p.state = chara_state26; rinkf1 = 1; } if((amari == 2) && (enemy_part1.flag == true)) { p.state = chara_state27; rinkf1 = 5; rinkx = 0; return p; } if( (enemy_part1.flag != true) && (enemy_part5.flag == true)) { p.state = chara_state28; } p.dt1 += 3; if(p.dt1 == 720) { p.dt1 = 0; } return p; } chara_state26 = function(p) { if((p.dt2 > 50) && (p.dt2 < 100)) { rinkf1 = 2; } if(p.dt2 > 100) { rinkf1 = 3; } if(p.dt2 == 400) { rinkf1 = 4; } count++; // PutSprite(count, p.x - 42, p.y, 64); if(p.dt2 == 401) { p.dt2 = 0; rinkf1 = 0; p.state = chara_state25; return p; } p.dt2++; return p; } chara_state27 = function(p) { if((p.dt2 > 50) && (p.dt2 < 60) && (p.x > -24) && (p.y > -24)) { rinkf1 = 6; rinkx -= 4; p.x -= 4; p.y -= 4; } if(p.dt2 == 80) { rinkf1 = 7; } if(p.dt2 == 81) { rinkf1 = 8; } if(p.dt2 == 124) { rinkf1 = 9; } if(p.dt2 == 400) { rinkf1 = 10; } if(p.dt2 == 444) { rinkf1 = 11; } if(p.dt2 == 500) { rinkf1 = 12; } if((p.dt2 > 80) && (p.dt2 < 200)) { if((rinkx != 0) && (p.dt2 % 2 == 1)) { rinkx++; p.x++; p.y++; } } count++; // PutSprite(count, p.x - 32, p.y, 6); if(rinkf1 == 12) { p.dt2 = 0; rinkf1 = 0; rinkx = 0; p.state = chara_state25; return p; } p.dt2++; return p; } chara_state28 = function(p) { if (p.dt1 <= 360) { p.x = Mycos(p.dt1) * 30 / SANKAKU + 82 + 32; p.y = Mysin(p.dt1) * 30 / SANKAKU + 30; } if (p.dt1 > 360) { p.x = Mycos(p.dt1) * 30 * -1 / SANKAKU + 142 + 32; p.y = Mysin(p.dt1) * 30 / SANKAKU + 30; } count++; // PutSprite(count, p.x - 42, p.y, 64); if (p.dt1 % 30 == 3) { Putenemy(24, p.x + 14, p.y + 14, (Math.random() % 5 + 0.5) * (Math.random() % 2 == 1 ? -1 : 1), (Math.random() % 5 + 0.5) * (Math.random() % 2 == 1 ? -1 : 1), chara_state29); } p.dt1 += 3; return p; } chara_state29 = function(p) { p.x += p.vx; p.y += p.vy; if(p.dt1 % 18 == 1) { Puttama(0, p.x, p.y); } p.dt1++; return p; } chara_state30 = function(p) { p.x = p.x - 32 * d_x; p.y = p.y; return p; } chara_state31 = function(p) { return p; } chara_state400 = function character_state400(p) { // p.vy++; p.vy += 1*d_y; p.y += p.vy / 4 * d_y; p.state = chara_state400; return p; } chara_state401 = function character_state401(p) { { p.vx++; // p.vx += 1*d_x; p.x += p.vx / 8 * d_x; if (p.x > (jiki.x - 32 * d_x)) { p.vy--; } p.y += p.vy / 8 * d_y; if (p.dt1 % 50 == 37) { Puttama(1, p.x + 8, p.y + 24); } p.dt1++; return p; } } chara_state402 = function character_state402(p) { p.vx--; p.x += p.vx / 8 * d_x; if(p.x < (jiki.x + 32 * d_x)) { p.vy--; } p.y += p.vy / 8 * d_y; if(p.dt1 % 50 == 37) { Puttama(1, p.x + 8, p.y + 42); } p.dt1++; return p; }