Skip to content
Snippets Groups Projects
Commit 238488fb authored by Janos's avatar Janos
Browse files

Korrekte Fehlerbehandlung und das Spiel wird immer richtig verlassen

parent 7c698a5d
No related branches found
No related tags found
No related merge requests found
...@@ -48,10 +48,13 @@ int main(void) { ...@@ -48,10 +48,13 @@ int main(void) {
} }
//Lädt den Titelbildschirm //Lädt den Titelbildschirm
title_screen(renderer); if (title_screen(renderer)){
exitGame(renderer,window);
return(0);
}
int theme; int theme;
bool change_Map = true; int change_Map = 1;
while (true) { while (true) {
if (change_Map){ if (change_Map){
...@@ -63,6 +66,9 @@ int main(void) { ...@@ -63,6 +66,9 @@ int main(void) {
if (gameLoop(theme,renderer)) if (gameLoop(theme,renderer))
break; break;
change_Map = end_screen(renderer); change_Map = end_screen(renderer);
if (change_Map == 2 || change_Map == -1){
break;
}
} }
......
...@@ -206,7 +206,7 @@ enum vehicle startscreen(SDL_Renderer* renderer){ ...@@ -206,7 +206,7 @@ enum vehicle startscreen(SDL_Renderer* renderer){
Vorb.: Das Spiel ist angehalten und es wird "Nochmal (y)/(n)" angezeigt Vorb.: Das Spiel ist angehalten und es wird "Nochmal (y)/(n)" angezeigt
Nachb.: Das Spiel wird erneut gestartet, wenn y gedrückt wird. Wenn n gedrückt wird, wird die Levelauswahl geöffnet Nachb.: Das Spiel wird erneut gestartet, wenn y gedrückt wird. Wenn n gedrückt wird, wird die Levelauswahl geöffnet
*/ */
bool end_screen(SDL_Renderer* renderer) { int end_screen(SDL_Renderer* renderer) {
//Schriftart, -farbe und -groesse festesetzen //Schriftart, -farbe und -groesse festesetzen
...@@ -258,24 +258,23 @@ bool end_screen(SDL_Renderer* renderer) { ...@@ -258,24 +258,23 @@ bool end_screen(SDL_Renderer* renderer) {
switch (e.type) { switch (e.type) {
//fclose(my_file); //fclose(my_file);
case SDL_QUIT: case SDL_QUIT:
exit(0); return(2); // Spiel wird geschlossen
case SDL_KEYDOWN: case SDL_KEYDOWN:
input = e.key.keysym.scancode; input = e.key.keysym.scancode;
if (input == y) { if (input == y) {
SDL_FreeSurface(surfaceMessage); SDL_FreeSurface(surfaceMessage);
SDL_DestroyTexture(Message); SDL_DestroyTexture(Message);
quit = true; return(0);
return(false);
} }
if (input == n) { if (input == n) {
SDL_FreeSurface(surfaceMessage); SDL_FreeSurface(surfaceMessage);
SDL_DestroyTexture(Message); SDL_DestroyTexture(Message);
return(true); return(1);
} }
} }
} }
} }
return(true); return(1);
} }
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
//Declaration of functions //Declaration of functions
bool end_screen(SDL_Renderer*); int end_screen(SDL_Renderer*);
enum vehicle startscreen(SDL_Renderer*); enum vehicle startscreen(SDL_Renderer*);
......
...@@ -100,7 +100,7 @@ int title_screen(SDL_Renderer* renderer){ ...@@ -100,7 +100,7 @@ int title_screen(SDL_Renderer* renderer){
while (SDL_PollEvent(&e)) { while (SDL_PollEvent(&e)) {
switch (e.type) { switch (e.type) {
case SDL_QUIT: case SDL_QUIT:
exit(0); return(1);
case SDL_KEYDOWN: case SDL_KEYDOWN:
return(0); return(0);
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment