From b6abac5f5e95de517c617183d9c499aabe2f16f9 Mon Sep 17 00:00:00 2001 From: Janos <janol55@zedat.fu-berlin.de> Date: Thu, 28 Mar 2024 10:39:52 +0100 Subject: [PATCH] Auslagerung von h Dateien in einen eigenen Ordner und neue Funktionen zur Initialiserung --- auto.c | 2 +- charac.c | 2 +- file_own.c | 2 +- gameLoop.c | 2 +- auto.h => hDateien/auto.h | 3 -- charac.h => hDateien/charac.h | 0 file_own.h => hDateien/file_own.h | 0 gameLoop.h => hDateien/gameLoop.h | 0 header.h => hDateien/header.h | 0 init.h => hDateien/init.h | 4 ++- main.h => hDateien/main.h | 0 map.h => hDateien/map.h | 0 menu2.h => hDateien/menu2.h | 0 output.h => hDateien/output.h | 0 rows.h => hDateien/rows.h | 0 title_screen.h => hDateien/title_screen.h | 0 init.c | 39 +++++++++++++++++++++-- main.c | 32 ++++--------------- map.c | 2 +- menu2.c | 2 +- output.c | 2 +- rows.c | 7 ++-- title_screen.c | 2 +- 23 files changed, 57 insertions(+), 44 deletions(-) rename auto.h => hDateien/auto.h (86%) rename charac.h => hDateien/charac.h (100%) rename file_own.h => hDateien/file_own.h (100%) rename gameLoop.h => hDateien/gameLoop.h (100%) rename header.h => hDateien/header.h (100%) rename init.h => hDateien/init.h (90%) rename main.h => hDateien/main.h (100%) rename map.h => hDateien/map.h (100%) rename menu2.h => hDateien/menu2.h (100%) rename output.h => hDateien/output.h (100%) rename rows.h => hDateien/rows.h (100%) rename title_screen.h => hDateien/title_screen.h (100%) diff --git a/auto.c b/auto.c index 68b2fb1..61e9f95 100644 --- a/auto.c +++ b/auto.c @@ -1,4 +1,4 @@ -#include "auto.h" +#include "hDateien/auto.h" // Vorbedinung: diff --git a/charac.c b/charac.c index 680acb8..7fe9c87 100644 --- a/charac.c +++ b/charac.c @@ -1,5 +1,5 @@ -#include "charac.h" +#include "hDateien/charac.h" /* Vorbedingung: Es wurde eine Taste gedrückt diff --git a/file_own.c b/file_own.c index 3ef3ac9..5b76570 100644 --- a/file_own.c +++ b/file_own.c @@ -1,4 +1,4 @@ -#include "file_own.h" +#include "hDateien/file_own.h" //V: playerhighscore exists and score.txt exists //N if playerhighscore > current score; playerhighscore is written into corresponding space in score.txt. The rest is rewritten into score.txt (including the theme if playerhighscore < score) diff --git a/gameLoop.c b/gameLoop.c index a9d7ca0..8a67852 100644 --- a/gameLoop.c +++ b/gameLoop.c @@ -1,4 +1,4 @@ -#include "gameLoop.h" +#include "hDateien/gameLoop.h" SDL_Rect *player; diff --git a/auto.h b/hDateien/auto.h similarity index 86% rename from auto.h rename to hDateien/auto.h index 64ea4da..8327cbf 100644 --- a/auto.h +++ b/hDateien/auto.h @@ -6,9 +6,6 @@ #include <stdlib.h> #include <stdbool.h> #include "output.h" -//#include "map.h" -//#include "rows.h" -//#include "gameLoop.h" #include "header.h" //Declarations of functions diff --git a/charac.h b/hDateien/charac.h similarity index 100% rename from charac.h rename to hDateien/charac.h diff --git a/file_own.h b/hDateien/file_own.h similarity index 100% rename from file_own.h rename to hDateien/file_own.h diff --git a/gameLoop.h b/hDateien/gameLoop.h similarity index 100% rename from gameLoop.h rename to hDateien/gameLoop.h diff --git a/header.h b/hDateien/header.h similarity index 100% rename from header.h rename to hDateien/header.h diff --git a/init.h b/hDateien/init.h similarity index 90% rename from init.h rename to hDateien/init.h index 56e6784..42290ca 100644 --- a/init.h +++ b/hDateien/init.h @@ -8,7 +8,9 @@ //Declaration of functions -int init(SDL_Renderer*); +SDL_Window* init_window(void); +SDL_Renderer* init_renderer(SDL_Window*); +int init_images(SDL_Renderer*); int exitGame(SDL_Renderer*,SDL_Window* window); diff --git a/main.h b/hDateien/main.h similarity index 100% rename from main.h rename to hDateien/main.h diff --git a/map.h b/hDateien/map.h similarity index 100% rename from map.h rename to hDateien/map.h diff --git a/menu2.h b/hDateien/menu2.h similarity index 100% rename from menu2.h rename to hDateien/menu2.h diff --git a/output.h b/hDateien/output.h similarity index 100% rename from output.h rename to hDateien/output.h diff --git a/rows.h b/hDateien/rows.h similarity index 100% rename from rows.h rename to hDateien/rows.h diff --git a/title_screen.h b/hDateien/title_screen.h similarity index 100% rename from title_screen.h rename to hDateien/title_screen.h diff --git a/init.c b/init.c index 89b674a..f3be29e 100644 --- a/init.c +++ b/init.c @@ -1,4 +1,4 @@ -#include "init.h" +#include "hDateien/init.h" //Lädt Texturen rein SDL_Texture *img_grassDark; @@ -23,9 +23,44 @@ SDL_Texture *img_duck; SDL_Texture *img_3D_Duck; TTF_Font* font; +SDL_Window* init_window(){ + SDL_Window *window = SDL_CreateWindow("Smashy Roads", SDL_WINDOWPOS_UNDEFINED, + SDL_WINDOWPOS_UNDEFINED, SCREEN_WIDTH, + SCREEN_HEIGHT, SDL_WINDOW_SHOWN); + + if (window == NULL){ + SDL_Log("Es gab einen Fehler beim Erstellen des Fensters! SDL_Error: %s\n",SDL_GetError()); + exit(-1); + } + + return(window); +} + +SDL_Renderer* init_renderer(SDL_Window *window){ + SDL_Renderer *renderer = SDL_CreateRenderer(window, -1, SDL_RENDERER_PRESENTVSYNC); + + if (renderer == NULL) { + SDL_Log("Renderer konnte nicht erstellt werden! SDL_Error: %s\n",SDL_GetError()); + exit(-1); + } + + if (SDL_RenderClear(renderer) != 0) { + SDL_Log("Renderer konnte nicht bereinigt werden! SDL_Error: %s\n",SDL_GetError()); + exit(-1); + } + + if (SDL_SetRenderDrawBlendMode(renderer, SDL_BLENDMODE_BLEND) != 0) { + SDL_Log("Blendmode konnte nicht aktualisiert werden (main.c)! SDL_Error: %s\n",SDL_GetError()); + exit(-1); + } + return(renderer); + +} + + //V: all images and fonts to load are in file images //N: images and fonts have been loaded into renderer -int init(SDL_Renderer* renderer) { +int init_images(SDL_Renderer* renderer) { //Initiiere Text TTF_Init(); diff --git a/main.c b/main.c index f0cacc8..c6552cd 100644 --- a/main.c +++ b/main.c @@ -1,11 +1,13 @@ // v1.0 -#include "main.h" +#include "hDateien/main.h" //V: SDL2 is installed //N: Game is closed //E: You played the game + + int main(void) { // Initialiserung des Zufallgenerators @@ -17,34 +19,12 @@ int main(void) { return(-1); } - SDL_Window *window = SDL_CreateWindow("Smashy Roads", SDL_WINDOWPOS_UNDEFINED, - SDL_WINDOWPOS_UNDEFINED, SCREEN_WIDTH, - SCREEN_HEIGHT, SDL_WINDOW_SHOWN); + SDL_Window *window = init_window(); - if (window == NULL){ - SDL_Log("Es gab einen Fehler beim Erstellen des Fensters! SDL_Error: %s\n",SDL_GetError()); - return(-1); - } - - SDL_Renderer *renderer = SDL_CreateRenderer(window, -1, SDL_RENDERER_PRESENTVSYNC); - - if (renderer == NULL) { - SDL_Log("Renderer konnte nicht erstellt werden! SDL_Error: %s\n",SDL_GetError()); - return(-1); - } - - if (SDL_RenderClear(renderer) != 0) { - SDL_Log("Renderer konnte nicht bereinigt werden! SDL_Error: %s\n",SDL_GetError()); - return(-1); - } - - if (SDL_SetRenderDrawBlendMode(renderer, SDL_BLENDMODE_BLEND) != 0) { - SDL_Log("Blendmode konnte nicht aktualisiert werden (main.c)! SDL_Error: %s\n",SDL_GetError()); - return(-1); - }; + SDL_Renderer *renderer = init_renderer(window); //Initialisierung der Bilder und Fonts - if (init(renderer)){ + if (init_images(renderer)){ printf("Fehler beim laden der Bilder"); return(-1); } diff --git a/map.c b/map.c index ba624c8..61df72a 100644 --- a/map.c +++ b/map.c @@ -1,4 +1,4 @@ -#include "map.h" +#include "hDateien/map.h" // Vorbedingung: 0 <= player->y <= 1000, 0 <= player->x <= 900 diff --git a/menu2.c b/menu2.c index 616f5c5..e71cc0a 100644 --- a/menu2.c +++ b/menu2.c @@ -1,4 +1,4 @@ -#include "menu2.h" +#include "hDateien/menu2.h" // Vorb.: Die Funktion zeigt die möglichen Reihen des Spiels // Nachb.: Wenn man auf eine Reihe klickt, dann wir das Spiel mit einer bestimmten diff --git a/output.c b/output.c index 754b652..976e0d7 100644 --- a/output.c +++ b/output.c @@ -1,4 +1,4 @@ -#include "output.h" +#include "hDateien/output.h" //V: renderer exists, enum row_type is correct and not renamed, correct y coordinates are transferred //N: img corresponding to row_type is set to coordinates: x: 0 to 900 y: y to y+100 and displayed via renderer diff --git a/rows.c b/rows.c index b2bf239..b9674ee 100644 --- a/rows.c +++ b/rows.c @@ -1,5 +1,4 @@ -#include "rows.h" - +#include "hDateien/rows.h" //Vorbedingung: -200<=y_pos<=1000 @@ -116,13 +115,13 @@ struct Row* init_row(struct Row *m){ int p; // Ziellinie erscheint alle 100 Punkte - if(playerhighscore + (player->y/ROW_SIZE) % 100 == 98){ + if((playerhighscore + (player->y/ROW_SIZE)) % 100 == 98){ if (m->row_type != grassDark && m->row_type != waterDarkSingle && m->row_type != waterDarkMultiple){ n = grass(true,true,m->y_pos - ROW_SIZE); }else{ - n = grass(false,true,m->y_pos - 100); + n = grass(false,true,m->y_pos - ROW_SIZE); } // Nach einer Ziellinie kommt immer Gras diff --git a/title_screen.c b/title_screen.c index bf19649..a2d12dd 100644 --- a/title_screen.c +++ b/title_screen.c @@ -1,4 +1,4 @@ -#include "title_screen.h" +#include "hDateien/title_screen.h" /* Vorbindung: Es existiert ein SDL_Renderer Nachbedingung: / -- GitLab