diff --git a/charac.c b/charac.c index 518fc22a5682490794820fcde2e6e2008ada5863..e44b41a592f54c218e54705b9d8de5f0a3a5b569 100644 --- a/charac.c +++ b/charac.c @@ -71,8 +71,8 @@ void jump(int input){ /* -Vorbedingung:0 < speed <= 20 -Nachbedingung: Der Character bewegt sich mit der Map mit. +Vorb.:0 < speed <= 20 +Nachb.: Der Character bewegt sich mit der Map mit. */ int update_character(int speed, SDL_Renderer *renderer){ @@ -87,15 +87,16 @@ int update_character(int speed, SDL_Renderer *renderer){ return(0); } - +// Vorb.: / +// Nachb.: Der Spieler befindet sich in der Mitte des nächsten Kastens void recenter_player(void){ int i = 70; - for(int j = 0;j<8;j++){ - if (player->x < i + j*ROW_SIZE){ - player->x = (i-50) + j*ROW_SIZE; + for(int j = 0;j<8;j++){ // Überprüfe von links nach rechts alle Kästen + if (player->x < i + j*ROW_SIZE){ // steht der Spieler links von 70 + Offset (j*ROW_SIZE) + player->x = (i-50) + j*ROW_SIZE; // verschiebe Spieler um 20 nach links + Offset (j*ROW_SIZE) return; } } - player->x = (i-50) + 8*ROW_SIZE; + player->x = (i-50) + 8*ROW_SIZE; // Spieler steht ganz rechts, dann verschiebe um 20 nach links mit Offset von 8 Kästen } diff --git a/init.c b/init.c index b64d8e79739c022dc52ca0f88f96ecd217f0b65f..89b674a4758dae83f344e87107c640e3286ab58d 100644 --- a/init.c +++ b/init.c @@ -1,5 +1,6 @@ #include "init.h" +//Lädt Texturen rein SDL_Texture *img_grassDark; SDL_Texture *img_grassBright; SDL_Texture *img_streetSingle; @@ -22,6 +23,8 @@ SDL_Texture *img_duck; SDL_Texture *img_3D_Duck; TTF_Font* font; +//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) { //Initiiere Text @@ -55,6 +58,7 @@ int init(SDL_Renderer* renderer) { //Initiierung der Bilder int flags = IMG_INIT_PNG | IMG_INIT_JPG; + //Fehlerbehandlung if ((IMG_Init(flags) != flags)) { SDL_Log("SDL_Image konnte nicht initialisiert werden! SDL_image Error: %s\n",IMG_GetError()); return(1); @@ -72,6 +76,8 @@ int init(SDL_Renderer* renderer) { } +//V: renderer, window and images have been loaded, fonts +//N: frees space of window, renderer and images, fonts int exitGame(SDL_Renderer* renderer, SDL_Window* window) { SDL_DestroyRenderer(renderer); SDL_DestroyWindow(window); @@ -95,6 +101,7 @@ int exitGame(SDL_Renderer* renderer, SDL_Window* window) { SDL_DestroyTexture(img_plank); SDL_DestroyTexture(img_duck); SDL_DestroyTexture(img_3D_Duck); + TTF_CloseFont(font); SDL_Quit(); return 0; diff --git a/main.c b/main.c index 5e0716371871faa50a965ea549bd0e702b5f9767..6a97d0f9d2a9770402da038ee4fb3aaec46de5a0 100644 --- a/main.c +++ b/main.c @@ -1,11 +1,15 @@ #include "main.h" +//V: SDL2 is installed +//N: Game is closed +//E: You played the game int main(void) { // Initialiserung des Zufallgenerators srand(time(NULL)); + //Initiiert window und renderer if (SDL_Init(SDL_INIT_VIDEO) != 0){ SDL_Log("SDL konnte nicht initialisiert werden! SDL_Error: %s\n",SDL_GetError()); return(-1); @@ -37,19 +41,19 @@ int main(void) { return(-1); }; - //Initialisierung der Bilder + //Initialisierung der Bilder und Fonts if (init(renderer)){ printf("Fehler beim laden der Bilder"); return(-1); } + //Lädt den Titelbildschirm title_screen(renderer); int theme; bool change_Map = true; while (true) { - if (change_Map){ theme = startscreen(renderer); } diff --git a/title_screen.c b/title_screen.c index 758acddc6dd2b0e28ef69b6ffff287aea5497883..89f6873102ccfe388e766ece6e09f656d909c6cd 100644 --- a/title_screen.c +++ b/title_screen.c @@ -56,7 +56,7 @@ int title_screen(SDL_Renderer* renderer){ .x = 0, .y = SCREEN_HEIGHT/2, .w = SCREEN_WIDTH, - .h = SCREEN_WIDTH/2}; + .h = SCREEN_HEIGHT/2}; if (SDL_RenderFillRect(renderer,&rect_2) != 0){ SDL_Log("Malen des Rechtecks fehlgeschlagen! SDL_Error: %s\n", SDL_GetError());