void showGameTime() { char cronometer[10]; int gameTime = 60 - getGameTime(); if(gameTime <= 0) gameTime = 0; sprintf(cronometer, "Time: %d\0", gameTime); glMatrixMode(GL_MODELVIEW); glPushMatrix(); glLoadIdentity(); glMatrixMode(GL_PROJECTION); glPushMatrix(); glLoadIdentity(); glOrtho(0,3000,0,3000,0,80000); glRasterPos2f(2500, 2800); for(int i = 0; i < strlen(cronometer); i++) glutBitmapCharacter(GLUT_BITMAP_HELVETICA_18, cronometer[i]); glPopMatrix(); glMatrixMode(GL_MODELVIEW); glPopMatrix(); }
void Game::frame() { if( !_initialized ) { // Perform lazy first time initialization _initialized = true; } if( _state == Game::RUNNING ) { // Graphics Rendering. render(); // Update FPS. ++_frameCount; if( (Game::getGameTime() - _frameLastFPS) >= std::chrono::seconds(1) ) { _frameRate = _frameCount; _frameCount = 0; _frameLastFPS = getGameTime(); } } else if( _state == Game::PAUSED ) { render(); } }
void GameWorld::startCutscene() { state->cutsceneStartTime = getGameTime(); state->skipCutscene = false; if (cutsceneAudio.length() > 0) { sound.playMusic(cutsceneAudio); } }
bool GameWorld::isCutsceneDone() { if( state->currentCutscene ) { float time = getGameTime() - state->cutsceneStartTime; if( state->skipCutscene ) { return true; } return time > state->currentCutscene->tracks.duration; } return true; }
void Game::updateOnce() { GP_ASSERT(_animationController); GP_ASSERT(_audioController); GP_ASSERT(_physicsController); GP_ASSERT(_aiController); // Update Time. static double lastFrameTime = getGameTime(); double frameTime = getGameTime(); float elapsedTime = (frameTime - lastFrameTime); lastFrameTime = frameTime; // Update the internal controllers. _animationController->update(elapsedTime); _physicsController->update(elapsedTime); _aiController->update(elapsedTime); _audioController->update(elapsedTime); _scriptController->update(elapsedTime); }
void Game::updateOnce() { GP_ASSERT(_animationController); GP_ASSERT(_audioController); GP_ASSERT(_physicsController); GP_ASSERT(_aiController); // Update Time. static double lastFrameTime = getGameTime(); double frameTime = getGameTime(); float elapsedTime = (frameTime - lastFrameTime); lastFrameTime = frameTime; // Update the internal controllers. _animationController->update(elapsedTime); _physicsController->update(elapsedTime); _aiController->update(elapsedTime); _audioController->update(elapsedTime); if (_scriptTarget) _scriptTarget->fireScriptEvent<void>(GP_GET_SCRIPT_EVENT(GameScriptTarget, update), elapsedTime); }
void LuckyLeprechauns::onGameOver(unsigned char winner) { if (winner != player->getPlayerId()) camera->setLeprechaun(&((PlayerController*)remotePlayers[winner])->getLeprechaun()); player->BasicComponent::setEnabled(false); camera->setViewOnly(true); gameOver = true; gameOverTime.total = getGameTime().total; gameOverTime.elapsed = 0.0f; ((LLGuiManager&)getGuiManager()).setWinner(winner); }
void GameTimer::frame(){ static int frameCnt = 0; static float t_base = 0.0f; frameCnt++; // Compute averages over one second period. if( (getGameTime() - t_base) >= 1.0f ) { mFps = frameCnt; // fps = frameCnt / 1 // Reset for next average. frameCnt = 0; t_base += 1.0f; } }
ConnectMesgServerGameSettings* GameManager::getServerGameSetup() { ConnectMesgServerGameSettings* game_setup = new ConnectMesgServerGameSettings(); game_setup->setMaxPlayers(gameconfig->maxplayers); game_setup->setMaxUnits(gameconfig->maxunits); snprintf(game_setup->map_name, 32, "%s", gameconfig->map.c_str()); game_setup->setCloudCoverage(gameconfig->cloudcoverage); game_setup->setWindSpeed(gameconfig->windspeed); game_setup->setGameType(gameconfig->gametype); game_setup->powerup_state = gameconfig->powerups; game_setup->setFragLimit(gameconfig->fraglimit); game_setup->setTimeLimit(gameconfig->timelimit); game_setup->setElapsedTime(getGameTime()); return game_setup; }
void CubeTest::update(float elapsedTime) { // Rotate model _scene->findNode("box")->rotateZ(MATH_DEG_TO_RAD((float)elapsedTime / 3000.0f * 180.0f)); float dscale = 1.0f + .25f*sinf(MATH_DEG_TO_RAD((float)getGameTime() / 200.0f * 180.0f)); _scene->findNode("box")->setScale(dscale); Node * camNode = _camera->getNode(); if( _wDown ) camNode->translateForward(.2f); if( _sDown ) camNode->translateForward(-.2f); if( _aDown ) { if( _ctrlDown ) camNode->rotateY(.02f); else camNode->translateLeft(.2f); } if( _dDown ) { if( _ctrlDown ) camNode->rotateY(-.02f); else camNode->translateLeft(-.2f); } if( _rDown ) { if( _ctrlDown ) camNode->rotateX(.02f); else camNode->translateUp(.2f); } if( _fDown ) { if( _ctrlDown ) camNode->rotateX(-.02f); else camNode->translateUp(-.2f); } }
void Game::schedule(float timeOffset, TimeListener* timeListener, void* cookie) { GP_ASSERT(_timeEvents); TimeEvent timeEvent(getGameTime() + timeOffset, timeListener, cookie); _timeEvents->push(timeEvent); }
void Game::frame() { if (!_initialized) { // Perform lazy first time initialization initialize(); if (_scriptTarget) _scriptTarget->fireScriptEvent<void>(GP_GET_SCRIPT_EVENT(GameScriptTarget, initialize)); _initialized = true; // Fire first game resize event Platform::resizeEventInternal(_width, _height); } static double lastFrameTime = Game::getGameTime(); double frameTime = getGameTime(); // Fire time events to scheduled TimeListeners fireTimeEvents(frameTime); if (_state == Game::RUNNING) { GP_ASSERT(_animationController); GP_ASSERT(_audioController); GP_ASSERT(_physicsController); GP_ASSERT(_aiController); // Update Time. float elapsedTime = (frameTime - lastFrameTime); lastFrameTime = frameTime; // Update the scheduled and running animations. _animationController->update(elapsedTime); // Update the physics. _physicsController->update(elapsedTime); // Update AI. _aiController->update(elapsedTime); // Update gamepads. Gamepad::updateInternal(elapsedTime); // Application Update. update(elapsedTime); // Update forms. Form::updateInternal(elapsedTime); // Run script update. if (_scriptTarget) _scriptTarget->fireScriptEvent<void>(GP_GET_SCRIPT_EVENT(GameScriptTarget, update), elapsedTime); // Audio Rendering. _audioController->update(elapsedTime); // Graphics Rendering. render(elapsedTime); // Run script render. if (_scriptTarget) _scriptTarget->fireScriptEvent<void>(GP_GET_SCRIPT_EVENT(GameScriptTarget, render), elapsedTime); // Update FPS. ++_frameCount; if ((Game::getGameTime() - _frameLastFPS) >= 1000) { _frameRate = _frameCount; _frameCount = 0; _frameLastFPS = getGameTime(); } } else if (_state == Game::PAUSED) { // Update gamepads. Gamepad::updateInternal(0); // Application Update. update(0); // Update forms. Form::updateInternal(0); // Script update. if (_scriptTarget) _scriptTarget->fireScriptEvent<void>(GP_GET_SCRIPT_EVENT(GameScriptTarget, update), 0); // Graphics Rendering. render(0); // Script render. if (_scriptTarget) _scriptTarget->fireScriptEvent<void>(GP_GET_SCRIPT_EVENT(GameScriptTarget, render), 0); } }
int main(int argc, char *argv[]) { char c; int status = 0; printf("Hello World, I'm game!\n"); status = init_display(); if (status != 0) { printf("Error: Failed to init display\n"); return status; } status = init_driver(); if (status != 0) { printf("Error: Failed to init driver\n"); destroy_display(); return status; } status = setup_handler(); if (status != 0) { printf("Error: Failed to init signal handler\n"); destroy_display(); close(file_gamepad_driver); return status; } time_handler(); /* Intializes random number generator */ srand((unsigned) time(&t)); sigset_t myset; (void) sigemptyset(&myset); while(1) { clear_LCD(); draw_game(); draw_score(p1_score, p2_score); redraw(); waitForButton(); printf("start game\n"); while((p1_score < 5) && (p2_score < 5)) { random_timer = (rand() % 3) + 2; startTimer(random_timer); waitForTimer(); random_button = (rand() % 4); draw_button(random_button, true, RED); redraw(); gettimeofday(&time_button_appears, NULL); // start timer startTimer(3); buf = 0; while((playerButtonPressed(random_button) == 0) && (timer_expired == false)) { waitForButton(); } stopTimer(); if (timer_expired == false) { time_elapsed = getGameTime(); draw_time(time_elapsed, BLUE); redraw(); } if (playerButtonPressed(random_button) == P1) { p1_score++; p1_time += time_elapsed; } else if (playerButtonPressed(random_button) == P2) { p2_score++; p2_time += time_elapsed; } draw_score(p1_score, p2_score); reset_button(random_button); redraw(); } // draw winner button_pressed = 0; if (p1_score == 5) { winner = P1; winner_time = p1_time; } else if (p2_score == 5) { winner = P2; winner_time = p2_time; } while(button_pressed == 0) { startTimer(1); winner_blink(winner, winner_time); waitForTimer(); } // print waiting waitForButton(); p1_score = 0; p1_time = 0; p2_score = 0; p2_time = 0; } }
void updateState() { if(gameBegins) { if(walkPressed) if(!game_map.checkObstacleCollision(Character::forwards)) game_map.player.walk(Character::forwards); if(backPressed) if(!game_map.checkObstacleCollision(Character::backwards)) game_map.player.walk(Character::backwards); if(rotateLeftPressed) game_map.player.walk(Character::rotateLeft); if(rotateRightPressed) game_map.player.walk(Character::rotateRight); if(makeCrackPressed) game_map.makeCrack(); if(pushPressed) game_map.push(getGameTime()); if(changeCamera) { cam.changeCam(game_map.player); changeCamera = false; } } else { if(!cam.isInitialCam()) { initialTime = clock(); gameBegins = true; } } game_map.moveEnemies(); if(game_map.isPlayerDead(getGameTime())) { if(!hasPlayerLost) PlaySound("Sounds\\pacman_death.wav", NULL, SND_ASYNC|SND_FILENAME); hasPlayerLost = true; if(flattener <= 0.0f) exit(0); } if(game_map.playerWon()) { if(!isPlayerWinner) PlaySound("Sounds\\10_Wild_Pokemon_Defeated.wav", NULL, SND_ASYNC|SND_FILENAME); isPlayerWinner = true; if(DiglettHeadBangs > 0) DiglettHeadBangs--; else exit(0); } }