diff ppe/chara_state10.cc @ 33:39e643fc4f90

moving stage1.
author koba <koba@cr.ie.u-ryukyu.ac.jp>
date Wed, 05 Jan 2011 14:41:26 +0900
parents
children 978097c6427a 21ac9f57a6d4
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/ppe/chara_state10.cc	Wed Jan 05 14:41:26 2011 +0900
@@ -0,0 +1,34 @@
+#include "task_base.h"
+#include "task_object.h"
+
+SchedDefineTask1(State10, state10);
+
+static int
+state10(SchedTask *smanager, void *rbuf, void *wbuf)
+{
+    int rinkx = (int)smanager->get_param(0);
+    int rinky = (int)smanager->get_param(1);
+
+    CHARACTER *p = (CHARACTER*)smanager->get_input(rbuf, 0);
+    CHARACTER *q = (CHARACTER*)smanager->get_output(wbuf, 0);
+    
+    if(p->dt1 < 48)
+    {
+	p->x += p->vx;
+	p->y += p->vy;
+	p->dt1++;
+
+	p->task = STATE10;
+	*q = *p;
+	return 0;
+    }
+    int *w_rinkf1 = (int*)smanager->get_output(wbuf, 1);
+
+    *w_rinkf1 = 1;
+    p->dt1 = rinkx;
+    p->dt2 = rinky;
+    
+    p->task = STATE13;
+    *q = *p;
+    return 0;
+}