Mercurial > hg > Members > koba > t_dandy
annotate ppe/chara_state7.cc @ 31:ccb8d9956a1e
add multi container function.
author | koba <koba@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Fri, 31 Dec 2010 19:19:13 +0900 |
parents | c4210c1053e8 |
children | 39e643fc4f90 |
rev | line source |
---|---|
26 | 1 #include "task_base.h" |
2 #include "task_object.h" | |
31
ccb8d9956a1e
add multi container function.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
26
diff
changeset
|
3 #include "../ObjectType.h" |
26 | 4 |
5 SchedDefineTask(State7); | |
6 | |
7 static int | |
8 run(SchedTask *smanager, void *rbuf, void *wbuf) | |
9 { | |
10 CHARACTER *p = (CHARACTER*)smanager->get_input(rbuf, 0); | |
31
ccb8d9956a1e
add multi container function.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
26
diff
changeset
|
11 int length = 1; |
ccb8d9956a1e
add multi container function.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
26
diff
changeset
|
12 |
ccb8d9956a1e
add multi container function.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
26
diff
changeset
|
13 smanager->set_outputSize(1, sizeof(ObjContainer)+sizeof(ObjData)*(length-1)); |
ccb8d9956a1e
add multi container function.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
26
diff
changeset
|
14 smanager->setup_outputData(); |
ccb8d9956a1e
add multi container function.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
26
diff
changeset
|
15 |
ccb8d9956a1e
add multi container function.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
26
diff
changeset
|
16 CHARACTER *q = (CHARACTER*)smanager->get_output(wbuf, 0); |
ccb8d9956a1e
add multi container function.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
26
diff
changeset
|
17 ObjContainerPtr tama = (ObjContainerPtr)smanager->get_output(wbuf, 1); |
ccb8d9956a1e
add multi container function.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
26
diff
changeset
|
18 tama->flag = false; |
26 | 19 |
20 p->x += p->vx; | |
21 p->y += p->vy; | |
22 if((p->dt1 == 60) || (p->dt1 == 90) | |
23 || (p->dt1 == 30)) | |
24 { | |
31
ccb8d9956a1e
add multi container function.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
26
diff
changeset
|
25 tama->flag = true; |
ccb8d9956a1e
add multi container function.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
26
diff
changeset
|
26 tama->type = Tama; |
ccb8d9956a1e
add multi container function.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
26
diff
changeset
|
27 tama->length = length; |
ccb8d9956a1e
add multi container function.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
26
diff
changeset
|
28 |
ccb8d9956a1e
add multi container function.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
26
diff
changeset
|
29 |
ccb8d9956a1e
add multi container function.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
26
diff
changeset
|
30 Puttama(1, p->x, p->y, &tama->data[0]); |
26 | 31 } |
32 p->dt1++; | |
33 p->task = STATE7; | |
31
ccb8d9956a1e
add multi container function.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
26
diff
changeset
|
34 |
ccb8d9956a1e
add multi container function.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
26
diff
changeset
|
35 *q = *p; |
26 | 36 return 0; |
37 } |