diff options
Diffstat (limited to 'titlestate.cpp')
| -rw-r--r-- | titlestate.cpp | 92 |
1 files changed, 90 insertions, 2 deletions
| 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) | |||
| 35 | switch (selection) | 35 | switch (selection) |
| 36 | { | 36 | { |
| 37 | case 0: return new GameState(); | 37 | case 0: return new GameState(); |
| 38 | //case 1: return new HowToPlayState(); | 38 | case 1: return new HowToPlayState(); |
| 39 | case 2: return new ChooseHighscoreListState(); | 39 | case 2: return new ChooseHighscoreListState(); |
| 40 | case 3: return NULL; | 40 | case 3: return NULL; |
| 41 | } | 41 | } |
| @@ -43,4 +43,92 @@ State* TitleState::operator() (SDL_Renderer* renderer) | |||
| 43 | } | 43 | } |
| 44 | } | 44 | } |
| 45 | } | 45 | } |
| 46 | } \ No newline at end of file | 46 | } |
| 47 | |||
| 48 | State* HowToPlayState::operator() (SDL_Renderer* renderer) | ||
| 49 | { | ||
| 50 | SDL_Texture* background = loadImage(renderer, "resources/htp1.bmp"); | ||
| 51 | SDL_Texture* pointer = loadImage(renderer, "resources/pointer.bmp"); | ||
| 52 | int selection = 0; | ||
| 53 | SDL_Event e; | ||
| 54 | |||
| 55 | for (;;) | ||
| 56 | { | ||
| 57 | SDL_RenderClear(renderer); | ||
| 58 | SDL_RenderCopy(renderer, background, NULL, NULL); | ||
| 59 | applyTexture(renderer, pointer, selection==0?74:216, 430); | ||
| 60 | SDL_RenderPresent(renderer); | ||
| 61 | |||
| 62 | while (SDL_PollEvent(&e)) | ||
| 63 | { | ||
| 64 | if (e.type == SDL_QUIT) | ||
| 65 | { | ||
| 66 | return NULL; | ||
| 67 | } else if (e.type == SDL_KEYDOWN) | ||
| 68 | { | ||
| 69 | if ((e.key.keysym.sym == SDLK_LEFT) && (selection != 0)) | ||
| 70 | { | ||
| 71 | selection--; | ||
| 72 | } else if ((e.key.keysym.sym == SDLK_RIGHT) && (selection != 1)) | ||
| 73 | { | ||
| 74 | selection++; | ||
| 75 | } else if (e.key.keysym.sym == SDLK_RETURN) | ||
| 76 | { | ||
| 77 | switch (selection) | ||
| 78 | { | ||
| 79 | case 0: | ||
| 80 | return new HowToPlayPageTwoState(); | ||
| 81 | |||
| 82 | break; | ||
| 83 | case 1: | ||
| 84 | return new TitleState(); | ||
| 85 | } | ||
| 86 | } | ||
| 87 | } | ||
| 88 | } | ||
| 89 | } | ||
| 90 | } | ||
| 91 | |||
| 92 | State* HowToPlayPageTwoState::operator() (SDL_Renderer* renderer) | ||
| 93 | { | ||
| 94 | SDL_Texture* background = loadImage(renderer, "resources/htp2.bmp"); | ||
| 95 | SDL_Texture* pointer = loadImage(renderer, "resources/pointer.bmp"); | ||
| 96 | int selection = 0; | ||
| 97 | SDL_Event e; | ||
| 98 | |||
| 99 | for (;;) | ||
| 100 | { | ||
| 101 | SDL_RenderClear(renderer); | ||
| 102 | SDL_RenderCopy(renderer, background, NULL, NULL); | ||
| 103 | applyTexture(renderer, pointer, selection==0?45:238, 430); | ||
| 104 | SDL_RenderPresent(renderer); | ||
| 105 | |||
| 106 | while (SDL_PollEvent(&e)) | ||
| 107 | { | ||
| 108 | if (e.type == SDL_QUIT) | ||
| 109 | { | ||
| 110 | return NULL; | ||
| 111 | } else if (e.type == SDL_KEYDOWN) | ||
| 112 | { | ||
| 113 | if ((e.key.keysym.sym == SDLK_LEFT) && (selection != 0)) | ||
| 114 | { | ||
| 115 | selection--; | ||
| 116 | } else if ((e.key.keysym.sym == SDLK_RIGHT) && (selection != 1)) | ||
| 117 | { | ||
| 118 | selection++; | ||
| 119 | } else if (e.key.keysym.sym == SDLK_RETURN) | ||
| 120 | { | ||
| 121 | switch (selection) | ||
| 122 | { | ||
| 123 | case 0: | ||
| 124 | return new HowToPlayState(); | ||
| 125 | |||
| 126 | break; | ||
| 127 | case 1: | ||
| 128 | return new TitleState(); | ||
| 129 | } | ||
| 130 | } | ||
| 131 | } | ||
| 132 | } | ||
| 133 | } | ||
| 134 | } | ||
