Skip to content
Snippets Groups Projects
Commit 7c698a5d authored by Janos's avatar Janos
Browse files

Merge branch 'main' of git.imp.fu-berlin.de:wise2023_jumpnrun/jumpnrun

parents 642ebc1f ed407067
No related branches found
No related tags found
No related merge requests found
...@@ -71,8 +71,8 @@ void jump(int input){ ...@@ -71,8 +71,8 @@ void jump(int input){
/* /*
Vorbedingung:0 < speed <= 20 Vorb.:0 < speed <= 20
Nachbedingung: Der Character bewegt sich mit der Map mit. Nachb.: Der Character bewegt sich mit der Map mit.
*/ */
int update_character(int speed, SDL_Renderer *renderer){ int update_character(int speed, SDL_Renderer *renderer){
...@@ -87,15 +87,16 @@ int update_character(int speed, SDL_Renderer *renderer){ ...@@ -87,15 +87,16 @@ int update_character(int speed, SDL_Renderer *renderer){
return(0); return(0);
} }
// Vorb.: /
// Nachb.: Der Spieler befindet sich in der Mitte des nächsten Kastens
void recenter_player(void){ void recenter_player(void){
int i = 70; int i = 70;
for(int j = 0;j<8;j++){ for(int j = 0;j<8;j++){ // Überprüfe von links nach rechts alle Kästen
if (player->x < i + j*ROW_SIZE){ if (player->x < i + j*ROW_SIZE){ // steht der Spieler links von 70 + Offset (j*ROW_SIZE)
player->x = (i-50) + j*ROW_SIZE; player->x = (i-50) + j*ROW_SIZE; // verschiebe Spieler um 20 nach links + Offset (j*ROW_SIZE)
return; 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
} }
#include "init.h" #include "init.h"
//Lädt Texturen rein
SDL_Texture *img_grassDark; SDL_Texture *img_grassDark;
SDL_Texture *img_grassBright; SDL_Texture *img_grassBright;
SDL_Texture *img_streetSingle; SDL_Texture *img_streetSingle;
...@@ -22,6 +23,8 @@ SDL_Texture *img_duck; ...@@ -22,6 +23,8 @@ SDL_Texture *img_duck;
SDL_Texture *img_3D_Duck; SDL_Texture *img_3D_Duck;
TTF_Font* font; 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) { int init(SDL_Renderer* renderer) {
//Initiiere Text //Initiiere Text
...@@ -55,6 +58,7 @@ int init(SDL_Renderer* renderer) { ...@@ -55,6 +58,7 @@ int init(SDL_Renderer* renderer) {
//Initiierung der Bilder //Initiierung der Bilder
int flags = IMG_INIT_PNG | IMG_INIT_JPG; int flags = IMG_INIT_PNG | IMG_INIT_JPG;
//Fehlerbehandlung
if ((IMG_Init(flags) != flags)) { if ((IMG_Init(flags) != flags)) {
SDL_Log("SDL_Image konnte nicht initialisiert werden! SDL_image Error: %s\n",IMG_GetError()); SDL_Log("SDL_Image konnte nicht initialisiert werden! SDL_image Error: %s\n",IMG_GetError());
return(1); return(1);
...@@ -72,6 +76,8 @@ int init(SDL_Renderer* renderer) { ...@@ -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) { int exitGame(SDL_Renderer* renderer, SDL_Window* window) {
SDL_DestroyRenderer(renderer); SDL_DestroyRenderer(renderer);
SDL_DestroyWindow(window); SDL_DestroyWindow(window);
...@@ -95,6 +101,7 @@ int exitGame(SDL_Renderer* renderer, SDL_Window* window) { ...@@ -95,6 +101,7 @@ int exitGame(SDL_Renderer* renderer, SDL_Window* window) {
SDL_DestroyTexture(img_plank); SDL_DestroyTexture(img_plank);
SDL_DestroyTexture(img_duck); SDL_DestroyTexture(img_duck);
SDL_DestroyTexture(img_3D_Duck); SDL_DestroyTexture(img_3D_Duck);
TTF_CloseFont(font);
SDL_Quit(); SDL_Quit();
return 0; return 0;
......
#include "main.h" #include "main.h"
//V: SDL2 is installed
//N: Game is closed
//E: You played the game
int main(void) { int main(void) {
// Initialiserung des Zufallgenerators // Initialiserung des Zufallgenerators
srand(time(NULL)); srand(time(NULL));
//Initiiert window und renderer
if (SDL_Init(SDL_INIT_VIDEO) != 0){ if (SDL_Init(SDL_INIT_VIDEO) != 0){
SDL_Log("SDL konnte nicht initialisiert werden! SDL_Error: %s\n",SDL_GetError()); SDL_Log("SDL konnte nicht initialisiert werden! SDL_Error: %s\n",SDL_GetError());
return(-1); return(-1);
...@@ -37,19 +41,19 @@ int main(void) { ...@@ -37,19 +41,19 @@ int main(void) {
return(-1); return(-1);
}; };
//Initialisierung der Bilder //Initialisierung der Bilder und Fonts
if (init(renderer)){ if (init(renderer)){
printf("Fehler beim laden der Bilder"); printf("Fehler beim laden der Bilder");
return(-1); return(-1);
} }
//Lädt den Titelbildschirm
title_screen(renderer); title_screen(renderer);
int theme; int theme;
bool change_Map = true; bool change_Map = true;
while (true) { while (true) {
if (change_Map){ if (change_Map){
theme = startscreen(renderer); theme = startscreen(renderer);
} }
......
...@@ -56,7 +56,7 @@ int title_screen(SDL_Renderer* renderer){ ...@@ -56,7 +56,7 @@ int title_screen(SDL_Renderer* renderer){
.x = 0, .x = 0,
.y = SCREEN_HEIGHT/2, .y = SCREEN_HEIGHT/2,
.w = SCREEN_WIDTH, .w = SCREEN_WIDTH,
.h = SCREEN_WIDTH/2}; .h = SCREEN_HEIGHT/2};
if (SDL_RenderFillRect(renderer,&rect_2) != 0){ if (SDL_RenderFillRect(renderer,&rect_2) != 0){
SDL_Log("Malen des Rechtecks fehlgeschlagen! SDL_Error: %s\n", SDL_GetError()); SDL_Log("Malen des Rechtecks fehlgeschlagen! SDL_Error: %s\n", SDL_GetError());
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment