void SceneGame::start() { Scene::start(); //level = 0; changeGame(GAME_INVADERS); // changeState(STATE_INTRO); }
SummaryPage* SummaryPageController::createSummaryPage(bool therapist) { SummaryPage::Mode mode = therapist ? SummaryPage::TherapistMode : SummaryPage::PatientMode; SummaryPage* page = new SummaryPage(mode); page->setScoreLabelText(tr("This time you scored: ")); CENT::connect(page, SIGNAL(playAgain()), this, SLOT(onPlayAgain())); CENT::connect(page, SIGNAL(nextClicked()), this, SLOT(onNextClicked())); CENT::connect(page, SIGNAL(changeParams()), this, SLOT(onParamsChangeRequest())); CENT::connect(page, SIGNAL(changeGame()), this, SLOT(onChangeGameRequest())); return page; }
void Gamebuino::begin(char* name, const uint8_t *logo) { timePerFrame = 50; nextFrameMillis = 0; frameCount = 0; frameEndMicros = 1; backlight.begin(); buttons.begin(); battery.begin(); sound.begin(); display.begin(SCR_CLK, SCR_DIN, SCR_DC, SCR_CS, SCR_RST); backlight.set(BACKLIGHT_MAX); display.persistance = true; uint8_t offset = 0; if(logo) offset = pgm_read_byte(logo)+2; //offset by the logo width display.setCursor(offset,12); display.print(name); display.drawBitmap(0, 12, logo); sound.play(startupSound, 0); while(1){ if(update()){ if(buttons.pressed(BTN_A)) break; if(buttons.pressed(BTN_B)){ sound.setGlobalVolume(0); } if(!sound.getGlobalVolume()){ display.drawChar(72,31,'x',BLACK, WHITE, 1); } if(buttons.pressed(BTN_C)) changeGame(); } } display.persistance = false; battery.show = true; }
bool SceneGame::update(float deltaTime) { if(!Scene::update(deltaTime)) return false; finished = false; //if(!playing) lastStateChangeTime+=deltaTime; timeSinceLastStateChange = ofGetElapsedTimef() - lastStateChangeTime; if(currentGame == GAME_INVADERS) { if(gameState == STATE_PREINTRO) { if(ofGetElapsedTimef()-lastStateChangeTime>20) { changeState(STATE_INTRO); } } else if((gameState == STATE_INTRO) || (gameState == STATE_WAITING)) { if(ofGetElapsedTimef()-lastStateChangeTime>5) { changeState(STATE_PLAYING); } } else if(gameState == STATE_GAMEOVER) { if(ofGetElapsedTimef()-lastStateChangeTime>5) { changeGame(GAME_ASTEROIDS); } } else if(gameState == STATE_PLAYING) { if(activeInvaders==0) { level++; if(positionSeconds>lengthSeconds/2) { changeState(STATE_GAMEOVER) ; } else { changeState(STATE_WAITING); } } else { updateInvaders(); checkInvaderCollisions(); } } if(gameState == STATE_PLAYING || gameState == STATE_INTRO || gameState == STATE_WAITING) { updateInvaders(); checkInvaderCollisions(); } } else if (currentGame == GAME_ASTEROIDS) { updateAsteroids(deltaTime); if((gameState == STATE_INTRO) || (gameState == STATE_WAITING)) { if(ofGetElapsedTimef()-lastStateChangeTime>5) { changeState(STATE_PLAYING); } } else if(gameState == STATE_PLAYING) { if(activeAsteroids==0) { level++; if(positionSeconds>lengthSeconds-20) { changeState(STATE_GAMEOVER) ; } else { changeState(STATE_WAITING); } } else { checkAsteroidCollisions(); } } else if(gameState == STATE_GAMEOVER) { if((!playing) && (timeSinceLastStateChange>5)) { finished = true; } } } }