Esempio n. 1
0
void CityUpdater::run(){
    currentTimer.start();
    Timer<CityUpdater> generateTimer(this, 1), advanceTimer(this, 0), buildingTimer(this, 4), roadBlockTimer(this, 20), payTimer(this, 48), cityTimer(this);
    generateTimer.setFunc(CityUpdater::runGenerateVisitors);
    advanceTimer.setFunc(CityUpdater::runMakeVisitorsAdvance);
    buildingTimer.setFunc(CityUpdater::runUpdateBuidlings);
    payTimer.setFunc(CityUpdater::runMakeOwnersPay);
    cityTimer.setFunc(CityUpdater::runUpdateCity);
    roadBlockTimer.setFunc(CityUpdater::runUpdateRoadBlocks);
    generateTimer.start();advanceTimer.start();buildingTimer.start();roadBlockTimer.start();payTimer.start();/*cityTimer.start();*/
    currentTimer.join();
    generateTimer.cancel();advanceTimer.cancel();buildingTimer.cancel();roadBlockTimer.cancel();payTimer.cancel();/*cityTimer.join();*/
    Player* player;
    Player* winner = nullptr;
    for(int i = 0;i<8;i++){
        player = (*playerVectorPtr)[i];
        if(winner == nullptr){
            winner = player;
        }else if(player != nullptr){
            winner = player->getMoney() > winner->getMoney() ? player : winner;
        }
    }
    std::cout<<"Winner is "<<(winner != nullptr ? winner->getNickName() : "None")<<std::endl;


}
Esempio n. 2
0
void
Tetris::manageFallen()
{
	field->fallingToLaying();
	games_sound_play ("land");

	int levelBefore = scoreFrame->getLevel();

	int levelAfter = scoreFrame->scoreLines (field->checkFullLines());
	if (levelAfter != levelBefore)
		games_sound_play ("gnometris");
	if ((levelBefore != levelAfter) || fastFall)
		generateTimer(levelAfter);

	if (field->isFieldEmpty ())
		scoreFrame->scoreLastLineBonus ();

	generate();
}