diff schedule3.c @ 0:435ac1cdb64e

create task dandy directry.
author koba <koba@cr.ie.u-ryukyu.ac.jp>
date Sat, 11 Dec 2010 21:25:28 +0900
parents
children 00c3272a801f
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/schedule3.c	Sat Dec 11 21:25:28 2010 +0900
@@ -0,0 +1,724 @@
+#include <stdlib.h>
+#include <SDL.h>
+#include "bool.h"
+#include "schedule.h"
+#include "Character.h"
+#include "Character_state.h"
+#include "sound.h"
+#include "bom.h"
+#include "tokuten.h"
+#include "count2.h"
+//#include "libps.h"
+#include"debug.h"
+#include "SDL_opengl.h"
+enum {
+    FRAME_RATE = 32,
+};
+
+/*enemy schedule*/
+//int kyeenemyno = -1;
+void schedule()
+{
+  CHARACTER *p;
+    int i;
+    if (stage == 0)
+    {
+	switch (filpcount) {
+	case 1:
+	    SoundStop();
+	    SoundPlay(0);
+	    break;
+
+	case FRAME_RATE * 2:
+	    Putenemy(1, 120, -128, 0, 4, chara_state0);
+	    break;
+	case FRAME_RATE * 3:
+	  Putenemy(1, 56, -128, 0, 8, chara_state0);
+	  Putenemy(1, 184, -128, 0, 8, chara_state0);
+	    break;
+	case FRAME_RATE * 4:
+	    Putenemy(1, 120, -128, 0, 4, chara_state0);
+	    break;
+	case FRAME_RATE * 5:
+	    Putenemy(1, 224, -128, 1, 1, chara_state0);
+	    Putenemy(1, 184, -128, 1, 1, chara_state0);
+	    break;
+	case FRAME_RATE * 6:
+	    Putenemy(1, 120, -128, 1, 2, chara_state0);
+	    break;
+	case FRAME_RATE * 7:
+	    Putenemy(1, 56, -128, 0, 1, chara_state0);
+	    Putenemy(1, 184, -128, 0, 1, chara_state0);
+	    break;
+	case FRAME_RATE * 8:
+	    Putenemy(2, 120, -128, 0, 1, chara_state0);
+	    break;
+
+	case FRAME_RATE * 12:
+	    Putenemy(1, 1280 - 128 - 120, -128, 0, 1, chara_state4);
+	    break;
+	case FRAME_RATE * 13:
+	    Putenemy(1, 1280 - 128 - 120, -128, 0, 1, chara_state4);
+	    break;
+	case FRAME_RATE * 14:
+	    Putenemy(1, 1280 - 128 - 120, -128, 0, 1, chara_state4);
+	    break;
+	case FRAME_RATE * 15:
+	    Putenemy(2, 1280 - 128 - 120, -128, -1, 1, chara_state4);
+	    break;
+	case FRAME_RATE * 16:
+	    Putenemy(2, 1280 - 128 - 120, -128, 0, 1, chara_state4);
+	    break;
+	case FRAME_RATE * 17:
+	    Putenemy(2, 1280 - 128 - 120, -128, 0, 1, chara_state4);
+	    break;
+	case FRAME_RATE * 18:
+	    Putenemy(1, 1280 - 128 - 120, -32, 0, 1, chara_state4);
+	    Putenemy(1, 1280 - 128, -128, -2, 1, chara_state4);
+	    Putenemy(1, 800, -88, -1, 1, chara_state4);
+	    break;
+
+	case FRAME_RATE * 24:
+	    Putenemy(1, 256, -128, 0, 1, chara_state4);
+	    Putenemy(1, 1280 - 256 - 128, -128, 0, 1, chara_state4);
+	    break;
+	case FRAME_RATE * 25:
+	    Putenemy(2, 512, -128, 0, 1, chara_state4);
+	    Putenemy(2, 1280 - 128, -128, 0, 1, chara_state4);
+	    break;
+	case FRAME_RATE * 26:
+	    Putenemy(1, 384, -128, 0, 1, chara_state4);
+	    Putenemy(1, 1280 - 256, -128, 0, 2, chara_state4);
+	    Putenemy(1, 512, -128, 0, 3, chara_state4);
+	    Putenemy(1, 1280 - 256, -128, 0, 2, chara_state4);
+	    break;
+	case FRAME_RATE * 27:
+	    Putenemy(2, 512, -128, 0, 3, chara_state2);
+	    Putenemy(2, 256 - 128, -128, 0, 2, chara_state2);
+	    Putenemy(2, 768, -128, 0, 4, chara_state2);
+	    Putenemy(2, 128, -128, 0, 3, chara_state2);
+	    break;
+	case FRAME_RATE * 28:
+	    Putenemy(1, 256, -128, 0, 1, chara_state4);
+	    Putenemy(1, 1280 - 256 - 128, -128, 0, 1, chara_state4);
+	    break;
+	case FRAME_RATE * 29:
+	    Putenemy(2, 256, -128, 0, 1, chara_state4);
+	    Putenemy(2, 1280 - 256 - 128, -128, 0, 1, chara_state4);
+	    break;
+	case FRAME_RATE * 30:
+	    Putenemy(1, 256, -128, 0, 1, chara_state4);
+	    Putenemy(1, 1280 - 256 - 128, -128, 0, 1, chara_state4);
+	    break;
+
+	case FRAME_RATE * 33:
+	    Putenemy(1, 256, 1088, 0, -1, chara_state5);
+	    Putenemy(1, 1280 - 256 - 128, 1088, 0, -1, chara_state5);//5/22/pm5:300
+	    break;
+	case FRAME_RATE * 34:
+	    Putenemy(2, 256, 1088, 0, -1, chara_state5);
+	    Putenemy(2, 1280 - 256 - 128, 1088, 0, -1, chara_state5);
+	    break;
+	case FRAME_RATE * 35:
+	    Putenemy(1, 256, 1088, 0, -1, chara_state5);
+	    Putenemy(1, 1280 - 256 - 128, 1088, 0, -1, chara_state5);
+	    break;
+	case FRAME_RATE * 36:
+	    Putenemy(2, 256, 1088, 0, -1, chara_state5);
+	    Putenemy(2, 1280 - 256 - 128, 1088, 0, -1, chara_state5);
+	    break;
+	case FRAME_RATE * 37:
+	    Putenemy(1, 256, 1088, 0, -1, chara_state5);
+	    Putenemy(1, 1280 - 256 - 128, 1088, 0, -1, chara_state5);
+	    break;
+	case FRAME_RATE * 38:
+	    Putenemy(2, 256, 1088, 0, -1, chara_state5);
+	    Putenemy(2, 1280 - 256 - 128, 1088, 0, -1, chara_state5);
+	    break;
+	case FRAME_RATE * 39:
+	    Putenemy(1, 256, 1088, 0, -1, chara_state5);
+	    Putenemy(1, 1280 - 256 - 128, 1088, 0, -1, chara_state5);
+	    break;
+
+	case FRAME_RATE * 50:
+	    Putenemy(40, rand() % (1280 - 256) + 128, -128, 0, 1, chara_state3);
+	    break;
+	case FRAME_RATE * 46:
+	    Putenemy(40, rand() % (1280 - 256) + 128, -128, 0, 1, chara_state3);
+	    break;
+	case FRAME_RATE * 54:
+	    Putenemy(40, rand() % (1280 - 256) + 128, -128, 0, 1, chara_state3);
+	    break;
+
+	case FRAME_RATE * 60:
+	    Putenemy(1, 256, 1088, 0, -1, chara_state6);
+	    Putenemy(1, 1280 - 256 - 128, 1088, 0, -1, chara_state6);
+	    break;
+	case FRAME_RATE * 61:
+	    Putenemy(1, 256, 1088, 0, -1, chara_state6);
+	    Putenemy(1, 1280 - 256 - 128, 1088, 0, -1, chara_state6);
+	    break;
+	case FRAME_RATE * 62:
+	    Putenemy(1, 256, 1088, 0, -1, chara_state6);
+	    Putenemy(1, 1280 - 256 - 128, 1088, 0, -1, chara_state6);
+	    break;
+	case FRAME_RATE * 63:
+	    Putenemy(1, 256, 1088, 0, -1, chara_state6);
+	    Putenemy(1, 1280 - 256 - 128, 1088, 0, -1, chara_state6);
+	    break;
+	case FRAME_RATE * 64:
+	    Putenemy(1, 256, 1088, 0, -1, chara_state6);
+	    Putenemy(1, 1280 - 256 - 128, 1088, 0, -1, chara_state6);
+	    break;
+	case FRAME_RATE * 65:
+	    Putenemy(40, 256, 1088, 0, -1, chara_state6);
+	    Putenemy(40, 1280 - 256 - 128, 1088, 0, -1, chara_state6);
+	    break;
+
+	case FRAME_RATE * 80:
+	    Putenemy(42, rand() % (1280 - 256) + 128, -128, 0, 1, chara_state7);
+	    break;
+	case FRAME_RATE * 66:
+	    Putenemy(41, rand() % (1280 - 256) + 128, -128, 0, 1, chara_state7);
+	    break;
+	case FRAME_RATE * 84:
+	    Putenemy(42, rand() % (1280 - 256) + 128, -128, 0, 1, chara_state7);
+	    break;
+	case FRAME_RATE * 70:
+	    Putenemy(41, rand() % (1280 - 256) + 128, -128, 0, 1, chara_state7);
+	    break;
+	case FRAME_RATE * 88:
+	    Putenemy(42, rand() % (1280 - 256) + 128, -128, 0, 1, chara_state7);
+	    break;
+	case FRAME_RATE * 74:
+	    Putenemy(41, rand() % (1280 - 256) + 128, -128, 0, 1, chara_state7);
+	    break;
+	case FRAME_RATE * 92:
+	    Putenemy(42, rand() % (1280 - 256) + 128, -128, 0, 1, chara_state7);
+	    break;
+	case FRAME_RATE * 78:
+	    Putenemy(41, rand() % (1280 - 256) + 128, -128, 0, 1, chara_state7);
+	    break;
+
+	case FRAME_RATE * 100:
+	    Putenemy(41, 256, -128, 0, 1, chara_state7);
+	    Putenemy(41, 1280 - 256 - 128, -128, 0, 1, chara_state7);
+	    break;
+	case FRAME_RATE * 81:
+	    Putenemy(42, 256, -128, 0, 1, chara_state7);
+	    Putenemy(42, 1280 - 256 - 128, -128, 0, 1, chara_state7);
+	    break;
+	case FRAME_RATE * 104:
+	    Putenemy(41, 256, -128, 0, 1, chara_state7);
+	    Putenemy(41, 1280 - 256 - 128, -128, 0, 1, chara_state7);
+	    break;
+	case FRAME_RATE * 83:
+	    Putenemy(42, 256, -128, 0, 1, chara_state7);
+	    Putenemy(42, 1280 - 256 - 128, -128, 0, 1, chara_state7);
+	    break;
+	case FRAME_RATE * 108:
+	    Putenemy(41, 256, -128, 0, 1, chara_state7);
+	    Putenemy(41, 1280 - 256 - 128, -128, 0, 1, chara_state7);
+	    break;
+	case FRAME_RATE * 85:
+	    Putenemy(42, 256, -128, 0, 1, chara_state7);
+	    Putenemy(42, 1280 - 256 - 128, -128, 0, 1, chara_state7);
+	    break;
+	case FRAME_RATE * 112:
+	    Putenemy(41, 256, -128, 0, 1, chara_state7);
+	    Putenemy(41, 1280 - 256 - 128, -128, 0, 1, chara_state7);
+	    break;
+
+	case FRAME_RATE * 130:
+	    SoundStop();
+	    SoundPlay(4);
+	    for(p = active_chara_list;p!=NULL;p=p->next)
+	      {
+		p->f = FALSE;
+		p->state = delete_chara;
+		p->collision = noaction;
+	      }
+	    Putenemy(4, 520, -128, 0, 1, chara_state8);	// 1面ボスをPutenemy
+	}			//case文
+
+	//kyeenemynoはenemyオブジェクトのID。
+	//ボスが登場していないときはkyeenemynoに-1がセットされる。
+	//move.cではenemyオブジェクトのIDはtekinoで扱うが、
+	//ボスのenemyオブジェクトだけ特別にkyeenemynoにもIDがセットされる。
+	//kyeenemynoはボスの初期化時にセットされる。
+	if (filpcount > FRAME_RATE * 130) {
+	    if (kyeenemyno->f == FALSE) {
+		// ボスが死ぬと実行される
+		//if (enemy[kyeenemyno].y < 240 + 32) {
+		    // 条件を満たすとSuperbomが呼ばれるが何の条件かは
+		    // 分からない。Superbomはoriginalのゲーム中では一回も
+		    // 呼ばれない。if文をはずすと一瞬だけ大きな爆発が
+		    // 起こるがショボイ。
+	      // Superbom(enemy[kyeenemyno].x, enemy[kyeenemyno].y);
+	      //}
+	      stage = 1;
+	      filpcount = 0;
+	      //kyeenemyno = -1;
+	      clear_result[0] = infg_level;
+	    }
+	}
+    }				//stage0.end
+
+    if (stage == 1) {
+	switch (filpcount) {
+	case 1:
+	    SoundStop();
+	    SoundPlay(1);
+	    //SsSetTempo(seq[1], 0, 140);
+	    break;
+
+	case FRAME_RATE * 3:
+	    Putenemy(9, 0, 0, 0, 0, chara_state22);
+	    break;
+	case FRAME_RATE * 4:
+	    Putenemy(9, 0, 0, 0, 0, chara_state22);
+	    break;
+	case FRAME_RATE * 5:
+	    Putenemy(9, 0, 0, 0, 0, chara_state22);
+	    break;
+	case FRAME_RATE * 6:
+	    Putenemy(9, 0, 0, 0, 0, chara_state22);
+	    break;
+	case FRAME_RATE * 7:
+	    Putenemy(9, 0, 0, 0, 0, chara_state22);
+	    break;
+	case FRAME_RATE * 8:
+	    Putenemy(9, 0, 0, 0, 0, chara_state22);
+	    break;
+	case FRAME_RATE * 9:
+	    Putenemy(9, 0, 0, 0, 0, chara_state22);
+	    break;
+	case FRAME_RATE * 10:
+	    Putenemy(9, 0, 0, 0, 0, chara_state22);
+	    break;
+	case FRAME_RATE * 11:
+	    Putenemy(9, 0, 0, 0, 0, chara_state22);
+	    break;
+	case FRAME_RATE * 12:
+	    Putenemy(2, 256, -128, -1, 2, chara_state7);
+	    break;
+	case FRAME_RATE * 13:
+	    Putenemy(9, 0, 0, 0, 0, chara_state22);
+	    break;
+	case FRAME_RATE * 14:
+	    Putenemy(9, 0, 0, 0, 0, chara_state22);
+	    break;
+	case FRAME_RATE * 15:
+	    Putenemy(9, 0, 0, 0, 0, chara_state22);
+	    break;
+	case FRAME_RATE * 16:
+	    Putenemy(9, 0, 0, 0, 0, chara_state22);
+	    break;
+	case FRAME_RATE * 20:
+	    Putenemy(2, 512, -128, 0, 2, chara_state4);
+	    Putenemy(2, 1024, -128, 0, 1, chara_state4);
+	    break;
+	case FRAME_RATE * 21:
+	    Putenemy(42, 0, 384, 0, 0, chara_state401);
+	    break;
+	case FRAME_RATE * 23:
+	    Putenemy(9, 0, 0, 0, 0, chara_state22);
+	    break;
+	case FRAME_RATE * 24:
+	    Putenemy(9, 0, 0, 0, 0, chara_state22);
+	    break;
+	case FRAME_RATE * 25:
+	    Putenemy(9, 0, 0, 0, 0, chara_state22);
+	    break;
+	case FRAME_RATE * 26:
+	    Putenemy(9, 0, 0, 0, 0, chara_state22);
+	    break;
+	case FRAME_RATE * 27:
+	    Putenemy(2, 800, 0, 1, 3, chara_state5);
+	    break;
+	case FRAME_RATE * 28:
+	    Putenemy(9, 0, 0, 0, 0, chara_state22);
+	    break;
+	case FRAME_RATE * 29:
+	    Putenemy(41, 256, 0, 0, 1, chara_state5);
+	    Putenemy(41, 1280 - 256 - 128, 0, 0, 1, chara_state5);
+	    Putenemy(9, 0, 0, 0, 3, chara_state22);
+	    break;
+	case FRAME_RATE * 30:
+	    Putenemy(9, 0, 0, 0, 0, chara_state22);
+	    break;
+	case FRAME_RATE * 31:
+	    Putenemy(9, 0, 0, 0, 0, chara_state22);
+	    break;
+	case FRAME_RATE * 32:
+	    Putenemy(42, 1280, 256, 0, -1, chara_state402);
+	    Putenemy(42, 1280, 384, 0, 0, chara_state402);
+	    Putenemy(42, 1280, 512, 0, -1, chara_state402);
+	    Putenemy(9, 0, 0, 0, 0, chara_state22);
+	    break;
+	case FRAME_RATE * 33:
+	    Putenemy(9, 0, 0, 0, 0, chara_state22);
+	    break;
+	case FRAME_RATE * 34:
+	    Putenemy(9, 0, 0, 0, 0, chara_state22);
+	    break;
+	case FRAME_RATE * 35:
+	    Putenemy(2, 640, 0, 0, 3, chara_state5);
+	    break;
+	case FRAME_RATE * 36:
+	    Putenemy(9, 0, 0, 0, 0, chara_state22);
+	    break;
+	case FRAME_RATE * 43:
+	    for (i = 0; i < 7; i++) {
+		Putenemy(43, rand() % 2560, -i * 16, 0, rand() % 4, chara_state400);
+	    }
+	    break;
+	case FRAME_RATE * 44:
+	    for (i = 0; i < 9; i++) {
+		Putenemy(43, rand() % 2560, -i * 12, 0, rand() % 4, chara_state400);
+	    }
+	    break;
+	case FRAME_RATE * 45:
+	    for (i = 0; i < 5; i++) {
+		Putenemy(43, rand() % 640, 0, 0, rand() % 4, chara_state400);
+	    }
+	    break;
+	case FRAME_RATE * 48:
+	    Putenemy(41, 88, 0, 0, 2, chara_state3);
+	    Putenemy(41, 176, 0, 0, 3, chara_state3);
+	    break;
+	case FRAME_RATE * 50:
+	    Putenemy(41, 266, 0, 0, 3, chara_state4);
+	    break;
+	case FRAME_RATE * 51:
+	    Putenemy(41, 352, 0, 0, 3, chara_state5);
+	    break;
+	case FRAME_RATE * 52:
+	    Putenemy(40, 840, 0, 4, 0, chara_state6);
+	    Putenemy(40, 928, 0, 4, 0, chara_state7);
+	    Putenemy(9, 976, 0, 4, 0, chara_state22);
+	    break;
+	case FRAME_RATE * 61:
+	  /*
+	    for (i = 0; i < 300; i++) {
+		enemy[i].f = FALSE;
+	    }
+	  */
+	  for(p = active_chara_list->next;p!=NULL;p=p->next)
+	    {
+	      p->state = delete_chara;
+	      p->collision = noaction;
+	      p->f = FALSE;
+	    }
+	    break;
+
+	case FRAME_RATE * 64:
+	    SoundStop();
+	    SoundPlay(5);
+	    Putenemy(18, 528, 0, 0, 0, chara_state24);
+	    /*  Puttama(6,100,0); */
+
+	    Putenemy(13, 688, 28, 0, 0, chara_state31);
+	    Putenemy(14, 368, 28, 0, 0, chara_state32);
+
+	    Putenemy(11, 656, 0, 0, 0, chara_state33);
+	    Putenemy(12, 400, 0, 0, 0, chara_state34);
+
+	    Putenemy(15, 528, 32, 0, 0, chara_state35);
+	    break;
+	}
+	//////////////////////
+	
+	if (filpcount > FRAME_RATE * 64) {
+	    if (kyeenemyno->f == FALSE) {
+		Superbom(kyeenemyno->x, kyeenemyno->y);
+		stage = 2;
+		filpcount = 0;
+		//kyeenemyno = -1;
+		clear_result[1] = infg_level;
+	    }
+	}
+    }
+    if (stage == 2) {
+	switch (filpcount) {
+	case 1:
+	    SoundStop();
+	    SoundPlay(2);
+	    break;
+
+	case FRAME_RATE * 2:
+	    for (i = 0; i < 5; i++) {
+		Putenemy(43, rand() % 2560, -i * 16, 0, rand() % 4, chara_state400);
+	    }
+	    break;
+
+	case FRAME_RATE * 3:
+	    for (i = 0; i < 7; i++) {
+		Putenemy(43, rand() % 2560, -i * 16, 0, rand() % 4, chara_state400);
+	    }
+	    break;
+	case FRAME_RATE * 4:
+	    for (i = 0; i < 9; i++) {
+		Putenemy(43, rand() % 2560, -i * 12, 0, rand() % 4, chara_state400);
+	    }
+	    break;
+	case FRAME_RATE * 5:
+	    for (i = 0; i < 5; i++) {
+		Putenemy(43, rand() % 2560, 0, 0, rand() % 4, chara_state400);
+	    }
+	    break;
+	case FRAME_RATE * 9:
+	    for (i = 0; i < 4; i++) {
+		Putenemy(1, i * 128 + 128, 0, i, rand() % 4 + 1, chara_state7);
+	    }
+	    break;
+	case FRAME_RATE * 10:
+	    for (i = 0; i < 4; i++) {
+		Putenemy(1, 1120 - i * 128, 0, 4 - i, rand() % 4 + 1, chara_state7);
+	    }
+	    break;
+	case FRAME_RATE * 11:
+	    for (i = 0; i < 4; i++) {
+		Putenemy(41, 4*i * 64*4 + 32*4, 0, 2, rand() % 2 + 1, chara_state6);
+	    }
+	    break;
+	case FRAME_RATE * 12:
+	    for (i = 0; i < 4; i++) {
+		Putenemy(41, 280*4 - i * 64*4, 0, -2, rand() % 2 + 1, chara_state6);
+	    }
+	    break;
+	case FRAME_RATE * 15:
+	    Putenemy(42, rand() % (320*4 - 64*4) + 32*4, -32*4, 0, 1, chara_state7);
+	    Putenemy(42, rand() % (320*4 - 64*4) + 32*4, -32*4, 0, 1, chara_state7);
+	    break;
+	case FRAME_RATE * 16:
+	    Putenemy(41, rand() % (320*4 - 64*4) + 32*4, -32*4, 0, 1, chara_state7);
+	    Putenemy(41, rand() % (320*4 - 64*4) + 32*4, -32*4, 0, 1, chara_state7);
+	    break;
+	case FRAME_RATE * 18:
+	    Putenemy(42, rand() % (320*4 - 64*4) + 32*4, -32*4, 0, 1, chara_state7);
+	    Putenemy(42, rand() % (320*4 - 64*4) + 32*4, -32*4, 0, 1, chara_state7);
+	    break;
+	case FRAME_RATE * 19:
+	    Putenemy(41, rand() % (320*4 - 64*4) + 32*4, -32*4, 0, 1, chara_state7);
+	    break;
+	case FRAME_RATE * 20:
+	    Putenemy(42, rand() % (320*4 - 64*4) + 32*4, -32*4, 0, 1, chara_state7);
+	    break;
+	case FRAME_RATE * 24:
+	    Putenemy(41, rand() % (320*4 - 64*4) + 32*4, -32*4, 0, 1, chara_state7);
+	    break;
+	case FRAME_RATE * 25:
+	    Putenemy(42, rand() % (320*4 - 64*4) + 32*4, -32*4, 0, 1, chara_state7);
+	    break;
+	case FRAME_RATE * 26:
+	    Putenemy(41, rand() % (320*4 - 64*4) + 32*4, -32*4, 0, 1, chara_state7);
+	    break;
+	case FRAME_RATE * 30:
+	    Putenemy(1, 400, -128, 0, 3, chara_state3);
+	    Putenemy(1, 560, -128, 0, 2, chara_state3);
+	    Putenemy(1, 400, -128, 0, 1, chara_state3);
+	    break;
+	case FRAME_RATE * 31:
+	    Putenemy(1, 400, -128, 0, 3, chara_state3);
+	    Putenemy(1, 400, -128, 0, 1, chara_state3);
+	    break;
+	case FRAME_RATE * 32:
+	    Putenemy(1, 400, -128, 0, 3, chara_state3);
+	    Putenemy(1, 560, -128, 0, 2, chara_state3);
+	    Putenemy(1, 400, -128, 0, 1, chara_state3);
+	    break;
+	case FRAME_RATE * 36:
+	    Putenemy(1, 400, -128, 0, 3, chara_state3);
+	    Putenemy(1, 560, -128, 0, 2, chara_state3);
+	    Putenemy(1, 400, -128, 0, 1, chara_state3);
+	    break;
+	case FRAME_RATE * 37:
+	    Putenemy(1, 440, -128, 0, 3, chara_state3);
+	    break;
+	case FRAME_RATE * 38:
+	    Putenemy(1, 600, -128, 0, 2, chara_state3);
+	    Putenemy(1, 760, -128, 0, 1, chara_state3);
+	    break;
+	case FRAME_RATE * 39:
+	    Putenemy(1, 480, -128, 0, 3, chara_state3);
+	    Putenemy(1, 640, -128, 0, 2, chara_state3);
+	    Putenemy(1, 800, -128, 0, 1, chara_state3);
+	    break;
+	case FRAME_RATE * 40:
+	    Putenemy(9, 0, 0, 0, 0, chara_state22);
+	    Putenemy(9, 0, 0, 0, 0, chara_state22);
+	    break;
+	case FRAME_RATE * 41:
+	    Putenemy(9, 0, 0, 0, 0, chara_state22);
+	    break;
+	case FRAME_RATE * 42:
+	    Putenemy(9, 0, 0, 0, 0, chara_state22);
+	    break;
+	case FRAME_RATE * 43:
+	    Putenemy(9, 0, 0, 0, 0, chara_state22);
+	    Putenemy(9, 0, 0, 0, 0, chara_state22);
+	    Putenemy(9, 0, 0, 0, 0, chara_state22);
+	    break;
+	case FRAME_RATE * 44:
+	    Putenemy(9, 0, 0, 0, 0, chara_state22);
+	    break;
+	case FRAME_RATE * 45:
+	    Putenemy(9, 0, 0, 0, 0, chara_state22);
+	    break;
+	case FRAME_RATE * 46:
+	    Putenemy(9, 0, 0, 0, 0, chara_state22);
+	    Putenemy(9, 0, 0, 0, 0, chara_state22);
+	    Putenemy(9, 0, 0, 0, 0, chara_state22);
+	    break;
+	case FRAME_RATE * 47:
+	    Putenemy(9, 0, 0, 0, 0, chara_state22);
+	    Putenemy(9, 0, 0, 0, 0, chara_state22);
+	    break;
+	case FRAME_RATE * 48:
+	    Putenemy(9, 0, 0, 0, 0, chara_state22);
+	    break;
+	case FRAME_RATE * 49:
+	    Putenemy(9, 0, 0, 0, 0, chara_state22);
+	    Putenemy(9, 0, 0, 0, 0, chara_state22);
+	    Putenemy(9, 0, 0, 0, 0, chara_state22);
+	    Putenemy(9, 0, 0, 0, 0, chara_state22);
+	    break;
+	case FRAME_RATE * 52:
+	    Putenemy(42, 0, 128, 0, 0, chara_state401);
+	    Putenemy(42, 0, 256, 0, 1, chara_state401);
+	    Putenemy(42, 0, 384, 0, 0, chara_state401);
+	    Putenemy(42, 0, 512, 0, -1, chara_state401);
+	    break;
+	case FRAME_RATE * 54:
+	    Putenemy(42, 1280, 128, 0, 0, chara_state402);
+	    Putenemy(42, 1280, 256, 0, 1, chara_state402);
+	    Putenemy(42, 1280, 384, 0, 0, chara_state402);
+	    Putenemy(42, 1280, 512, 0, -1, chara_state402);
+	    break;
+	case FRAME_RATE * 56:
+	    Putenemy(42, 0, 128, 0, 0, chara_state401);
+	    Putenemy(42, 0, 256, 0, 1, chara_state401);
+	    Putenemy(42, 0, 384, 0, 0, chara_state401);
+
+	    Putenemy(42, 1280, 256, 0, 1, chara_state402);
+	    Putenemy(42, 1280, 384, 0, 0, chara_state402);
+	    Putenemy(42, 1280, 512, 0, -1, chara_state402);
+	    break;
+	case FRAME_RATE * 59:
+	    Putenemy(9, 0, 0, 0, 0, chara_state22);
+	    Putenemy(9, 0, 0, 0, 0, chara_state22);
+	    Putenemy(9, 0, 0, 0, 0, chara_state22);
+	    Putenemy(9, 0, 0, 0, 0, chara_state22);
+	    Putenemy(9, 0, 0, 0, 0, chara_state22);
+	    Putenemy(9, 0, 0, 0, 0, chara_state22);
+	    break;
+	case FRAME_RATE * 61:
+	    Putenemy(1, 400, -128, 0, 1, chara_state3);
+	    Putenemy(1, 560, 1008, 0, 1, chara_state3);
+	    Putenemy(1, 720, 1040, 0, 1, chara_state3);
+	    break;
+	case FRAME_RATE * 62:
+	    for (i = 0; i < 9; i++) {
+		Putenemy(43, rand() % 2560, -i * 12, 0, rand() % 4, chara_state400);
+	    }
+	    break;
+	case FRAME_RATE * 63:
+	    Putenemy(9, 0, 0, 0, 0, chara_state22);
+	    Putenemy(9, 0, 0, 0, 0, chara_state22);
+	    Putenemy(9, 0, 0, 0, 0, chara_state22);
+	    break;
+	case FRAME_RATE * 65:
+	    Putenemy(2, 440, -128, 0, -2, chara_state3);
+	    break;
+	case FRAME_RATE * 66:
+	    Putenemy(2, 600, -128, 0, -2, chara_state3);
+	    Putenemy(1, 760, 1040, 0, -1, chara_state3);
+	    break;
+	case FRAME_RATE * 67:
+	    Putenemy(9, 0, 0, 0, 0, chara_state22);
+	    Putenemy(9, 0, 0, 0, 0, chara_state22);
+	    Putenemy(9, 0, 0, 0, 0, chara_state22);
+	    Putenemy(9, 0, 0, 0, 0, chara_state22);
+	    Putenemy(9, 0, 0, 0, 0, chara_state22);
+	    Putenemy(9, 0, 0, 0, 0, chara_state22);
+	    break;
+	case FRAME_RATE * 69:
+	    Putenemy(2, 480, 1040, 0, -3, chara_state3);
+	    Putenemy(1, 640, 1040, 0, -2, chara_state3);
+	    Putenemy(2, 800, 1040, 0, -1, chara_state3);
+	    break;
+	case FRAME_RATE * 85:
+	    SoundStop();
+	    SoundPlay(4);
+	    Putenemy(44, 0, 0, 1, 1, chara_state410);
+	    break;
+	}
+	if (filpcount > FRAME_RATE * 85) {
+	    if (kyeenemyno->f == FALSE) {
+		Superbom(kyeenemyno->x, kyeenemyno->y);
+		stage = 3;
+		filpcount = 0;
+		//kyeenemyno = -1;
+		clear_result[2] = infg_level;
+	    }
+	}
+    }
+
+    if (stage == 3) {
+	switch (filpcount) {
+	case 1:
+	    SoundStop();
+	    SoundPlay(3);
+	    break;
+	    //now
+	case FRAME_RATE * 10:
+	    Putenemy(30, 640, 200 - 64, 0, 0, chara_state500);
+	    break;
+	}
+	if (filpcount > FRAME_RATE * 10) {
+	    if (kyeenemyno->f == FALSE) {
+		Superbom(kyeenemyno->x, kyeenemyno->y);
+
+		stage = 4;
+		filpcount = 0;
+		//kyeenemyno = -1;
+	    }
+	}
+    }
+
+    if (stage == 4) {
+	switch (filpcount) {
+	case 4:
+	    Putenemy(49, 640, 200-64, 0, 0, chara_state600);
+	}
+	if (filpcount > 4) {
+	    if (kyeenemyno->f == FALSE) {
+		Superbom(kyeenemyno->x, kyeenemyno->y);
+
+		stage = 5;
+		filpcount = 0;
+		//kyeenemyno = -1;
+		clear_result[3] = infg_level;
+		SoundStop();
+		SoundPlay(6);
+	    }
+	}
+    }
+    if (stage == 5) {
+      /*
+	for (i = 0; i < 300; i++) {
+	    if (enemy[i].f == TRUE) {
+	      //	goto noend;
+		filpcount = 0;
+	    }
+	}
+      */
+      
+	  
+	Endingscore(filpcount);
+	if (filpcount > 4000)
+	    filpcount = 4000;
+	}
+}
+