# HG changeset patch # User koba # Date 1292591891 -32400 # Node ID c330ded6d7289302e32d83c11f94dd1807827c51 # Parent 9274016044611cd5e58fe79551f32f2b7424fdb4 add task file. diff -r 927401604461 -r c330ded6d728 Makefile --- a/Makefile Fri Dec 17 04:16:25 2010 +0900 +++ b/Makefile Fri Dec 17 22:18:11 2010 +0900 @@ -18,10 +18,8 @@ cell: @echo "Make for PS3 (Cell)" - @$(MAKE) -f Makefile.ps3 t_dandy + @$(MAKE) -f Makefile.ps3 dandy clean: @$(MAKE) -f Makefile.mac clean - @$(MAKE) -f Makefile.ps3 clean - rm -f depend.inc - + @$(MAKE) -f Makefile.ps3 clean \ No newline at end of file diff -r 927401604461 -r c330ded6d728 Makefile.mac --- a/Makefile.mac Fri Dec 17 04:16:25 2010 +0900 +++ b/Makefile.mac Fri Dec 17 22:18:11 2010 +0900 @@ -26,15 +26,15 @@ $(CC) $(ABI) -o $@ $(OBJS) Dandy.o collision.o $(LIBS) t_dandy: $(OBJS) TaskDandy.o collision_task.o $(TASK_OBJS) - $(CC) $(ABI) -o $@ $(OBJS) TaskDandy.o collision_task.o $(TASK_OBJS) $(LIBS) + $(CC) $(ABI) -o $@ $(OBJS) TaskDandy.o collision_task.o $(TASK_OBJS) $(LIBS) clean: rm -f $(TARGET) $(OBJS) $(TASK_OBJS) Dandy.o TaskDandy.o sgoex.o main.o .c.o: - $(CC) $(CFLAGS) $(INCLUDES) -c $< + $(CC) $(CFLAGS) $(INCLUDES) -c $< -o $@ .cc.o: - $(CC) $(CFLAGS) $(INCLUDES) -c $< + $(CC) $(CFLAGS) $(INCLUDES) -c $< -o $@ debug.o:debug.h diff -r 927401604461 -r c330ded6d728 Makefile.ps3 --- a/Makefile.ps3 Fri Dec 17 04:16:25 2010 +0900 +++ b/Makefile.ps3 Fri Dec 17 22:18:11 2010 +0900 @@ -7,13 +7,13 @@ LIBS += `/usr/bin/sdl-config --libs` -lGL -lGLU -lSDL_mixer -lSDL_image `xml2-config --libs` LIBS += -lCerium -lCellManager -lspe2 -lpthread -TASK_DIR = ppe +TASK_DIR = spe TASK_SRCS_TMP = $(wildcard $(TASK_DIR)/*.cc) TASK_SRCS_EXCLUDE = TASK_SRCS = $(filter-out $(TASK_SRCS_EXCLUDE),$(TASK_SRCS_TMP)) TASK_OBJS = $(TASK_SRCS:.cc=.o) -TARGET = dandy t_dandy spe-main +TARGET = dandy spe-main OBJS = Character.o Bom.o tokuten.o collision.o count2.o Character_state.o schedule3.o tama2.o syokika.o Ss.o sound.o profile.o debug.o trace.o LoadSprite.o xml.o b64_de.o tree_controll.o object.o sys.o all: $(TARGET) @@ -47,9 +47,9 @@ cd spe;$(MAKE) clean .c.o: - $(CC) $(CFLAGS) $(INCLUDES) -c $< + $(CC) $(CFLAGS) $(INCLUDES) -c $< -o $@ .cc.o: - $(CC) $(CFLAGS) $(INCLUDES) -c $< + $(CC) $(CFLAGS) $(INCLUDES) -c $< -o $@ debug.o:debug.h diff -r 927401604461 -r c330ded6d728 game_task.h --- a/game_task.h Fri Dec 17 04:16:25 2010 +0900 +++ b/game_task.h Fri Dec 17 22:18:11 2010 +0900 @@ -1,3 +1,47 @@ // Game で使用する Task ID ATARI, SIMPLE_STATE, + NO_ACT, + STATE0, + STATE1, + STATE2, + STATE3, + STATE4, + STATE5, + STATE6, + STATE7, + STATE8, + STATE9, + STATE10, + STATE11, + STATE12, + STATE13, + STATE20, + STATE21, + STATE22, + STATE23, + STATE24, + STATE25, + STATE26, + STATE27, + STATE28, + STATE29, + STATE30, + STATE31, + STATE32, + STATE33, + STATE34, + STATE35, + STATE40, + STATE41, + STATE400, + STATE401, + STATE402, + STATE410, + STATE411, + STATE500, + STATE501, + STATE600, + STATE601, + STATE602, + ASTEROID, diff -r 927401604461 -r c330ded6d728 spe/Atari.cc --- a/spe/Atari.cc Fri Dec 17 04:16:25 2010 +0900 +++ b/spe/Atari.cc Fri Dec 17 22:18:11 2010 +0900 @@ -74,8 +74,8 @@ Bom(p->x, p->y, bomend, bchar); enemycount += (p->score * ((infg.stg / 128) + infg_level + 1)); - p->state = delete_chara; - p->collision = noaction; + //p->state = delete_chara; + //p->collision = noaction; p->f = FALSE; property->infg = infg; @@ -94,8 +94,8 @@ Bom(p->x, p->y, bomend, bchar); enemycount += (p->score * ((infg.stg / 128) + infg_level + 1)); - p->state = delete_chara; - p->collision = noaction; + //p->state = delete_chara; + //p->collision = noaction; p->f = FALSE; property->infg = infg; @@ -118,8 +118,8 @@ Bom(p->x, p->y, bomend, bchar); enemycount += (p->score * ((infg.stg / 128) + infg_level + 1)); - p->state = delete_chara; - p->collision = noaction; + //p->state = delete_chara; + //p->collision = noaction; p->f = FALSE; property->infg = infg; @@ -141,8 +141,8 @@ Bom(p->x, p->y, bomend, bchar); enemycount += (p->score * ((infg.stg / 128) + infg_level + 1)); - p->state = delete_chara; - p->collision = noaction; + //p->state = delete_chara; + //p->collision = noaction; p->f = FALSE; property->infg = infg; @@ -162,8 +162,8 @@ Bom(p->x, p->y, bomend, bchar); enemycount += (p->score * ((infg.stg / 128) + infg_level + 1)); - p->state = delete_chara; - p->collision = noaction; + //p->state = delete_chara; + //p->collision = noaction; p->f = FALSE; property->infg = infg; @@ -183,8 +183,8 @@ Bom(p->x, p->y, bomend, bchar); enemycount += (p->score * ((infg.stg / 128) + infg_level + 1)); - p->state = delete_chara; - p->collision = noaction; + //p->state = delete_chara; + //p->collision = noaction; p->f = FALSE; property->infg = infg; @@ -202,8 +202,8 @@ Bom(p->x, p->y, bomend, bchar); enemycount += (p->score * ((infg.stg / 128) + infg_level + 1)); - p->state = delete_chara; - p->collision = noaction; + //p->state = delete_chara; + //p->collision = noaction; p->f = FALSE; property->infg = infg; @@ -221,8 +221,8 @@ Bom(p->x, p->y, bomend, bchar); enemycount += (p->score * ((infg.stg / 128) + infg_level + 1)); - p->state = delete_chara; - p->collision = noaction; + //p->state = delete_chara; + //p->collision = noaction; p->f = FALSE; property->infg = infg; @@ -246,8 +246,8 @@ Bom(p->x, p->y, bomend, bchar); enemycount += (p->score * ((infg.stg / 128) + infg_level + 1)); - p->state = delete_chara; - p->collision = noaction; + //p->state = delete_chara; + //p->collision = noaction; p->f = FALSE; property->infg = infg; @@ -269,8 +269,8 @@ Bom(p->x, p->y, bomend, bchar); enemycount += (p->score * ((infg.stg / 128) + infg_level + 1)); - p->state = delete_chara; - p->collision = noaction; + //p->state = delete_chara; + //p->collision = noaction; p->f = FALSE; property->lg = lg; @@ -294,8 +294,8 @@ Bom(p->x, p->y, bomend, bchar); enemycount += (p->score * ((infg.stg / 128) + infg_level + 1)); - p->state = delete_chara; - p->collision = noaction; + //p->state = delete_chara; + //p->collision = noaction; p->f = FALSE; property->infg = infg; diff -r 927401604461 -r c330ded6d728 spe/asteroid.cc --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/spe/asteroid.cc Fri Dec 17 22:18:11 2010 +0900 @@ -0,0 +1,31 @@ +#include "asteroid.h" +#include "tobject.h" + +SchedDefineTask(ASTEROID); + +static int +run(SchedTask *smanager, void *rbuf, void *wbuf) +{ + CHARACTER *p = (CHARACTER*)smanager->get_input(rbuf, 0); + int i; + + asteroiddt[asteroidi] = p; + // if(asteroidi==0) + // { + p->x += p->vx; + p->y += p->vy; + // } + if (asteroidi > 0) { + for (i = 0; i < asteroidi; i++) { + if ((asteroiddt[i]->x + 32 > p->x) + && (p->x + 32 > asteroiddt[i]->x) + && (asteroiddt[i]->y + 32 > p->y) + && (asteroiddt[i]->y < p->y + 32)) { + p->vx *= -1; + p->vy *= -1; + } + } + } + asteroidi++; + return 0; +} diff -r 927401604461 -r c330ded6d728 spe/chara_state0.cc --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/spe/chara_state0.cc Fri Dec 17 22:18:11 2010 +0900 @@ -0,0 +1,17 @@ +#include "chara_state0.h" +#include "tobject.h" + +SchedDefineTask(STATE0); + +static int +run(SchedTask *smanager, void *rbuf, void *wbuf) +{ + CHARACTER *p = (CHARACTER*)smanager->get_input(rbuf, 0); + + p->x += p->vx; + p->y += p->vy; + + p->task = STATE0; + smanager->swap(); + return 0; +} diff -r 927401604461 -r c330ded6d728 spe/chara_state0.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/spe/chara_state0.h Fri Dec 17 22:18:11 2010 +0900 @@ -0,0 +1,8 @@ +#ifndef INCLUDE_COLLISION +#define INCLUDE_COLLISION + +#ifndef INCLUDED_SCHED_TASK +#include "SchedTask.h" +#endif + +#endif diff -r 927401604461 -r c330ded6d728 spe/chara_state1.cc --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/spe/chara_state1.cc Fri Dec 17 22:18:11 2010 +0900 @@ -0,0 +1,17 @@ +#include "chara_state1.h" +#include "tobject.h" + +SchedDefineTask(STATE1); + +static int +run(SchedTask *smanager, void *rbuf, void *wbuf) +{ + CHARACTER *p = (CHARACTER*)smanager->get_input(rbuf, 0); + + p->x -= p->vx; + p->y -= p->vy; + + p->task = STATE1; + smanager->swap(); + return 0; +} diff -r 927401604461 -r c330ded6d728 spe/chara_state1.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/spe/chara_state1.h Fri Dec 17 22:18:11 2010 +0900 @@ -0,0 +1,8 @@ +#ifndef INCLUDE_COLLISION +#define INCLUDE_COLLISION + +#ifndef INCLUDED_SCHED_TASK +#include "SchedTask.h" +#endif + +#endif diff -r 927401604461 -r c330ded6d728 spe/chara_state10.cc --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/spe/chara_state10.cc Fri Dec 17 22:18:11 2010 +0900 @@ -0,0 +1,24 @@ +#include "chara_state10.h" +#include "tobject.h" + +SchedDefineTask(STATE10); + +static int +run(SchedTask *smanager, void *rbuf, void *wbuf) +{ + CHARACTER *p = (CHARACTER*)smanager->get_input(rbuf, 0); + + if(p->dt1 < 48) + { + p->x += p->vx; + p->y += p->vy; + p->dt1++; + p->task = STATE10; + return 0; + } + rinkf1 = 1; + p->dt1 = rinkx; + p->dt2 = rinky; + p->task = STATE13; + return 0; +} diff -r 927401604461 -r c330ded6d728 spe/chara_state10.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/spe/chara_state10.h Fri Dec 17 22:18:11 2010 +0900 @@ -0,0 +1,8 @@ +#ifndef INCLUDE_COLLISION +#define INCLUDE_COLLISION + +#ifndef INCLUDED_SCHED_TASK +#include "SchedTask.h" +#endif + +#endif diff -r 927401604461 -r c330ded6d728 spe/chara_state11.cc --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/spe/chara_state11.cc Fri Dec 17 22:18:11 2010 +0900 @@ -0,0 +1,23 @@ +#include "chara_state11.h" +#include "tobject.h" + +SchedDefineTask(STATE11); + +static int +run(SchedTask *smanager, void *rbuf, void *wbuf) +{ + CHARACTER *p = (CHARACTER*)smanager->get_input(rbuf, 0); + + if(rinkf1 == 0) + { + count++; + DefSpriteEx(54, 16, 32); + PutSpriteEx(54, p->x, p->y, p->s, p->s, 1); + p->task = STATE11; + return 0; + } + p->dt1 = 0; + p->dt2 = 0; + p->task = STATE12; + return 0; +} diff -r 927401604461 -r c330ded6d728 spe/chara_state11.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/spe/chara_state11.h Fri Dec 17 22:18:11 2010 +0900 @@ -0,0 +1,8 @@ +#ifndef INCLUDE_COLLISION +#define INCLUDE_COLLISION + +#ifndef INCLUDED_SCHED_TASK +#include "SchedTask.h" +#endif + +#endif diff -r 927401604461 -r c330ded6d728 spe/chara_state12.cc --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/spe/chara_state12.cc Fri Dec 17 22:18:11 2010 +0900 @@ -0,0 +1,131 @@ +#include "chara_state12.h" +#include "tobject.h" + +SchedDefineTask(STATE12); + +static int +run(SchedTask *smanager, void *rbuf, void *wbuf) +{ + CHARACTER *p = (CHARACTER*)smanager->get_input(rbuf, 0); + + if(fastebos > 60*60) + { + if(p->y > 240+32) + { + p->state = delete_chara; + } + p->y += 3; + rinky += 3; + count++; + DefSpriteEx(54, 16, 32); + PutSpriteEx(54, p->x, p->y, 2, 2, 1); + p->state = chara_state12; + return 0; + } + if(p->dt1 <= 60) + { + if(jiki.x + 15 - rinkx < -5) + { + p->vx = -0.8; + } + else if(jiki.x + 15 - rinkx > 5) + { + p->vx = +0.8; + } + 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 - 16, rinky); + Puttama(0, rinkx, rinky); + Puttama(0, rinkx + 16, rinky); + } + } + if((p->dt1 > 180) && (p->dt1 <= 240)) + { + if(p->dt1 % 2 == 1) + { + rinkf2 = 1; + Puttama(2, rinkx - 16, p->y - 32); + Puttama(3, rinkx + 32 - 16, p->y - 32); + } + else + { + rinkf2 = 2; + } + } + if(p->dt1 > 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 - rinkx < -5) + { + p->vx = -1; + } + else if(jiki.x + 15 - rinkx > 5) + { + p->vx = +1; + } + else p->vx = 0; + p->x += p->vx; + rinkx = p->x; + rinky = p->y; + Puttama(4, rinkx - 8, rinky + 16); + } + if((p->dt1 > 400) && (p->dt1 <= 500)) + { + rinkf2 = 4; + if(jiki.x + 15 - rinkx > 5) + { + p->vx = -1; + } + else if(jiki.x + 15 - rinkx > 5) + { + p->vx = +1; + } + else p->vx = 0; + p->x += p->vx; + rinkx = p->x; + rinky = p->y; + } + if(p->dt1 > 500) + { + rinkf2 = 5; + if(jiki.x + 15 - rinkx < -5) + { + p->vx = -1; + } + else if(jiki.x + 15 - rinkx > 5) + { + p->vx = +1; + } + 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); + return 0; +} diff -r 927401604461 -r c330ded6d728 spe/chara_state12.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/spe/chara_state12.h Fri Dec 17 22:18:11 2010 +0900 @@ -0,0 +1,8 @@ +#ifndef INCLUDE_COLLISION +#define INCLUDE_COLLISION + +#ifndef INCLUDED_SCHED_TASK +#include "SchedTask.h" +#endif + +#endif diff -r 927401604461 -r c330ded6d728 spe/chara_state13.cc --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/spe/chara_state13.cc Fri Dec 17 22:18:11 2010 +0900 @@ -0,0 +1,51 @@ +#include "chara_state13.h" +#include "tobject.h" + +SchedDefineTask(STATE13); + +static int +run(SchedTask *smanager, void *rbuf, void *wbuf) +{ + CHARACTER *p = (CHARACTER*)smanager->get_input(rbuf, 0); + + if(tekino0->f == FALSE){ + Bom(p->x, p->y); + p->f = FALSE; + p->state = delete_chara; + p->collision = noaction; + return 0; + } + + p->x += rinkx - p->dt1; + p->y += rinky - p->dt2; + p->dt1 = rinkx; + p->dt2 = rinky; + if(rinkf2 == 1) + { + if(p->x > rinkx) + { + Puttama(2, p->x + 32, p->y); + } + if(p->x < rinkx) + { + Puttama(3, p->x, p->y); + } + } + if(rinkf2 == 4) + { + count++; + PutSprite(count, p->x, p->y + 56, 58+filpcount % 4); + } + if(rinkf2 == 5) + { + if(p->x > rinkx) + { + Puttama(5, p->x + 8, p->y + 24); + } + if(p->x < rinkx) + { + Puttama(5, p->x + 8, p->y + 24); + } + } + return 0; +} diff -r 927401604461 -r c330ded6d728 spe/chara_state13.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/spe/chara_state13.h Fri Dec 17 22:18:11 2010 +0900 @@ -0,0 +1,8 @@ +#ifndef INCLUDE_COLLISION +#define INCLUDE_COLLISION + +#ifndef INCLUDED_SCHED_TASK +#include "SchedTask.h" +#endif + +#endif diff -r 927401604461 -r c330ded6d728 spe/chara_state2.cc --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/spe/chara_state2.cc Fri Dec 17 22:18:11 2010 +0900 @@ -0,0 +1,17 @@ +#include "chara_state2.h" +#include "tobject.h" + +SchedDefineTask(STATE2); + +static int +run(SchedTask *smanager, void *rbuf, void *wbuf) +{ + CHARACTER *p = (CHARACTER*)smanager->get_input(rbuf, 0); + + p->vy -= 0.25; + p->y += p->vy; + + p->task = STATE2; + smanager->swap(); + return 0; +} diff -r 927401604461 -r c330ded6d728 spe/chara_state2.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/spe/chara_state2.h Fri Dec 17 22:18:11 2010 +0900 @@ -0,0 +1,8 @@ +#ifndef INCLUDE_COLLISION +#define INCLUDE_COLLISION + +#ifndef INCLUDED_SCHED_TASK +#include "SchedTask.h" +#endif + +#endif diff -r 927401604461 -r c330ded6d728 spe/chara_state20.cc --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/spe/chara_state20.cc Fri Dec 17 22:18:11 2010 +0900 @@ -0,0 +1,16 @@ +#include "chara_state20.h" +#include "tobject.h" + +SchedDefineTask(STATE20); + +static int +run(SchedTask *smanager, void *rbuf, void *wbuf) +{ + CHARACTER *p = (CHARACTER*)smanager->get_input(rbuf, 0); + + p->x += p->vx; + p->y += p->vy; + p->vy -= 0.5; + p->vy += 0.4; + return 0; +} diff -r 927401604461 -r c330ded6d728 spe/chara_state20.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/spe/chara_state20.h Fri Dec 17 22:18:11 2010 +0900 @@ -0,0 +1,8 @@ +#ifndef INCLUDE_COLLISION +#define INCLUDE_COLLISION + +#ifndef INCLUDED_SCHED_TASK +#include "SchedTask.h" +#endif + +#endif diff -r 927401604461 -r c330ded6d728 spe/chara_state21.cc --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/spe/chara_state21.cc Fri Dec 17 22:18:11 2010 +0900 @@ -0,0 +1,16 @@ +#include "chara_state21.h" +#include "tobject.h" + +SchedDefineTask(STATE21); + +static int +run(SchedTask *smanager, void *rbuf, void *wbuf) +{ + CHARACTER *p = (CHARACTER*)smanager->get_input(rbuf, 0); + + p->x += p->vx; + p->y += p->vy; + p->vx += 0.5; + p->vy += 0.4; + return 0; +} diff -r 927401604461 -r c330ded6d728 spe/chara_state21.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/spe/chara_state21.h Fri Dec 17 22:18:11 2010 +0900 @@ -0,0 +1,8 @@ +#ifndef INCLUDE_COLLISION +#define INCLUDE_COLLISION + +#ifndef INCLUDED_SCHED_TASK +#include "SchedTask.h" +#endif + +#endif diff -r 927401604461 -r c330ded6d728 spe/chara_state22.cc --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/spe/chara_state22.cc Fri Dec 17 22:18:11 2010 +0900 @@ -0,0 +1,39 @@ +#include "chara_state22.h" +#include "tobject.h" + +SchedDefineTask(STATE22); + +static int +run(SchedTask *smanager, void *rbuf, void *wbuf) +{ + CHARACTER *p = (CHARACTER*)smanager->get_input(rbuf, 0); + + int sf; + + sf = rand() % 4; + if((sf == 0) || (sf == 1)) + { + p->x = -35; + p->y = rand() % (120 - 35); + p->vx = (rand() % 4 + 1); + p->vy = rand() % 3 + 1; + p->task = STATE23; + } + if((sf == 2)) + { + p->x = rand() % 290; + p->y = -30; + p->vx = rand() % 3 - 1; + p->vy = (rand() % 4 + 1); + p->task = STATE23; + } + if(sf == 3) + { + p->x = 320; + p->y = rand() % (120 - 35); + p->vx = (rand() % 4 + 1) * -1; + p->vy = rand() % 3 -1; + p->task = STATE23; + } + return 0; +} diff -r 927401604461 -r c330ded6d728 spe/chara_state22.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/spe/chara_state22.h Fri Dec 17 22:18:11 2010 +0900 @@ -0,0 +1,8 @@ +#ifndef INCLUDE_COLLISION +#define INCLUDE_COLLISION + +#ifndef INCLUDED_SCHED_TASK +#include "SchedTask.h" +#endif + +#endif diff -r 927401604461 -r c330ded6d728 spe/chara_state23.cc --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/spe/chara_state23.cc Fri Dec 17 22:18:11 2010 +0900 @@ -0,0 +1,13 @@ +#include "chara_state23.h" +#include "tobject.h" + +SchedDefineTask(STATE23); + +static int +run(SchedTask *smanager, void *rbuf, void *wbuf) +{ + CHARACTER *p = (CHARACTER*)smanager->get_input(rbuf, 0); + + p=asteroid(p); + return 0; +} diff -r 927401604461 -r c330ded6d728 spe/chara_state23.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/spe/chara_state23.h Fri Dec 17 22:18:11 2010 +0900 @@ -0,0 +1,8 @@ +#ifndef INCLUDE_COLLISION +#define INCLUDE_COLLISION + +#ifndef INCLUDED_SCHED_TASK +#include "SchedTask.h" +#endif + +#endif diff -r 927401604461 -r c330ded6d728 spe/chara_state24.cc --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/spe/chara_state24.cc Fri Dec 17 22:18:11 2010 +0900 @@ -0,0 +1,24 @@ +#include "chara_state24.h" +#include "tobject.h" + +SchedDefineTask(STATE24); + +static int +run(SchedTask *smanager, void *rbuf, void *wbuf) +{ + CHARACTER *p = (CHARACTER*)smanager->get_input(rbuf, 0); + + kyeenemyno = p; + tekino0 = 0; + 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->task = STATE25; + return 0; +} diff -r 927401604461 -r c330ded6d728 spe/chara_state24.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/spe/chara_state24.h Fri Dec 17 22:18:11 2010 +0900 @@ -0,0 +1,8 @@ +#ifndef INCLUDE_COLLISION +#define INCLUDE_COLLISION + +#ifndef INCLUDED_SCHED_TASK +#include "SchedTask.h" +#endif + +#endif diff -r 927401604461 -r c330ded6d728 spe/chara_state25.cc --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/spe/chara_state25.cc Fri Dec 17 22:18:11 2010 +0900 @@ -0,0 +1,48 @@ +#include "chara_state25.h" +#include "tobject.h" + +SchedDefineTask(STATE25); + +static int +run(SchedTask *smanager, void *rbuf, void *wbuf) +{ + CHARACTER *p = (CHARACTER*)smanager->get_input(rbuf, 0); + + int amari; + + 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); + amari = rand() % 160; + if((amari == 1) && (enemy_part5->f == TRUE)) + { + p->task = STATE26; + rinkf1 = 1; + } + if((amari == 2) && (enemy_part1->f == TRUE)) + { + p->task = STATE27; + rinkf1 = 5; + rinkx = 0; + return 0; + } + if((enemy_part5->f == TRUE) && (enemy_part1->f != TRUE)) + { + p->task = STATE28; + } + p->dt1 += 3; + if(p->dt1 == 720) + { + p->dt1 = 0; + } + return 0; +} diff -r 927401604461 -r c330ded6d728 spe/chara_state25.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/spe/chara_state25.h Fri Dec 17 22:18:11 2010 +0900 @@ -0,0 +1,8 @@ +#ifndef INCLUDE_COLLISION +#define INCLUDE_COLLISION + +#ifndef INCLUDED_SCHED_TASK +#include "SchedTask.h" +#endif + +#endif diff -r 927401604461 -r c330ded6d728 spe/chara_state26.cc --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/spe/chara_state26.cc Fri Dec 17 22:18:11 2010 +0900 @@ -0,0 +1,34 @@ +#include "chara_state26.h" +#include "tobject.h" + +SchedDefineTask(STATE26); + +static int +run(SchedTask *smanager, void *rbuf, void *wbuf) +{ + CHARACTER *p = (CHARACTER*)smanager->get_input(rbuf, 0); + + 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->task = STATE25; + return 0; + } + p->dt2++; + return 0; +} diff -r 927401604461 -r c330ded6d728 spe/chara_state26.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/spe/chara_state26.h Fri Dec 17 22:18:11 2010 +0900 @@ -0,0 +1,8 @@ +#ifndef INCLUDE_COLLISION +#define INCLUDE_COLLISION + +#ifndef INCLUDED_SCHED_TASK +#include "SchedTask.h" +#endif + +#endif diff -r 927401604461 -r c330ded6d728 spe/chara_state27.cc --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/spe/chara_state27.cc Fri Dec 17 22:18:11 2010 +0900 @@ -0,0 +1,63 @@ +#include "chara_state27.h" +#include "tobject.h" + +SchedDefineTask(STATE27); + +static int +run(SchedTask *smanager, void *rbuf, void *wbuf) +{ + CHARACTER *p = (CHARACTER*)smanager->get_input(rbuf, 0); + + 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->task = STATE25; + return 0; + } + p->dt2++; + return 0; +} diff -r 927401604461 -r c330ded6d728 spe/chara_state27.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/spe/chara_state27.h Fri Dec 17 22:18:11 2010 +0900 @@ -0,0 +1,8 @@ +#ifndef INCLUDE_COLLISION +#define INCLUDE_COLLISION + +#ifndef INCLUDED_SCHED_TASK +#include "SchedTask.h" +#endif + +#endif diff -r 927401604461 -r c330ded6d728 spe/chara_state28.cc --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/spe/chara_state28.cc Fri Dec 17 22:18:11 2010 +0900 @@ -0,0 +1,34 @@ +#include "chara_state28.h" +#include "tobject.h" + +SchedDefineTask(STATE28); + +static int +run(SchedTask *smanager, void *rbuf, void *wbuf) +{ + CHARACTER *p = (CHARACTER*)smanager->get_input(rbuf, 0); + + 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, + (rand() % 5 + 0.5) * (rand() % 2 == + 1 ? -1 : 1), + (rand() % 5 + 0.5) * (rand() % 2 == + 1 ? -1 : 1), chara_state29); + } + p->dt1 += 3; + return 0; +} diff -r 927401604461 -r c330ded6d728 spe/chara_state28.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/spe/chara_state28.h Fri Dec 17 22:18:11 2010 +0900 @@ -0,0 +1,8 @@ +#ifndef INCLUDE_COLLISION +#define INCLUDE_COLLISION + +#ifndef INCLUDED_SCHED_TASK +#include "SchedTask.h" +#endif + +#endif diff -r 927401604461 -r c330ded6d728 spe/chara_state29.cc --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/spe/chara_state29.cc Fri Dec 17 22:18:11 2010 +0900 @@ -0,0 +1,19 @@ +#include "chara_state29.h" +#include "tobject.h" + +SchedDefineTask(STATE29); + +static int +run(SchedTask *smanager, void *rbuf, void *wbuf) +{ + CHARACTER *p = (CHARACTER*)smanager->get_input(rbuf, 0); + + p->x += p->vx; + p->y += p->vy; + if(p->dt1 % 18 == 1) + { + Puttama(0, p->x, p->y); + } + p->dt1++; + return 0; +} diff -r 927401604461 -r c330ded6d728 spe/chara_state29.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/spe/chara_state29.h Fri Dec 17 22:18:11 2010 +0900 @@ -0,0 +1,8 @@ +#ifndef INCLUDE_COLLISION +#define INCLUDE_COLLISION + +#ifndef INCLUDED_SCHED_TASK +#include "SchedTask.h" +#endif + +#endif diff -r 927401604461 -r c330ded6d728 spe/chara_state3.cc --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/spe/chara_state3.cc Fri Dec 17 22:18:11 2010 +0900 @@ -0,0 +1,24 @@ +#include "chara_state3.h" +#include "tobject.h" + +SchedDefineTask(STATE3); + +static int +run(SchedTask *smanager, void *rbuf, void *wbuf) +{ + CHARACTER *p = (CHARACTER*)smanager->get_input(rbuf, 0); + + 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->task = STATE3; + smanager->swap(); + return 0; +} diff -r 927401604461 -r c330ded6d728 spe/chara_state3.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/spe/chara_state3.h Fri Dec 17 22:18:11 2010 +0900 @@ -0,0 +1,8 @@ +#ifndef INCLUDE_COLLISION +#define INCLUDE_COLLISION + +#ifndef INCLUDED_SCHED_TASK +#include "SchedTask.h" +#endif + +#endif diff -r 927401604461 -r c330ded6d728 spe/chara_state30.cc --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/spe/chara_state30.cc Fri Dec 17 22:18:11 2010 +0900 @@ -0,0 +1,14 @@ +#include "chara_state30.h" +#include "tobject.h" + +SchedDefineTask(STATE30); + +static int +run(SchedTask *smanager, void *rbuf, void *wbuf) +{ + CHARACTER *p = (CHARACTER*)smanager->get_input(rbuf, 0); + + p->x = p->x - 32; + p->y = p->y; + return 0; +} diff -r 927401604461 -r c330ded6d728 spe/chara_state30.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/spe/chara_state30.h Fri Dec 17 22:18:11 2010 +0900 @@ -0,0 +1,8 @@ +#ifndef INCLUDE_COLLISION +#define INCLUDE_COLLISION + +#ifndef INCLUDED_SCHED_TASK +#include "SchedTask.h" +#endif + +#endif diff -r 927401604461 -r c330ded6d728 spe/chara_state31.cc --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/spe/chara_state31.cc Fri Dec 17 22:18:11 2010 +0900 @@ -0,0 +1,68 @@ +#include "chara_state31.h" +#include "tobject.h" + +SchedDefineTask(STATE31); + +static int +run(SchedTask *smanager, void *rbuf, void *wbuf) +{ + CHARACTER *p = (CHARACTER*)smanager->get_input(rbuf, 0); + + if((enemy_part3->f == FALSE) || (kyeenemyno->f == FALSE)) + { + Bom(p->x, p->y); + p->f = FALSE; + p->state = delete_chara; + p->collision = noaction; + return 0; + } + + if(rinkf1 == 0) + { + p->x = kyeenemyno->x + 40; + p->y = kyeenemyno->y + 28; + p->dt2 = 0; + } + if(rinkf1 == 5) + { + p->x = kyeenemyno->x + 52; + p->y = kyeenemyno->y; + count++; + PutSprite(count, p->x - 4, p->y - 20, 80 + p->dt2 % 4); + p->dt2++; + } + if(rinkf1 == 6) + { + if(p->y < 240 - 40) + { + p->y += 6; + } + else + { + return 0; + } + count++; + PutSprite(count, p->x - 4, p->y - 20, 90 + p->dt2 % 4); + p->dt2++; + } + if(rinkf1 == 7) + { + Putenemy(22, p->x + 14, p->y + 14, 0, 0, chara_state40); + return 0; + } + if(rinkf1 == 11) + { + if(p->y + 20 != p->y) + { + p->y--; + } + else + { + return 0; + } + count++; + PutSprite(count, p->x + 8, p->y + 44, 58 + p->dt2 % 4); + p->dt2++; + } + return 0; +} diff -r 927401604461 -r c330ded6d728 spe/chara_state31.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/spe/chara_state31.h Fri Dec 17 22:18:11 2010 +0900 @@ -0,0 +1,8 @@ +#ifndef INCLUDE_COLLISION +#define INCLUDE_COLLISION + +#ifndef INCLUDED_SCHED_TASK +#include "SchedTask.h" +#endif + +#endif diff -r 927401604461 -r c330ded6d728 spe/chara_state32.cc --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/spe/chara_state32.cc Fri Dec 17 22:18:11 2010 +0900 @@ -0,0 +1,39 @@ +#include "chara_state32.h" +#include "tobject.h" + +SchedDefineTask(STATE32); + +static int +run(SchedTask *smanager, void *rbuf, void *wbuf) +{ + CHARACTER *p = (CHARACTER*)smanager->get_input(rbuf, 0); + + if ((enemy_part4->f == FALSE) + || (kyeenemyno->f == FALSE)) + { + Bom(p->x, p->y); + p->f = FALSE; + p->state = delete_chara; + p->collision = noaction; + return 0; + } + p->x = kyeenemyno->x - 40; + p->y = kyeenemyno->y + 28; + if (rinkf1 == 5) + { + p->x = kyeenemyno->x - 24 + 4; + p->y = kyeenemyno->y + 28; + p->charano = enemystate[20].charano; + } + if (rinkf1 == 11) + { + p->charano = enemystate[14].charano; + } + if (rinkf1 == 7) + { + Putenemy(23, p->x + 14, + p->y + 14, 0, 0, chara_state41); + return 0; + } + return 0; +} diff -r 927401604461 -r c330ded6d728 spe/chara_state32.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/spe/chara_state32.h Fri Dec 17 22:18:11 2010 +0900 @@ -0,0 +1,8 @@ +#ifndef INCLUDE_COLLISION +#define INCLUDE_COLLISION + +#ifndef INCLUDED_SCHED_TASK +#include "SchedTask.h" +#endif + +#endif diff -r 927401604461 -r c330ded6d728 spe/chara_state33.cc --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/spe/chara_state33.cc Fri Dec 17 22:18:11 2010 +0900 @@ -0,0 +1,32 @@ +#include "chara_state33.h" +#include "tobject.h" + +SchedDefineTask(STATE33); + +static int +run(SchedTask *smanager, void *rbuf, void *wbuf) +{ + CHARACTER *p = (CHARACTER*)smanager->get_input(rbuf, 0); + + if (kyeenemyno->f == FALSE) + { + Bom(p->x, p->y); + p->f = FALSE; + p->state = delete_chara; + p->collision = noaction; + return 0; + } + p->x = kyeenemyno->x + 32; + p->y = kyeenemyno->y; + if (rinkf1 == 5) + { + p->x = kyeenemyno->x + 32 - 4; + p->y = kyeenemyno->y; + p->charano = enemystate[19].charano; + } + if (rinkf1 == 6) + { + p->charano = enemystate[11].charano; + } + return 0; +} diff -r 927401604461 -r c330ded6d728 spe/chara_state33.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/spe/chara_state33.h Fri Dec 17 22:18:11 2010 +0900 @@ -0,0 +1,8 @@ +#ifndef INCLUDE_COLLISION +#define INCLUDE_COLLISION + +#ifndef INCLUDED_SCHED_TASK +#include "SchedTask.h" +#endif + +#endif diff -r 927401604461 -r c330ded6d728 spe/chara_state34.cc --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/spe/chara_state34.cc Fri Dec 17 22:18:11 2010 +0900 @@ -0,0 +1,30 @@ +#include "chara_state34.h" +#include "tobject.h" + +SchedDefineTask(STATE34); + +static int +run(SchedTask *smanager, void *rbuf, void *wbuf) +{ + CHARACTER *p = (CHARACTER*)smanager->get_input(rbuf, 0); + + if (kyeenemyno->f == FALSE) + { + Bom(p->x, p->y); + p->f = FALSE; + p->state = delete_chara; + p->collision = noaction; + return 0; + } + p->x = kyeenemyno->x - 32; + p->y = kyeenemyno->y; + if (rinkf1 == 5) + { + p->charano = enemystate[21].charano; + } + if (rinkf1 == 6) + { + p->charano = enemystate[12].charano; + } + return 0; +} diff -r 927401604461 -r c330ded6d728 spe/chara_state34.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/spe/chara_state34.h Fri Dec 17 22:18:11 2010 +0900 @@ -0,0 +1,8 @@ +#ifndef INCLUDE_COLLISION +#define INCLUDE_COLLISION + +#ifndef INCLUDED_SCHED_TASK +#include "SchedTask.h" +#endif + +#endif diff -r 927401604461 -r c330ded6d728 spe/chara_state35.cc --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/spe/chara_state35.cc Fri Dec 17 22:18:11 2010 +0900 @@ -0,0 +1,60 @@ +#include "chara_state35.h" +#include "tobject.h" + +SchedDefineTask(STATE35); + +static int +run(SchedTask *smanager, void *rbuf, void *wbuf) +{ + CHARACTER *p = (CHARACTER*)smanager->get_input(rbuf, 0); + + if (kyeenemyno->f == FALSE) + { + Bom(p->x, p->y); + p->f = FALSE; + p->state = delete_chara; + p->collision = noaction; + return 0; + } + p->x = kyeenemyno->x; + p->y = kyeenemyno->y + 32; + if (rinkf1 == 1) + { + p->charano = enemystate[16].charano; + } + if (rinkf1 == 2) + { + count++; + PutSprite(count, p->x - 10, + p->y + 16, + 58 + p->dt2 % 4); + count++; + PutSprite(count, p->x + 10, + p->y + 16, + 58 + p->dt2 % 4); + p->dt2++; + } + if (rinkf1 == 3) + { + count++; + PutSprite(count, p->x - 10, + p->y + 16, + 58 + p->dt2 % 4); + count++; + PutSprite(count, p->x + 10, + p->y + 16, + 58 + p->dt2 % 4); + if (p->dt2 % 20 == 1) + { + Puttama(7, p->x, p->y + 16); + Puttama(7, p->x + 20, + p->y + 16); + } + p->dt2++; + } + if (rinkf1 == 4) { + p->charano = enemystate[15].charano; + p->dt2 = 0; + } + return 0; +} diff -r 927401604461 -r c330ded6d728 spe/chara_state35.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/spe/chara_state35.h Fri Dec 17 22:18:11 2010 +0900 @@ -0,0 +1,8 @@ +#ifndef INCLUDE_COLLISION +#define INCLUDE_COLLISION + +#ifndef INCLUDED_SCHED_TASK +#include "SchedTask.h" +#endif + +#endif diff -r 927401604461 -r c330ded6d728 spe/chara_state4.cc --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/spe/chara_state4.cc Fri Dec 17 22:18:11 2010 +0900 @@ -0,0 +1,22 @@ +#include "chara_state3.h" +#include "tobject.h" + +SchedDefineTask(STATE4); + +static int +run(SchedTask *smanager, void *rbuf, void *wbuf) +{ + CHARACTER *p = (CHARACTER*)smanager->get_input(rbuf, 0); + + p->y += p->vy; + p->x += p->vx; + if(p->y < jiki.y && p->y + 16 > jiki.y) + { + p->vy = -2; + p->vx = ((jiki.x > p->x) ? 4 : -4); + p->task = STATE7; + } + else p->task = STATE4; + smanager->swap(); + return 0; +} diff -r 927401604461 -r c330ded6d728 spe/chara_state4.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/spe/chara_state4.h Fri Dec 17 22:18:11 2010 +0900 @@ -0,0 +1,8 @@ +#ifndef INCLUDE_COLLISION +#define INCLUDE_COLLISION + +#ifndef INCLUDED_SCHED_TASK +#include "SchedTask.h" +#endif + +#endif diff -r 927401604461 -r c330ded6d728 spe/chara_state40.cc --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/spe/chara_state40.cc Fri Dec 17 22:18:11 2010 +0900 @@ -0,0 +1,56 @@ +#include "chara_state40.h" +#include "tobject.h" + +SchedDefineTask(STATE40); + +static int +run(SchedTask *smanager, void *rbuf, void *wbuf) +{ + CHARACTER *p = (CHARACTER*)smanager->get_input(rbuf, 0); + + if (enemy_part1->f == FALSE) + { + Bom(p->x, p->y); + p->f = FALSE; + p->state = delete_chara; + p->collision = noaction; + return 0; + } + if ((rinkf1 == 8) && (p->dt1 % 3 == 1)) + { + if ((p->dt2 < 16)) + { + p->dt2++; + DefSprite(76, "boss2_rightarm_b", 16, p->dt2, 480, boss); + } + else + { + // rinkf1=9; + return 0; + } + } + if (rinkf1 == 9) + { + if (p->dt1 % 15 == 1) + { + Puttama(8, p->x, p->y); + } + } + if (rinkf1 == 10) + { + if (p->dt2 != 0) + { + p->dt2--; + DefSprite(76, "boss2_rightarm_b", 16, p->dt2, 480, boss); + } + else + { + p->f = FALSE; + p->state = delete_chara; + p->collision = noaction; + // rinkf1=11; + } + } + p->dt1++; + return 0; +} diff -r 927401604461 -r c330ded6d728 spe/chara_state40.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/spe/chara_state40.h Fri Dec 17 22:18:11 2010 +0900 @@ -0,0 +1,8 @@ +#ifndef INCLUDE_COLLISION +#define INCLUDE_COLLISION + +#ifndef INCLUDED_SCHED_TASK +#include "SchedTask.h" +#endif + +#endif diff -r 927401604461 -r c330ded6d728 spe/chara_state400.cc --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/spe/chara_state400.cc Fri Dec 17 22:18:11 2010 +0900 @@ -0,0 +1,15 @@ +#include "chara_state400.h" +#include "tobject.h" + +SchedDefineTask(STATE400); + +static int +run(SchedTask *smanager, void *rbuf, void *wbuf) +{ + CHARACTER *p = (CHARACTER*)smanager->get_input(rbuf, 0); + + p->vy++; + p->y += p->vy / 4; + p->task = STATE400; + return 0; +} diff -r 927401604461 -r c330ded6d728 spe/chara_state400.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/spe/chara_state400.h Fri Dec 17 22:18:11 2010 +0900 @@ -0,0 +1,8 @@ +#ifndef INCLUDE_COLLISION +#define INCLUDE_COLLISION + +#ifndef INCLUDED_SCHED_TASK +#include "SchedTask.h" +#endif + +#endif diff -r 927401604461 -r c330ded6d728 spe/chara_state401.cc --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/spe/chara_state401.cc Fri Dec 17 22:18:11 2010 +0900 @@ -0,0 +1,24 @@ +#include "chara_state401.h" +#include "tobject.h" + +SchedDefineTask(STATE401); + +static int +run(SchedTask *smanager, void *rbuf, void *wbuf) +{ + CHARACTER *p = (CHARACTER*)smanager->get_input(rbuf, 0); + + p->vx++; + p->x += p->vx / 8; + if (p->x > (jiki.x - 32)) + { + p->vy--; + } + p->y += p->vy / 8; + if (p->dt1 % 50 == 37) + { + Puttama(1, p->x + 8, p->y + 24); + } + p->dt1++; + return 0; +} diff -r 927401604461 -r c330ded6d728 spe/chara_state401.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/spe/chara_state401.h Fri Dec 17 22:18:11 2010 +0900 @@ -0,0 +1,8 @@ +#ifndef INCLUDE_COLLISION +#define INCLUDE_COLLISION + +#ifndef INCLUDED_SCHED_TASK +#include "SchedTask.h" +#endif + +#endif diff -r 927401604461 -r c330ded6d728 spe/chara_state402.cc --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/spe/chara_state402.cc Fri Dec 17 22:18:11 2010 +0900 @@ -0,0 +1,24 @@ +#include "chara_state402.h" +#include "tobject.h" + +SchedDefineTask(STATE402); + +static int +run(SchedTask *smanager, void *rbuf, void *wbuf) +{ + CHARACTER *p = (CHARACTER*)smanager->get_input(rbuf, 0); + + p->vx--; + p->x += p->vx / 8; + if (p->x < (jiki.x + 32)) + { + p->vy--; + } + p->y += p->vy / 8; + if (p->dt1 % 50 == 37) + { + Puttama(1, p->x + 8, p->y + 24); + } + p->dt1++; + return 0; +} diff -r 927401604461 -r c330ded6d728 spe/chara_state402.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/spe/chara_state402.h Fri Dec 17 22:18:11 2010 +0900 @@ -0,0 +1,8 @@ +#ifndef INCLUDE_COLLISION +#define INCLUDE_COLLISION + +#ifndef INCLUDED_SCHED_TASK +#include "SchedTask.h" +#endif + +#endif diff -r 927401604461 -r c330ded6d728 spe/chara_state41.cc --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/spe/chara_state41.cc Fri Dec 17 22:18:11 2010 +0900 @@ -0,0 +1,58 @@ +#include "chara_state41.h" +#include "tobject.h" + +SchedDefineTask(STATE41); + +static int +run(SchedTask *smanager, void *rbuf, void *wbuf) +{ + CHARACTER *p = (CHARACTER*)smanager->get_input(rbuf, 0); + + if (enemy_part2->f == FALSE) + { + Bom(p->x, p->y); + p->f = FALSE; + p->state = delete_chara; + p->collision = noaction; + return 0; + } + p->x = kyeenemyno->x - 20 - 7; + p->y = kyeenemyno->y + 28 + 15; + if ((rinkf1 == 8) && (p->dt1 % 3 == 1)) + { + if ((p->dt2 < 16)) + { + p->dt2++; + DefSprite(77, "boss2_leftarmbattery", p->dt2, 16, 480, boss); /*左腕アップアーム砲 */ + } + else + { + rinkf1 = 9; + return 0; + } + } + if (rinkf1 == 9) + { + if (p->dt1 % 15 == 1) + { + Puttama(9 + rand() % 2, p->x, p->y); + } + } + if (rinkf1 == 10) + { + if (p->dt2 != 0) + { + p->dt2--; + DefSprite(77, "boss2_leftarmbattery", p->dt2, 16, 480, boss); + } + else + { + p->f = FALSE; + p->state = delete_chara; + p->collision = noaction; + return 0; + } + } + p->dt1++; + return 0; +} diff -r 927401604461 -r c330ded6d728 spe/chara_state41.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/spe/chara_state41.h Fri Dec 17 22:18:11 2010 +0900 @@ -0,0 +1,8 @@ +#ifndef INCLUDE_COLLISION +#define INCLUDE_COLLISION + +#ifndef INCLUDED_SCHED_TASK +#include "SchedTask.h" +#endif + +#endif diff -r 927401604461 -r c330ded6d728 spe/chara_state410.cc --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/spe/chara_state410.cc Fri Dec 17 22:18:11 2010 +0900 @@ -0,0 +1,14 @@ +#include "chara_state410.h" +#include "tobject.h" + +SchedDefineTask(STATE410); + +static int +run(SchedTask *smanager, void *rbuf, void *wbuf) +{ + CHARACTER *p = (CHARACTER*)smanager->get_input(rbuf, 0); + + kyeenemyno = p; + p->task = STATE411; + return 0; +} diff -r 927401604461 -r c330ded6d728 spe/chara_state410.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/spe/chara_state410.h Fri Dec 17 22:18:11 2010 +0900 @@ -0,0 +1,8 @@ +#ifndef INCLUDE_COLLISION +#define INCLUDE_COLLISION + +#ifndef INCLUDED_SCHED_TASK +#include "SchedTask.h" +#endif + +#endif diff -r 927401604461 -r c330ded6d728 spe/chara_state411.cc --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/spe/chara_state411.cc Fri Dec 17 22:18:11 2010 +0900 @@ -0,0 +1,55 @@ +#include "chara_state411.h" +#include "tobject.h" + +SchedDefineTask(STATE411); + +static int +run(SchedTask *smanager, void *rbuf, void *wbuf) +{ + CHARACTER *p = (CHARACTER*)smanager->get_input(rbuf, 0); + + if (p->dt2 > 356) + { + p->vx = -1; + } + if (p->dt2 < -398) + { + p->vx = 1; + } + if ((p->dt1) % 62 == 0) + Putenemy(41, + p->x, + p->y, + (int) -Mycos(p->dt1 / 16) * 4 / + SANKAKU, + (int) -Mysin(p->dt1 / 16) * 4 / + SANKAKU, chara_state7); + if ((p->dt1) % 13 == 0) + Puttama(11, p->x + 32, + p->y + 32); + + p->dt2 += p->vx; + p->dt1 += p->dt2 / 4; + + p->x = jiki.x - 16 + + Mycos(p->dt1 / 16) * 128 / SANKAKU; + p->y = jiki.y - 16 + + Mysin(p->dt1 / 16) * 128 / SANKAKU; + if (p->x < 0) + { + p->x = 0; + } + if (p->x > 260) + { + p->x = 260; + } + if (p->y < 0) + { + p->y = 0; + } + if (p->y > 232) + { + p->y = 232; + } + return 0; +} diff -r 927401604461 -r c330ded6d728 spe/chara_state411.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/spe/chara_state411.h Fri Dec 17 22:18:11 2010 +0900 @@ -0,0 +1,8 @@ +#ifndef INCLUDE_COLLISION +#define INCLUDE_COLLISION + +#ifndef INCLUDED_SCHED_TASK +#include "SchedTask.h" +#endif + +#endif diff -r 927401604461 -r c330ded6d728 spe/chara_state5.cc --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/spe/chara_state5.cc Fri Dec 17 22:18:11 2010 +0900 @@ -0,0 +1,22 @@ +#include "chara_state3.h" +#include "tobject.h" + +SchedDefineTask(STATE5); + +static int +run(SchedTask *smanager, void *rbuf, void *wbuf) +{ + CHARACTER *p = (CHARACTER*)smanager->get_input(rbuf, 0); + + 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->task = STATE0; + } + else p->task = STATE5; + return 0; +} diff -r 927401604461 -r c330ded6d728 spe/chara_state5.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/spe/chara_state5.h Fri Dec 17 22:18:11 2010 +0900 @@ -0,0 +1,8 @@ +#ifndef INCLUDE_COLLISION +#define INCLUDE_COLLISION + +#ifndef INCLUDED_SCHED_TASK +#include "SchedTask.h" +#endif + +#endif diff -r 927401604461 -r c330ded6d728 spe/chara_state500.cc --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/spe/chara_state500.cc Fri Dec 17 22:18:11 2010 +0900 @@ -0,0 +1,42 @@ +#include "chara_state500.h" +#include "tobject.h" + +SchedDefineTask(STATE500); + +static int +run(SchedTask *smanager, void *rbuf, void *wbuf) +{ + CHARACTER *p = (CHARACTER*)smanager->get_input(rbuf, 0); + + p->s = 0; + + kyeenemyno = p; + p->dt2++; + p->dt2 %= 512; + p->dt1++; + count++; + DefSpriteEx(100, 16, 16); + // PutSprite(count, enemy[tekino].x + 16, + // enemy[tekino].y + 16, 100); + PutSpriteEx(100, p->x + 16, p->y + 16, 2, 2, p->dt1); + + if (p->dt1 % (5 + p->dt2 / 8) == 1) { + if (rand() % 2 == 1) + Putenemy(24, p->x, p->y, + (rand() % 5 + 0.5) * (rand() % 2 == + 1 ? -1 : 1), + (rand() % 5 + 0.5) * (rand() % 2 == + 1 ? -1 : 1), chara_state501); + else + Putenemy(rand() % 2 + 1, p->x, + p->y, + (int) Mycos(p->dt1 / 4) * 4 / + SANKAKU, + (int) -Mysin(p->dt1 / 4) * 4 / + SANKAKU, chara_state501); + } + if (p->dt1 == 50) { + /*Putenemy(44,0,0,1,1,411); */ + } + return 0; +} diff -r 927401604461 -r c330ded6d728 spe/chara_state500.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/spe/chara_state500.h Fri Dec 17 22:18:11 2010 +0900 @@ -0,0 +1,8 @@ +#ifndef INCLUDE_COLLISION +#define INCLUDE_COLLISION + +#ifndef INCLUDED_SCHED_TASK +#include "SchedTask.h" +#endif + +#endif diff -r 927401604461 -r c330ded6d728 spe/chara_state501.cc --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/spe/chara_state501.cc Fri Dec 17 22:18:11 2010 +0900 @@ -0,0 +1,19 @@ +#include "chara_state501.h" +#include "tobject.h" + +SchedDefineTask(STATE501); + +static int +run(SchedTask *smanager, void *rbuf, void *wbuf) +{ + CHARACTER *p = (CHARACTER*)smanager->get_input(rbuf, 0); + + p->x += p->vx; + p->y += p->vy; + if(p->dt1 % 32 == 1) + { + Puttama(11, p->x, p->y); + } + p->dt1++; + return 0; +} diff -r 927401604461 -r c330ded6d728 spe/chara_state501.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/spe/chara_state501.h Fri Dec 17 22:18:11 2010 +0900 @@ -0,0 +1,8 @@ +#ifndef INCLUDE_COLLISION +#define INCLUDE_COLLISION + +#ifndef INCLUDED_SCHED_TASK +#include "SchedTask.h" +#endif + +#endif diff -r 927401604461 -r c330ded6d728 spe/chara_state6.cc --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/spe/chara_state6.cc Fri Dec 17 22:18:11 2010 +0900 @@ -0,0 +1,22 @@ +#include "chara_state6.h" +#include "tobject.h" + +SchedDefineTask(STATE6); + +static int +run(SchedTask *smanager, void *rbuf, void *wbuf) +{ + CHARACTER *p = (CHARACTER*)smanager->get_input(rbuf, 0); + + 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->task = STATE0; + } + else p->task = STATE6; + return 0; +} diff -r 927401604461 -r c330ded6d728 spe/chara_state6.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/spe/chara_state6.h Fri Dec 17 22:18:11 2010 +0900 @@ -0,0 +1,8 @@ +#ifndef INCLUDE_COLLISION +#define INCLUDE_COLLISION + +#ifndef INCLUDED_SCHED_TASK +#include "SchedTask.h" +#endif + +#endif diff -r 927401604461 -r c330ded6d728 spe/chara_state600.cc --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/spe/chara_state600.cc Fri Dec 17 22:18:11 2010 +0900 @@ -0,0 +1,31 @@ +#include "chara_state600.h" +#include "tobject.h" + +SchedDefineTask(STATE600); + +static int +run(SchedTask *smanager, void *rbuf, void *wbuf) +{ + CHARACTER *p = (CHARACTER*)smanager->get_input(rbuf, 0); + + kyeenemyno = p; + p->dt1 += 30; + p->dt2++; + p->dt1 %= 360; + p->x += Mycos(p->dt1) * 4 / SANKAKU; + p->y += Mysin(p->dt1) * 4 / SANKAKU; + Puttama(11, p->x + 16, p->y + 16); + Puttama(11, p->x + 32, p->y + 48); + Puttama(11, p->x + 48, p->y + 16); + if (p->dt2 > 240) + p->task = STATE601; + if (p->x < 0) + p->x = 0; + if (p->x > 260) + p->x = 260; + if (p->y < 0) + p->y = 0; + if (p->y > 232) + p->y = 232; + return 0; +} diff -r 927401604461 -r c330ded6d728 spe/chara_state600.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/spe/chara_state600.h Fri Dec 17 22:18:11 2010 +0900 @@ -0,0 +1,8 @@ +#ifndef INCLUDE_COLLISION +#define INCLUDE_COLLISION + +#ifndef INCLUDED_SCHED_TASK +#include "SchedTask.h" +#endif + +#endif diff -r 927401604461 -r c330ded6d728 spe/chara_state601.cc --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/spe/chara_state601.cc Fri Dec 17 22:18:11 2010 +0900 @@ -0,0 +1,31 @@ +#include "chara_state601.h" +#include "tobject.h" + +SchedDefineTask(STATE601); + +static int +run(SchedTask *smanager, void *rbuf, void *wbuf) +{ + CHARACTER *p = (CHARACTER*)smanager->get_input(rbuf, 0); + + p->dt2++; + if (p->x < jiki.x) + p->vx++; + if (p->x > jiki.x) + p->vx--; + p->x += p->vx; + Putenemy(6, p->x + 16 + rand() % 32, + p->y, 0, rand() % 4, chara_state400); + if (p->x < 0) + p->x = 0; + if (p->x > 260) + p->x = 260; + if (p->y < 0) + p->y = 0; + if (p->y > 232) + p->y = 232; + if (p->dt2 > 800) { + p->task = STATE602; + } + return 0; +} diff -r 927401604461 -r c330ded6d728 spe/chara_state601.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/spe/chara_state601.h Fri Dec 17 22:18:11 2010 +0900 @@ -0,0 +1,8 @@ +#ifndef INCLUDE_COLLISION +#define INCLUDE_COLLISION + +#ifndef INCLUDED_SCHED_TASK +#include "SchedTask.h" +#endif + +#endif diff -r 927401604461 -r c330ded6d728 spe/chara_state602.cc --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/spe/chara_state602.cc Fri Dec 17 22:18:11 2010 +0900 @@ -0,0 +1,21 @@ +#include "chara_state602.h" +#include "tobject.h" + +SchedDefineTask(STATE602); + +static int +run(SchedTask *smanager, void *rbuf, void *wbuf) +{ + CHARACTER *p = (CHARACTER*)smanager->get_input(rbuf, 0); + + p->dt2++; + Putenemy(24, p->x + 14, p->y + 14, + (rand() % 5 + 0.5) * (rand() % 2 == 1 ? -1 : 1), + (rand() % 5 + 0.5) * (rand() % 2 == 1 ? -1 : 1), + chara_state29); + if (p->dt2 > 1024) { + p->task = STATE600; + p->dt2 = 0; + } + return 0; +} diff -r 927401604461 -r c330ded6d728 spe/chara_state602.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/spe/chara_state602.h Fri Dec 17 22:18:11 2010 +0900 @@ -0,0 +1,8 @@ +#ifndef INCLUDE_COLLISION +#define INCLUDE_COLLISION + +#ifndef INCLUDED_SCHED_TASK +#include "SchedTask.h" +#endif + +#endif diff -r 927401604461 -r c330ded6d728 spe/chara_state7.cc --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/spe/chara_state7.cc Fri Dec 17 22:18:11 2010 +0900 @@ -0,0 +1,21 @@ +#include "chara_state7.h" +#include "tobject.h" + +SchedDefineTask(STATE7); + +static int +run(SchedTask *smanager, void *rbuf, void *wbuf) +{ + CHARACTER *p = (CHARACTER*)smanager->get_input(rbuf, 0); + + 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->task = STATE7; + return 0; +} diff -r 927401604461 -r c330ded6d728 spe/chara_state7.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/spe/chara_state7.h Fri Dec 17 22:18:11 2010 +0900 @@ -0,0 +1,8 @@ +#ifndef INCLUDE_COLLISION +#define INCLUDE_COLLISION + +#ifndef INCLUDED_SCHED_TASK +#include "SchedTask.h" +#endif + +#endif diff -r 927401604461 -r c330ded6d728 spe/chara_state8.cc --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/spe/chara_state8.cc Fri Dec 17 22:18:11 2010 +0900 @@ -0,0 +1,26 @@ +#include "chara_state8.h" +#include "tobject.h" + +SchedDefineTask(STATE8); + +static int +run(SchedTask *smanager, void *rbuf, void *wbuf) +{ + CHARACTER *p = (CHARACTER*)smanager->get_input(rbuf, 0); + + if(p->y < 520) + { + tekino0 = p; + kyeenemyno = p; + p->y += p->vy; + count++; + 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->task = STATE8; + return 0; + } + p->task = STATE9; + return 0; +} diff -r 927401604461 -r c330ded6d728 spe/chara_state8.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/spe/chara_state8.h Fri Dec 17 22:18:11 2010 +0900 @@ -0,0 +1,8 @@ +#ifndef INCLUDE_COLLISION +#define INCLUDE_COLLISION + +#ifndef INCLUDED_SCHED_TASK +#include "SchedTask.h" +#endif + +#endif diff -r 927401604461 -r c330ded6d728 spe/chara_state9.cc --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/spe/chara_state9.cc Fri Dec 17 22:18:11 2010 +0900 @@ -0,0 +1,31 @@ +#include "chara_state9.h" +#include "tobject.h" + +SchedDefineTask(STATE9); + +static int +run(SchedTask *smanager, void *rbuf, void *wbuf) +{ + CHARACTER *p = (CHARACTER*)smanager->get_input(rbuf, 0); + + if(p->s <= 2) + { + p->s += 0.05; + p->y -= 12; + count++; + DefSpriteEx(54, 16*4, 32*4); + PutSpriteEx(54, (p->x * 4), (p->y * 4), p->s, p->s, 1); + p->task = STATE9; + return 0; + } + count++; + DefSpriteEx(54, 16, 32); + PutSpriteEx(54, p->x, p->y, p->s, p->s, 1); + rinkx = p->x; + rinky = p->y; + Putenemy(5, rinkx - 16, rinky - 16, 1, 0, chara_state10); + Putenemy(5, rinkx - 16, rinky - 16, -1, 0, chara_state10); + p->task = STATE11; + p->dt1 = 8192; + return 0; +} diff -r 927401604461 -r c330ded6d728 spe/chara_state9.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/spe/chara_state9.h Fri Dec 17 22:18:11 2010 +0900 @@ -0,0 +1,8 @@ +#ifndef INCLUDE_COLLISION +#define INCLUDE_COLLISION + +#ifndef INCLUDED_SCHED_TASK +#include "SchedTask.h" +#endif + +#endif diff -r 927401604461 -r c330ded6d728 spe/noaction.cc --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/spe/noaction.cc Fri Dec 17 22:18:11 2010 +0900 @@ -0,0 +1,14 @@ +#include "noaction.h" +#include "tobject.h" + +SchedDefineTask(NO_ACT); + +static int +run(SchedTask *smanager, void *rbuf, void *wbuf) +{ + CHARACTER *p = (CHARACTER*)smanager->get_input(rbuf, 0); + + p->task = NO_ACT; + smanager->swap(); + return 0; +} diff -r 927401604461 -r c330ded6d728 spe/noaction.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/spe/noaction.h Fri Dec 17 22:18:11 2010 +0900 @@ -0,0 +1,8 @@ +#ifndef INCLUDE_COLLISION +#define INCLUDE_COLLISION + +#ifndef INCLUDED_SCHED_TASK +#include "SchedTask.h" +#endif + +#endif diff -r 927401604461 -r c330ded6d728 state_task.cc --- a/state_task.cc Fri Dec 17 04:16:25 2010 +0900 +++ b/state_task.cc Fri Dec 17 22:18:11 2010 +0900 @@ -15,18 +15,1160 @@ #include "property.h" #include "state_task.h" -extern TaskManager *tmanager; - void SimpleStateTask(CHARACTER *p) { -// CHARACTER *one = new CHARACTER; HTaskPtr state_task = tmanager->create_task(SIMPLE_STATE); -// one = p; state_task->add_inData(p, sizeof(CHARACTER)); state_task->add_outData(p, sizeof(CHARACTER)); state_task->set_cpu(SPE_ANY); state_task->spawn(); } + +CHARACTER * chara_state0(CHARACTER *p) +{ + p->x += p->vx; + p->y += p->vy; + p->state = STATE0; + + return 0; +} + +CHARACTER * chara_state1(CHARACTER *p) +{ + p->x -= p->vx; + p->y -= p->vy; + p->state = STATE1; + + return 0; +} + +CHARACTER * chara_state2(CHARACTER *p) +{ + p->vy -= 0.25; + p->y += p->vy; + p->state = chara_state2; + //PutSprite(count, p->x, p->y, p->charano); + return 0; +} + +CHARACTER * chara_state3(CHARACTER *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; + //PutSprite(count, p->x, p->y, p->charano); + return 0; +} + +CHARACTER * chara_state4(CHARACTER *p) +{ + p->y += p->vy; + p->x += p->vx; + if(p->y < jiki.y && p->y + 16 > jiki.y) + { + p->vy = -2; + p->vx = ((jiki.x > p->x) ? 4 : -4); + p->state = chara_state7; + } + else p->state = chara_state4; + //PutSprite(count, p->x, p->y, p->charano); + return 0; +} + +CHARACTER * chara_state5(CHARACTER *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 0; +} + +CHARACTER * chara_state6(CHARACTER *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 0; +} + +CHARACTER * chara_state7(CHARACTER *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; + //PutSprite(count, p->x, p->y, p->charano); + return 0; +} + +// state1 boss patern +CHARACTER * chara_state8(CHARACTER *p) +{ + if(p->y < 520) + { + tekino0 = p; + kyeenemyno = p; + p->y += p->vy; + count++; + 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 0; + } + p->state = chara_state9; + return 0; +} + +CHARACTER * chara_state9(CHARACTER *p) +{ + if(p->s <= 2) + { + p->s += 0.05; + p->y -= 12; + count++; + DefSpriteEx(54, 16*4, 32*4); + PutSpriteEx(54, (p->x * 4), (p->y * 4), p->s, p->s, 1); + p->state = chara_state9; + return 0; + } + count++; + DefSpriteEx(54, 16, 32); + PutSpriteEx(54, p->x, p->y, p->s, p->s, 1); + rinkx = p->x; + rinky = p->y; + Putenemy(5, rinkx - 16, rinky - 16, 1, 0, chara_state10); + Putenemy(5, rinkx - 16, rinky - 16, -1, 0, chara_state10); + p->state = chara_state11; + p->dt1 = 8192; + return 0; +} + + +CHARACTER * chara_state10(CHARACTER *p) +{ + if(p->dt1 < 48) + { + p->x += p->vx; + p->y += p->vy; + p->dt1++; + p->state = chara_state10; + //PutSprite(count, p->x, p->y, + return 0; + } + rinkf1 = 1; + p->dt1 = rinkx; + p->dt2 = rinky; + p->state = chara_state13; + return 0; +} + + +CHARACTER * chara_state11(CHARACTER *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 0; + } + p->dt1 = 0; + p->dt2 = 0; + p->state = chara_state12; + return 0; +} + +CHARACTER * chara_state12(CHARACTER *p) +{ + if(fastebos > 60*60) + { + if(p->y > 240+32) + { + p->state = delete_chara; + } + p->y += 3; + rinky += 3; + count++; + DefSpriteEx(54, 16, 32); + PutSpriteEx(54, p->x, p->y, 2, 2, 1); + p->state = chara_state12; + return 0; + } + if(p->dt1 <= 60) + { + if(jiki.x + 15 - rinkx < -5) + { + p->vx = -0.8; + } + else if(jiki.x + 15 - rinkx > 5) + { + p->vx = +0.8; + } + 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 - 16, rinky); + Puttama(0, rinkx, rinky); + Puttama(0, rinkx + 16, rinky); + } + } + if((p->dt1 > 180) && (p->dt1 <= 240)) + { + if(p->dt1 % 2 == 1) + { + rinkf2 = 1; + Puttama(2, rinkx - 16, p->y - 32); + Puttama(3, rinkx + 32 - 16, p->y - 32); + } + else + { + rinkf2 = 2; + } + } + if(p->dt1 > 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 - rinkx < -5) + { + p->vx = -1; + } + else if(jiki.x + 15 - rinkx > 5) + { + p->vx = +1; + } + else p->vx = 0; + p->x += p->vx; + rinkx = p->x; + rinky = p->y; + Puttama(4, rinkx - 8, rinky + 16); + } + if((p->dt1 > 400) && (p->dt1 <= 500)) + { + rinkf2 = 4; + if(jiki.x + 15 - rinkx > 5) + { + p->vx = -1; + } + else if(jiki.x + 15 - rinkx > 5) + { + p->vx = +1; + } + else p->vx = 0; + p->x += p->vx; + rinkx = p->x; + rinky = p->y; + } + if(p->dt1 > 500) + { + rinkf2 = 5; + if(jiki.x + 15 - rinkx < -5) + { + p->vx = -1; + } + else if(jiki.x + 15 - rinkx > 5) + { + p->vx = +1; + } + 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); + return 0; +} + + +CHARACTER * chara_state13(CHARACTER *p) +{ + if(tekino0->f == FALSE){ + Bom(p->x, p->y); + p->f = FALSE; + p->state = delete_chara; + p->collision = noaction; + return 0; + } + + p->x += rinkx - p->dt1; + p->y += rinky - p->dt2; + p->dt1 = rinkx; + p->dt2 = rinky; + if(rinkf2 == 1) + { + if(p->x > rinkx) + { + Puttama(2, p->x + 32, p->y); + } + if(p->x < rinkx) + { + Puttama(3, p->x, p->y); + } + } + if(rinkf2 == 4) + { + count++; + PutSprite(count, p->x, p->y + 56, 58+filpcount % 4); + } + if(rinkf2 == 5) + { + if(p->x > rinkx) + { + Puttama(5, p->x + 8, p->y + 24); + } + if(p->x < rinkx) + { + Puttama(5, p->x + 8, p->y + 24); + } + } + return 0; +} + + +CHARACTER * chara_state20(CHARACTER *p) +{ + p->x += p->vx; + p->y += p->vy; + p->vy -= 0.5; + p->vy += 0.4; + return 0; +} + +CHARACTER * chara_state21(CHARACTER *p) +{ + p->x += p->vx; + p->y += p->vy; + p->vx += 0.5; + p->vy += 0.4; + return 0; +} + +//ここまでgetate boss + + +CHARACTER * chara_state22(CHARACTER *p) +{ + int sf; + + sf = rand() % 4; + if((sf == 0) || (sf == 1)) + { + p->x = -35; + p->y = rand() % (120 - 35); + p->vx = (rand() % 4 + 1); + p->vy = rand() % 3 + 1; + p->state = chara_state23; + } + if((sf == 2)) + { + p->x = rand() % 290; + p->y = -30; + p->vx = rand() % 3 - 1; + p->vy = (rand() % 4 + 1); + p->state = chara_state23; + } + if(sf == 3) + { + p->x = 320; + p->y = rand() % (120 - 35); + p->vx = (rand() % 4 + 1) * -1; + p->vy = rand() % 3 -1; + p->state = chara_state23; + } + return 0; +} + +CHARACTER * chara_state23(CHARACTER *p) +{ + p=asteroid(p); + return 0; +} + +CHARACTER * chara_state24(CHARACTER *p) +{ + kyeenemyno = p; + tekino0 = 0; + 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 0; +} + +CHARACTER * chara_state25(CHARACTER *p) +{ + int amari; + + 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); + amari = rand() % 160; + if((amari == 1) && (enemy_part5->f == TRUE)) + { + p->state = chara_state26; + rinkf1 = 1; + } + if((amari == 2) && (enemy_part1->f == TRUE)) + { + p->state = chara_state27; + rinkf1 = 5; + rinkx = 0; + return 0; + } + if((enemy_part5->f == TRUE) && (enemy_part1->f != TRUE)) + { + p->state = chara_state28; + } + p->dt1 += 3; + if(p->dt1 == 720) + { + p->dt1 = 0; + } + return 0; +} + +CHARACTER * chara_state26(CHARACTER *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 0; + } + p->dt2++; + return 0; +} + +CHARACTER * chara_state27(CHARACTER *p) //rocket punch +{ + 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 0; + } + p->dt2++; + return 0; +} +CHARACTER * chara_state28(CHARACTER *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, + (rand() % 5 + 0.5) * (rand() % 2 == + 1 ? -1 : 1), + (rand() % 5 + 0.5) * (rand() % 2 == + 1 ? -1 : 1), chara_state29); + } + p->dt1 += 3; + return 0; +} + + +CHARACTER * chara_state29(CHARACTER *p) +{ + p->x += p->vx; + p->y += p->vy; + if(p->dt1 % 18 == 1) + { + Puttama(0, p->x, p->y); + } + p->dt1++; + return 0; +} + + +CHARACTER * chara_state30(CHARACTER *p) +{ + p->x = p->x - 32; + p->y = p->y; + return 0; +} + +CHARACTER * chara_state31(CHARACTER *p) //right hand +{ + + if((enemy_part3->f == FALSE) || (kyeenemyno->f == FALSE)) + { + Bom(p->x, p->y); + p->f = FALSE; + p->state = delete_chara; + p->collision = noaction; + return 0; + } + + if(rinkf1 == 0) + { + p->x = kyeenemyno->x + 40; + p->y = kyeenemyno->y + 28; + p->dt2 = 0; + } + if(rinkf1 == 5) + { + p->x = kyeenemyno->x + 52; + p->y = kyeenemyno->y; + count++; + PutSprite(count, p->x - 4, p->y - 20, 80 + p->dt2 % 4); + p->dt2++; + } + if(rinkf1 == 6) + { + if(p->y < 240 - 40) + { + p->y += 6; + } + else + { + return 0; + } + count++; + PutSprite(count, p->x - 4, p->y - 20, 90 + p->dt2 % 4); + p->dt2++; + } + if(rinkf1 == 7) + { + Putenemy(22, p->x + 14, p->y + 14, 0, 0, chara_state40); + return 0; + } + if(rinkf1 == 11) + { + if(p->y + 20 != p->y) + { + p->y--; + } + else + { + return 0; + } + count++; + PutSprite(count, p->x + 8, p->y + 44, 58 + p->dt2 % 4); + p->dt2++; + } + return 0; +} + + +CHARACTER * chara_state32(CHARACTER *p) //left hand +{ + if ((enemy_part4->f == FALSE) + || (kyeenemyno->f == FALSE)) + { + Bom(p->x, p->y); + p->f = FALSE; + p->state = delete_chara; + p->collision = noaction; + return 0; + } + p->x = kyeenemyno->x - 40; + p->y = kyeenemyno->y + 28; + if (rinkf1 == 5) + { + p->x = kyeenemyno->x - 24 + 4; + p->y = kyeenemyno->y + 28; + p->charano = enemystate[20].charano; + } + if (rinkf1 == 11) + { + p->charano = enemystate[14].charano; + } + if (rinkf1 == 7) + { + Putenemy(23, p->x + 14, + p->y + 14, 0, 0, chara_state41); + // rinkf1=8; + return 0; + } + return 0; +} + + +CHARACTER * chara_state33(CHARACTER *p) // right shoulder +{ + if (kyeenemyno->f == FALSE) + { + Bom(p->x, p->y); + p->f = FALSE; + p->state = delete_chara; + p->collision = noaction; + return 0; + } + p->x = kyeenemyno->x + 32; + p->y = kyeenemyno->y; + if (rinkf1 == 5) + { + p->x = kyeenemyno->x + 32 - 4; + p->y = kyeenemyno->y; + p->charano = enemystate[19].charano; + } + if (rinkf1 == 6) + { + p->charano = enemystate[11].charano; + } + return 0; +} + + +CHARACTER * chara_state34(CHARACTER *p) //left shoulder +{ + if (kyeenemyno->f == FALSE) + { + Bom(p->x, p->y); + p->f = FALSE; + p->state = delete_chara; + p->collision = noaction; + return 0; + } + p->x = kyeenemyno->x - 32; + p->y = kyeenemyno->y; + if (rinkf1 == 5) + { + p->charano = enemystate[21].charano; + } + if (rinkf1 == 6) + { + p->charano = enemystate[12].charano; + } + return 0; +} + +CHARACTER * chara_state35(CHARACTER *p) // bust +{ + if (kyeenemyno->f == FALSE) + { + Bom(p->x, p->y); + p->f = FALSE; + p->state = delete_chara; + p->collision = noaction; + return 0; + } + p->x = kyeenemyno->x; + p->y = kyeenemyno->y + 32; + if (rinkf1 == 1) + { + p->charano = enemystate[16].charano; + } + if (rinkf1 == 2) + { + count++; + PutSprite(count, p->x - 10, + p->y + 16, + 58 + p->dt2 % 4); + count++; + PutSprite(count, p->x + 10, + p->y + 16, + 58 + p->dt2 % 4); + p->dt2++; + } + if (rinkf1 == 3) + { + count++; + PutSprite(count, p->x - 10, + p->y + 16, + 58 + p->dt2 % 4); + count++; + PutSprite(count, p->x + 10, + p->y + 16, + 58 + p->dt2 % 4); + if (p->dt2 % 20 == 1) + { + Puttama(7, p->x, p->y + 16); + Puttama(7, p->x + 20, + p->y + 16); + } + p->dt2++; + } + if (rinkf1 == 4) { + p->charano = enemystate[15].charano; + p->dt2 = 0; + } + return 0; +} + + +CHARACTER * chara_state40(CHARACTER *p) //arm vulkan +{ + if (enemy_part1->f == FALSE) + { + Bom(p->x, p->y); + p->f = FALSE; + p->state = delete_chara; + p->collision = noaction; + return 0; + } + if ((rinkf1 == 8) && (p->dt1 % 3 == 1)) + { + if ((p->dt2 < 16)) + { + p->dt2++; + DefSprite(76, "boss2_rightarm_b", 16, p->dt2, 480, boss); + } + else + { + // rinkf1=9; + return 0; + } + } + if (rinkf1 == 9) + { + if (p->dt1 % 15 == 1) + { + Puttama(8, p->x, p->y); + } + } + if (rinkf1 == 10) + { + if (p->dt2 != 0) + { + p->dt2--; + DefSprite(76, "boss2_rightarm_b", 16, p->dt2, 480, boss); + } + else + { + p->f = FALSE; + p->state = delete_chara; + p->collision = noaction; + // rinkf1=11; + } + } + p->dt1++; + return 0; +} + + +CHARACTER * chara_state41(CHARACTER *p) //left arm up arm vulkan +{ + if (enemy_part2->f == FALSE) + { + Bom(p->x, p->y); + p->f = FALSE; + p->state = delete_chara; + p->collision = noaction; + return 0; + } + p->x = kyeenemyno->x - 20 - 7; + p->y = kyeenemyno->y + 28 + 15; + if ((rinkf1 == 8) && (p->dt1 % 3 == 1)) + { + if ((p->dt2 < 16)) + { + p->dt2++; + DefSprite(77, "boss2_leftarmbattery", p->dt2, 16, 480, boss); /*左腕アップアーム砲 */ + } + else + { + rinkf1 = 9; + return 0; + } + } + if (rinkf1 == 9) + { + if (p->dt1 % 15 == 1) + { + Puttama(9 + rand() % 2, p->x, p->y); + } + } + if (rinkf1 == 10) + { + if (p->dt2 != 0) + { + p->dt2--; + DefSprite(77, "boss2_leftarmbattery", p->dt2, 16, 480, boss); + } + else + { + p->f = FALSE; + p->state = delete_chara; + p->collision = noaction; + return 0; + // rinkf1=11; + } + } + p->dt1++; + return 0; +} + + +CHARACTER * chara_state400(CHARACTER *p) +{ + p->vy++; + p->y += p->vy / 4; + p->state = chara_state400; + return 0; +} + + +CHARACTER * chara_state401(CHARACTER *p) +{ + p->vx++; + p->x += p->vx / 8; + if (p->x > (jiki.x - 32)) + { + p->vy--; + } + p->y += p->vy / 8; + if (p->dt1 % 50 == 37) + { + Puttama(1, p->x + 8, p->y + 24); + } + p->dt1++; + return 0; +} + + +CHARACTER * chara_state402(CHARACTER *p) +{ + p->vx--; + p->x += p->vx / 8; + if (p->x < (jiki.x + 32)) + { + p->vy--; + } + p->y += p->vy / 8; + if (p->dt1 % 50 == 37) + { + Puttama(1, p->x + 8, p->y + 24); + } + p->dt1++; + return 0; +} + + +CHARACTER * chara_state410(CHARACTER *p) +{ + kyeenemyno = p; + p->state = chara_state411; + return 0; +} + + +CHARACTER * chara_state411(CHARACTER *p) +{ + if (p->dt2 > 356) + { + p->vx = -1; + } + if (p->dt2 < -398) + { + p->vx = 1; + } + if ((p->dt1) % 62 == 0) + Putenemy(41, + p->x, + p->y, + (int) -Mycos(p->dt1 / 16) * 4 / + SANKAKU, + (int) -Mysin(p->dt1 / 16) * 4 / + SANKAKU, chara_state7); + if ((p->dt1) % 13 == 0) + Puttama(11, p->x + 32, + p->y + 32); + + p->dt2 += p->vx; + p->dt1 += p->dt2 / 4; + + p->x = jiki.x - 16 + + Mycos(p->dt1 / 16) * 128 / SANKAKU; + p->y = jiki.y - 16 + + Mysin(p->dt1 / 16) * 128 / SANKAKU; + if (p->x < 0) + { + p->x = 0; + } + if (p->x > 260) + { + p->x = 260; + } + if (p->y < 0) + { + p->y = 0; + } + if (p->y > 232) + { + p->y = 232; + } + return 0; +} + + +CHARACTER * chara_state500(CHARACTER *p) +{ + p->s = 0; + + kyeenemyno = p; + p->dt2++; + p->dt2 %= 512; + p->dt1++; + count++; + DefSpriteEx(100, 16, 16); + // PutSprite(count, enemy[tekino].x + 16, + // enemy[tekino].y + 16, 100); + PutSpriteEx(100, p->x + 16, p->y + 16, 2, 2, p->dt1); + + if (p->dt1 % (5 + p->dt2 / 8) == 1) { + if (rand() % 2 == 1) + Putenemy(24, p->x, p->y, + (rand() % 5 + 0.5) * (rand() % 2 == + 1 ? -1 : 1), + (rand() % 5 + 0.5) * (rand() % 2 == + 1 ? -1 : 1), chara_state501); + else + Putenemy(rand() % 2 + 1, p->x, + p->y, + (int) Mycos(p->dt1 / 4) * 4 / + SANKAKU, + (int) -Mysin(p->dt1 / 4) * 4 / + SANKAKU, chara_state501); + } + if (p->dt1 == 50) { + /*Putenemy(44,0,0,1,1,411); */ + } + return 0; +} + + +CHARACTER * chara_state501(CHARACTER *p) +{ + p->x += p->vx; + p->y += p->vy; + if(p->dt1 % 32 == 1) + { + Puttama(11, p->x, p->y); + } + p->dt1++; + return 0; +} + + +CHARACTER * chara_state600(CHARACTER *p) +{ + kyeenemyno = p; + p->dt1 += 30; + p->dt2++; + p->dt1 %= 360; + p->x += Mycos(p->dt1) * 4 / SANKAKU; + p->y += Mysin(p->dt1) * 4 / SANKAKU; + Puttama(11, p->x + 16, p->y + 16); + Puttama(11, p->x + 32, p->y + 48); + Puttama(11, p->x + 48, p->y + 16); + if (p->dt2 > 240) + p->state = chara_state601; + if (p->x < 0) + p->x = 0; + if (p->x > 260) + p->x = 260; + if (p->y < 0) + p->y = 0; + if (p->y > 232) + p->y = 232; + return 0; +} + + +CHARACTER * chara_state601(CHARACTER *p) +{ + p->dt2++; + if (p->x < jiki.x) + p->vx++; + if (p->x > jiki.x) + p->vx--; + p->x += p->vx; + Putenemy(6, p->x + 16 + rand() % 32, + p->y, 0, rand() % 4, chara_state400); + if (p->x < 0) + p->x = 0; + if (p->x > 260) + p->x = 260; + if (p->y < 0) + p->y = 0; + if (p->y > 232) + p->y = 232; + if (p->dt2 > 800) { + p->state = chara_state602; + } + return 0; +} + + +CHARACTER * chara_state602(CHARACTER *p) +{ + p->dt2++; + Putenemy(24, p->x + 14, p->y + 14, + (rand() % 5 + 0.5) * (rand() % 2 == 1 ? -1 : 1), + (rand() % 5 + 0.5) * (rand() % 2 == 1 ? -1 : 1), + chara_state29); + if (p->dt2 > 1024) { + p->state = chara_state600; + p->dt2 = 0; + } + return 0; +} + + +CHARACTER * asteroid(CHARACTER *p) +{ + int i; + + asteroiddt[asteroidi] = p; + // if(asteroidi==0) + // { + p->x += p->vx; + p->y += p->vy; + // } + if (asteroidi > 0) { + for (i = 0; i < asteroidi; i++) { + if ((asteroiddt[i]->x + 32 > p->x) + && (p->x + 32 > asteroiddt[i]->x) + && (asteroiddt[i]->y + 32 > p->y) + && (asteroiddt[i]->y < p->y + 32)) { + p->vx *= -1; + p->vy *= -1; + } + } + } + asteroidi++; + return 0; +}