diff ppe/chara_state500.cc @ 38:6626e451a09d

fix random number.
author koba <koba@cr.ie.u-ryukyu.ac.jp>
date Tue, 11 Jan 2011 16:27:01 +0900
parents c122e3d2302e
children e0018f39f7e1 21ac9f57a6d4
line wrap: on
line diff
--- a/ppe/chara_state500.cc	Sun Jan 09 23:14:26 2011 +0900
+++ b/ppe/chara_state500.cc	Tue Jan 11 16:27:01 2011 +0900
@@ -7,6 +7,8 @@
 static int
 state500(SchedTask *smanager, void *rbuf, void *wbuf)
 {
+    int rand = (int)smanager->get_param(0);
+
     CHARACTER *p = (CHARACTER*)smanager->get_input(rbuf, 0);
     int count = *(int*)smanager->get_input(rbuf, 1);
 
@@ -30,14 +32,14 @@
     if (p->dt1 % (5 + p->dt2 / 8) == 1) {
 	sprite->length = 3;
 
-	if (rand() % 2 == 1)
+	if (rand % 2 == 1)
 	    Putenemy(24, p->x, p->y,
-		     (rand() % 5 + 0.5) * (rand() % 2 ==
+		     (rand % 5 + 0.5) * (rand % 2 ==
 					   1 ? -1 : 1),
-		     (rand() % 5 + 0.5) * (rand() % 2 ==
+		     (rand % 5 + 0.5) * (rand % 2 ==
 					   1 ? -1 : 1), STATE501, &sprite->data[2]);
 	else
-	    Putenemy(rand() % 2 + 1, p->x,
+	    Putenemy(rand % 2 + 1, p->x,
 		     p->y,
 		     (int) Mycos(p->dt1 / 4) * 4 /
 		     SANKAKU,