diff options
author | Starla Insigna <starla4444@gmail.com> | 2013-08-28 11:55:44 -0400 |
---|---|---|
committer | Starla Insigna <starla4444@gmail.com> | 2013-08-28 11:55:44 -0400 |
commit | 8973c2cb02f0c501e395381f2f16eb816cc0dfd6 (patch) | |
tree | a06c7756b1e8c9dfb6d83ca06349be8507f4028d /titlestate.cpp | |
parent | 992f4eb1e6d711c1be097ffb1684df9a23e08d54 (diff) | |
download | mazeoflife-8973c2cb02f0c501e395381f2f16eb816cc0dfd6.tar.gz mazeoflife-8973c2cb02f0c501e395381f2f16eb816cc0dfd6.tar.bz2 mazeoflife-8973c2cb02f0c501e395381f2f16eb816cc0dfd6.zip |
Added how to play
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 | } | ||