Added challenge mode

This commit is contained in:
2025-12-20 13:08:16 +01:00
parent fd29ae271e
commit 34447f0245
15 changed files with 535 additions and 1227 deletions

View File

@ -703,7 +703,12 @@ void TetrisApp::Impl::runLoop()
}
} else {
if (e.key.scancode == SDL_SCANCODE_RETURN || e.key.scancode == SDL_SCANCODE_KP_ENTER || e.key.scancode == SDL_SCANCODE_SPACE) {
game->reset(startLevelSelection);
if (game->getMode() == GameMode::Challenge) {
game->startChallengeRun(1);
} else {
game->setMode(GameMode::Endless);
game->reset(startLevelSelection);
}
state = AppState::Playing;
stateMgr->setState(state);
} else if (e.key.scancode == SDL_SCANCODE_ESCAPE) {
@ -732,6 +737,14 @@ void TetrisApp::Impl::runLoop()
if (menuInput.activated) {
switch (*menuInput.activated) {
case ui::BottomMenuItem::Play:
if (game) game->setMode(GameMode::Endless);
startMenuPlayTransition();
break;
case ui::BottomMenuItem::Challenge:
if (game) {
game->setMode(GameMode::Challenge);
game->startChallengeRun(1);
}
startMenuPlayTransition();
break;
case ui::BottomMenuItem::Level: