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