Mercurial > hg > Members > koba > t_dandy
comparison spe/chara_state4.cc @ 49:f4140672ef9f
fix.
author | koba <koba@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Fri, 21 Jan 2011 22:18:28 +0900 |
parents | c330ded6d728 |
children | cfd42ee2ad28 |
comparison
equal
deleted
inserted
replaced
45:e01948ce859a | 49:f4140672ef9f |
---|---|
1 #include "chara_state3.h" | 1 #include "task_base.h" |
2 #include "tobject.h" | 2 #include "task_object.h" |
3 | 3 |
4 SchedDefineTask(STATE4); | 4 SchedDefineTask1(State4, state4); |
5 | 5 |
6 static int | 6 static int |
7 run(SchedTask *smanager, void *rbuf, void *wbuf) | 7 state4(SchedTask *smanager, void *rbuf, void *wbuf) |
8 { | 8 { |
9 CHARACTER *p = (CHARACTER*)smanager->get_input(rbuf, 0); | 9 CHARACTER *p = (CHARACTER*)smanager->get_input(rbuf, 0); |
10 CHARACTER *q = (CHARACTER*)smanager->get_output(wbuf, 0); | |
11 player *jiki = (player*)smanager->get_input(rbuf, 1); | |
10 | 12 |
11 p->y += p->vy; | 13 p->y += p->vy; |
12 p->x += p->vx; | 14 p->x += p->vx; |
13 if(p->y < jiki.y && p->y + 16 > jiki.y) | 15 if(p->y < jiki->y && p->y + 16 > jiki->y) |
14 { | 16 { |
15 p->vy = -2; | 17 p->vy = -2; |
16 p->vx = ((jiki.x > p->x) ? 4 : -4); | 18 p->vx = ((jiki->x > p->x) ? 4 : -4); |
17 p->task = STATE7; | 19 p->task = STATE7; |
18 } | 20 } |
19 else p->task = STATE4; | 21 else p->task = STATE4; |
20 smanager->swap(); | 22 |
23 *q = *p; | |
21 return 0; | 24 return 0; |
22 } | 25 } |