summary refs log tree commit diff stats
path: root/titlestate.cpp
diff options
context:
space:
mode:
authorStar Rauchenberger <fefferburbia@gmail.com>2023-11-02 09:17:25 -0400
committerStar Rauchenberger <fefferburbia@gmail.com>2023-11-02 09:17:25 -0400
commit45d6e635c880a7fae8711fba366519dd314d9faf (patch)
treea7c5e254938161727c8ba191ad68f801f1f0f2bb /titlestate.cpp
parent4e8f554286593ec8aca6c61fa0fb9c4934bd640c (diff)
downloadmazeoflife-45d6e635c880a7fae8711fba366519dd314d9faf.tar.gz
mazeoflife-45d6e635c880a7fae8711fba366519dd314d9faf.tar.bz2
mazeoflife-45d6e635c880a7fae8711fba366519dd314d9faf.zip
Formatted source code
Diffstat (limited to 'titlestate.cpp')
-rw-r--r--titlestate.cpp216
1 files changed, 99 insertions, 117 deletions
diff --git a/titlestate.cpp b/titlestate.cpp index 014b138..166a55b 100644 --- a/titlestate.cpp +++ b/titlestate.cpp
@@ -1,134 +1,116 @@
1#include "titlestate.h" 1#include "titlestate.h"
2#include "util.h" 2
3#include "gamestate.h" 3#include "gamestate.h"
4#include "hslist.h" 4#include "hslist.h"
5#include "util.h"
5 6
6State* TitleState::operator() (SDL_Window* window, SDL_Renderer* renderer) 7State* TitleState::operator()(SDL_Window* window, SDL_Renderer* renderer) {
7{ 8 SDL_Texture* background = loadImage(renderer, "resources/title.bmp");
8 SDL_Texture* background = loadImage(renderer, "resources/title.bmp"); 9 SDL_Texture* pointer = loadImage(renderer, "resources/pointer.bmp");
9 SDL_Texture* pointer = loadImage(renderer, "resources/pointer.bmp"); 10 int selection = 0;
10 int selection = 0; 11 SDL_Event e;
11 SDL_Event e;
12 12
13 for (;;) 13 for (;;) {
14 { 14 SDL_RenderClear(renderer);
15 SDL_RenderClear(renderer); 15 SDL_RenderCopy(renderer, background, NULL, NULL);
16 SDL_RenderCopy(renderer, background, NULL, NULL); 16 applyTexture(renderer, pointer, 136,
17 applyTexture(renderer, pointer, 136, selection==0?316:(selection==1?350:(selection==2?381:417))); 17 selection == 0
18 SDL_RenderPresent(renderer); 18 ? 316
19 : (selection == 1 ? 350 : (selection == 2 ? 381 : 417)));
20 SDL_RenderPresent(renderer);
19 21
20 while (SDL_PollEvent(&e)) 22 while (SDL_PollEvent(&e)) {
21 { 23 if (e.type == SDL_QUIT) {
22 if (e.type == SDL_QUIT) 24 return NULL;
23 { 25 } else if (e.type == SDL_KEYDOWN) {
24 return NULL; 26 if ((e.key.keysym.sym == SDLK_UP) && (selection != 0)) {
25 } else if (e.type == SDL_KEYDOWN) 27 selection--;
26 { 28 } else if ((e.key.keysym.sym == SDLK_DOWN) && (selection != 3)) {
27 if ((e.key.keysym.sym == SDLK_UP) && (selection != 0)) 29 selection++;
28 { 30 } else if (e.key.keysym.sym == SDLK_RETURN) {
29 selection--; 31 switch (selection) {
30 } else if ((e.key.keysym.sym == SDLK_DOWN) && (selection != 3)) 32 case 0:
31 { 33 return new GameState();
32 selection++; 34 case 1:
33 } else if (e.key.keysym.sym == SDLK_RETURN) 35 return new HowToPlayState();
34 { 36 case 2:
35 switch (selection) 37 return new ChooseHighscoreListState();
36 { 38 case 3:
37 case 0: return new GameState(); 39 return NULL;
38 case 1: return new HowToPlayState(); 40 }
39 case 2: return new ChooseHighscoreListState(); 41 }
40 case 3: return NULL; 42 }
41 } 43 }
42 } 44 }
43 }
44 }
45 }
46} 45}
47 46
48State* HowToPlayState::operator() (SDL_Window* window, SDL_Renderer* renderer) 47State* HowToPlayState::operator()(SDL_Window* window, SDL_Renderer* renderer) {
49{ 48 SDL_Texture* background = loadImage(renderer, "resources/htp1.bmp");
50 SDL_Texture* background = loadImage(renderer, "resources/htp1.bmp"); 49 SDL_Texture* pointer = loadImage(renderer, "resources/pointer.bmp");
51 SDL_Texture* pointer = loadImage(renderer, "resources/pointer.bmp"); 50 int selection = 0;
52 int selection = 0; 51 SDL_Event e;
53 SDL_Event e;
54 52
55 for (;;) 53 for (;;) {
56 { 54 SDL_RenderClear(renderer);
57 SDL_RenderClear(renderer); 55 SDL_RenderCopy(renderer, background, NULL, NULL);
58 SDL_RenderCopy(renderer, background, NULL, NULL); 56 applyTexture(renderer, pointer, selection == 0 ? 74 : 216, 430);
59 applyTexture(renderer, pointer, selection==0?74:216, 430); 57 SDL_RenderPresent(renderer);
60 SDL_RenderPresent(renderer);
61 58
62 while (SDL_PollEvent(&e)) 59 while (SDL_PollEvent(&e)) {
63 { 60 if (e.type == SDL_QUIT) {
64 if (e.type == SDL_QUIT) 61 return NULL;
65 { 62 } else if (e.type == SDL_KEYDOWN) {
66 return NULL; 63 if ((e.key.keysym.sym == SDLK_LEFT) && (selection != 0)) {
67 } else if (e.type == SDL_KEYDOWN) 64 selection--;
68 { 65 } else if ((e.key.keysym.sym == SDLK_RIGHT) && (selection != 1)) {
69 if ((e.key.keysym.sym == SDLK_LEFT) && (selection != 0)) 66 selection++;
70 { 67 } else if (e.key.keysym.sym == SDLK_RETURN) {
71 selection--; 68 switch (selection) {
72 } else if ((e.key.keysym.sym == SDLK_RIGHT) && (selection != 1)) 69 case 0:
73 { 70 return new HowToPlayPageTwoState();
74 selection++;
75 } else if (e.key.keysym.sym == SDLK_RETURN)
76 {
77 switch (selection)
78 {
79 case 0:
80 return new HowToPlayPageTwoState();
81 71
82 break; 72 break;
83 case 1: 73 case 1:
84 return new TitleState(); 74 return new TitleState();
85 } 75 }
86 } 76 }
87 } 77 }
88 } 78 }
89 } 79 }
90} 80}
91 81
92State* HowToPlayPageTwoState::operator() (SDL_Window* window, SDL_Renderer* renderer) 82State* HowToPlayPageTwoState::operator()(SDL_Window* window,
93{ 83 SDL_Renderer* renderer) {
94 SDL_Texture* background = loadImage(renderer, "resources/htp2.bmp"); 84 SDL_Texture* background = loadImage(renderer, "resources/htp2.bmp");
95 SDL_Texture* pointer = loadImage(renderer, "resources/pointer.bmp"); 85 SDL_Texture* pointer = loadImage(renderer, "resources/pointer.bmp");
96 int selection = 0; 86 int selection = 0;
97 SDL_Event e; 87 SDL_Event e;
98 88
99 for (;;) 89 for (;;) {
100 { 90 SDL_RenderClear(renderer);
101 SDL_RenderClear(renderer); 91 SDL_RenderCopy(renderer, background, NULL, NULL);
102 SDL_RenderCopy(renderer, background, NULL, NULL); 92 applyTexture(renderer, pointer, selection == 0 ? 45 : 238, 430);
103 applyTexture(renderer, pointer, selection==0?45:238, 430); 93 SDL_RenderPresent(renderer);
104 SDL_RenderPresent(renderer);
105 94
106 while (SDL_PollEvent(&e)) 95 while (SDL_PollEvent(&e)) {
107 { 96 if (e.type == SDL_QUIT) {
108 if (e.type == SDL_QUIT) 97 return NULL;
109 { 98 } else if (e.type == SDL_KEYDOWN) {
110 return NULL; 99 if ((e.key.keysym.sym == SDLK_LEFT) && (selection != 0)) {
111 } else if (e.type == SDL_KEYDOWN) 100 selection--;
112 { 101 } else if ((e.key.keysym.sym == SDLK_RIGHT) && (selection != 1)) {
113 if ((e.key.keysym.sym == SDLK_LEFT) && (selection != 0)) 102 selection++;
114 { 103 } else if (e.key.keysym.sym == SDLK_RETURN) {
115 selection--; 104 switch (selection) {
116 } else if ((e.key.keysym.sym == SDLK_RIGHT) && (selection != 1)) 105 case 0:
117 { 106 return new HowToPlayState();
118 selection++;
119 } else if (e.key.keysym.sym == SDLK_RETURN)
120 {
121 switch (selection)
122 {
123 case 0:
124 return new HowToPlayState();
125 107
126 break; 108 break;
127 case 1: 109 case 1:
128 return new TitleState(); 110 return new TitleState();
129 } 111 }
130 } 112 }
131 } 113 }
132 } 114 }
133 } 115 }
134} 116}