bool FC World::composeFrame(){ //if(checkLevelComplete()) changeGameState(GameComplete); advanceEnemies(); advanceBullets(); checkCharacterCollision(); return true; }
void idle(void) { int time, delta; time = glutGet(GLUT_ELAPSED_TIME); if (resuming) { lastTime = time; resuming = 0; } if (left) { delta = time - leftTime; angle = angle + delta * 0.4; leftTime = time; } if (right) { delta = time - rightTime; angle = angle - delta * 0.4; rightTime = time; } if (thrust) { delta = time - thrustTime; v = delta * 0.00004; xv = xv + cos(angle*M_PI/180.0) * v; yv = yv + sin(angle*M_PI/180.0) * v; thrustTime = time; } delta = time - lastTime; x = x + xv * delta; y = y + yv * delta; x = x / MAX_X; x = (x - floor(x))*MAX_X; y = y / MAX_Y; y = (y - floor(y))*MAX_Y; lastTime = time; advanceRocks(delta); advanceBullets(delta, time); collideBullets(); glutPostWindowRedisplay(currentWindow); /* let's not waste time running at eccessive framerates */ if (delta > 1.0/(float)MAX_FRAMERATE) { sleeptime -= 1; if (sleeptime < 1) sleeptime = 0; } else { sleeptime += 1; if (sleeptime > MAX_SLEEPTIME) sleeptime = MAX_SLEEPTIME; } #if 0 usleep(sleeptime); #endif }
void idle(void) { int time, delta; time = lastTime + 10; // XXX = glutGet(GLUT_ELAPSED_TIME); if (resuming) { time = lastTime = 0; // lastTime = time; resuming = 0; } if (left) { delta = time - leftTime; angle = angle + delta * 0.4; leftTime = time; } if (right) { delta = time - rightTime; angle = angle - delta * 0.4; rightTime = time; } if (thrust) { delta = time - thrustTime; v = delta * 0.00004; xv = xv + cos(angle*M_PI/180.0) * v; yv = yv + sin(angle*M_PI/180.0) * v; thrustTime = time; } delta = time - lastTime; x = x + xv * delta; y = y + yv * delta; x = x / 40.0; x = (x - floor(x))*40.0; y = y / 40.0; y = (y - floor(y))*40.0; lastTime = time; advanceBullets(delta, time); thrust = shield = left = right = 0; // XXX should be on keyup }