diff options
Diffstat (limited to '')
| -rw-r--r-- | src/main.cpp | 31 | 
1 files changed, 28 insertions, 3 deletions
diff --git a/src/main.cpp b/src/main.cpp index 74b1adf..3136318 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -35,13 +35,31 @@ int main(void) {          {              break ;          } +        case (NEXT): +        { +            if (IsKeyPressed(KEY_ENTER)) +            { +                gs = TITLE; +                std::string next("../meta/maps/"); +                next += game->getNext(); + +                delete game; +                if (next != "0") { +                    game = new Game(next); +                } +            } +            break ; +        }          case (ENDING):          {              if (IsKeyPressed(KEY_ENTER))              {                  gs = TITLE; +                auto next = game->getNext();                  delete game; -                game = new Game("../meta/maps/stage_1_start.bfm"); +                if (next != "0") { +                    game = new Game("../meta/maps/stage_1_start.bfm"); +                }              }              break ;          } @@ -59,12 +77,19 @@ int main(void) {          }          case (GAMEPLAY):          { -            if (game->getKeys()) { -                gs = ENDING; +            if (auto code = game->getKeys()) { +                if (code == 1) +                    gs = ENDING; +                else if (code == 2) +                    gs = NEXT;              }              game->draw();              break ;          } +        case (NEXT): +        { +            break ; +        }          case (ENDING):          {              DrawCircle(SCREENWIDTH / 2, SCREENHEIGHT / 2, 200, BLACK);  | 
