33
|
1 #include "task_base.h"
|
|
2 #include "task_object.h"
|
|
3
|
|
4 SchedDefineTask1(State10, state10);
|
|
5
|
|
6 static int
|
|
7 state10(SchedTask *smanager, void *rbuf, void *wbuf)
|
|
8 {
|
|
9 int rinkx = (int)smanager->get_param(0);
|
|
10 int rinky = (int)smanager->get_param(1);
|
|
11
|
|
12 CHARACTER *p = (CHARACTER*)smanager->get_input(rbuf, 0);
|
|
13 CHARACTER *q = (CHARACTER*)smanager->get_output(wbuf, 0);
|
|
14
|
|
15 if(p->dt1 < 48)
|
|
16 {
|
|
17 p->x += p->vx;
|
|
18 p->y += p->vy;
|
|
19 p->dt1++;
|
|
20
|
57
|
21 p->state_task = STATE10;
|
33
|
22 *q = *p;
|
|
23 return 0;
|
|
24 }
|
|
25 int *w_rinkf1 = (int*)smanager->get_output(wbuf, 1);
|
|
26
|
|
27 *w_rinkf1 = 1;
|
|
28 p->dt1 = rinkx;
|
|
29 p->dt2 = rinky;
|
|
30
|
57
|
31 p->state_task = STATE13;
|
33
|
32 *q = *p;
|
|
33 return 0;
|
|
34 }
|