Beispiel #1
0
bool FC World::composeFrame(){
	//if(checkLevelComplete()) changeGameState(GameComplete);
	advanceEnemies();
	advanceBullets();
	checkCharacterCollision();
	return true;	
}
Beispiel #2
0
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
}
Beispiel #3
0
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
}