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) {
}
//Lädt den Titelbildschirm
title_screen(renderer);
if (title_screen(renderer)){
exitGame(renderer,window);
return(0);
}
int theme;
bool change_Map = true;
int change_Map = 1;
while (true) {
if (change_Map){
......@@ -63,6 +66,9 @@ int main(void) {
if (gameLoop(theme,renderer))
break;
change_Map = end_screen(renderer);
if (change_Map == 2 || change_Map == -1){
break;
}
}
......
......@@ -206,7 +206,7 @@ enum vehicle startscreen(SDL_Renderer* renderer){
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
*/
bool end_screen(SDL_Renderer* renderer) {
int end_screen(SDL_Renderer* renderer) {
//Schriftart, -farbe und -groesse festesetzen
......@@ -258,24 +258,23 @@ bool end_screen(SDL_Renderer* renderer) {
switch (e.type) {
//fclose(my_file);
case SDL_QUIT:
exit(0);
return(2); // Spiel wird geschlossen
case SDL_KEYDOWN:
input = e.key.keysym.scancode;
if (input == y) {
SDL_FreeSurface(surfaceMessage);
SDL_DestroyTexture(Message);
quit = true;
return(false);
return(0);
}
if (input == n) {
SDL_FreeSurface(surfaceMessage);
SDL_DestroyTexture(Message);
return(true);
return(1);
}
}
}
}
return(true);
return(1);
}
......@@ -15,7 +15,7 @@
//Declaration of functions
bool end_screen(SDL_Renderer*);
int end_screen(SDL_Renderer*);
enum vehicle startscreen(SDL_Renderer*);
......
......@@ -100,7 +100,7 @@ int title_screen(SDL_Renderer* renderer){
while (SDL_PollEvent(&e)) {
switch (e.type) {
case SDL_QUIT:
exit(0);
return(1);
case SDL_KEYDOWN:
return(0);
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment