From 8973c2cb02f0c501e395381f2f16eb816cc0dfd6 Mon Sep 17 00:00:00 2001 From: Starla Insigna Date: Wed, 28 Aug 2013 11:55:44 -0400 Subject: Added how to play --- titlestate.cpp | 92 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 90 insertions(+), 2 deletions(-) (limited to 'titlestate.cpp') diff --git a/titlestate.cpp b/titlestate.cpp index 177a4c8..bf966ea 100644 --- a/titlestate.cpp +++ b/titlestate.cpp @@ -35,7 +35,7 @@ State* TitleState::operator() (SDL_Renderer* renderer) switch (selection) { case 0: return new GameState(); - //case 1: return new HowToPlayState(); + case 1: return new HowToPlayState(); case 2: return new ChooseHighscoreListState(); case 3: return NULL; } @@ -43,4 +43,92 @@ State* TitleState::operator() (SDL_Renderer* renderer) } } } -} \ No newline at end of file +} + +State* HowToPlayState::operator() (SDL_Renderer* renderer) +{ + SDL_Texture* background = loadImage(renderer, "resources/htp1.bmp"); + SDL_Texture* pointer = loadImage(renderer, "resources/pointer.bmp"); + int selection = 0; + SDL_Event e; + + for (;;) + { + SDL_RenderClear(renderer); + SDL_RenderCopy(renderer, background, NULL, NULL); + applyTexture(renderer, pointer, selection==0?74:216, 430); + SDL_RenderPresent(renderer); + + while (SDL_PollEvent(&e)) + { + if (e.type == SDL_QUIT) + { + return NULL; + } else if (e.type == SDL_KEYDOWN) + { + if ((e.key.keysym.sym == SDLK_LEFT) && (selection != 0)) + { + selection--; + } else if ((e.key.keysym.sym == SDLK_RIGHT) && (selection != 1)) + { + selection++; + } else if (e.key.keysym.sym == SDLK_RETURN) + { + switch (selection) + { + case 0: + return new HowToPlayPageTwoState(); + + break; + case 1: + return new TitleState(); + } + } + } + } + } +} + +State* HowToPlayPageTwoState::operator() (SDL_Renderer* renderer) +{ + SDL_Texture* background = loadImage(renderer, "resources/htp2.bmp"); + SDL_Texture* pointer = loadImage(renderer, "resources/pointer.bmp"); + int selection = 0; + SDL_Event e; + + for (;;) + { + SDL_RenderClear(renderer); + SDL_RenderCopy(renderer, background, NULL, NULL); + applyTexture(renderer, pointer, selection==0?45:238, 430); + SDL_RenderPresent(renderer); + + while (SDL_PollEvent(&e)) + { + if (e.type == SDL_QUIT) + { + return NULL; + } else if (e.type == SDL_KEYDOWN) + { + if ((e.key.keysym.sym == SDLK_LEFT) && (selection != 0)) + { + selection--; + } else if ((e.key.keysym.sym == SDLK_RIGHT) && (selection != 1)) + { + selection++; + } else if (e.key.keysym.sym == SDLK_RETURN) + { + switch (selection) + { + case 0: + return new HowToPlayState(); + + break; + case 1: + return new TitleState(); + } + } + } + } + } +} -- cgit 1.4.1