void myidle (void) { register int i, tail; if (marktime) marktime--; for (i = 0; i < curworms; i++) { /* first find tail */ tail = (worms[i].head + 1) % SEGMENTS; /* erase tail */ glColor3f(0.0, 0.0, 0.0); drawCircle(worms[i].segx[tail], worms[i].segy[tail], SEG_RADIUS); /* update head segment position and head pointer */ updateWorm(&worms[i]); /* draw head */ glColor3fv(worms[i].color); drawCircle(worms[i].segx[worms[i].head], worms[i].segy[worms[i].head], SEG_RADIUS); }; glFlush(); return; }
void updateWorms( WORMS_T *worms) { uint16_t i = 0; for (i = 0 ; i < worms->size ; i++) { WORM_T *worm = &(worms->worms[i]); updateWorm(worm, &(worms->image)); } }