Example #1
0
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;
}
Example #3
0
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;
}
Example #4
0
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;
			}
		}
	}
}