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

Spieler bewegt sich jetzt mit den Booten mit.

Beim betreten von Gras wird der Spieler wird zentriert
parent aea7f016
No related branches found
No related tags found
No related merge requests found
......@@ -81,3 +81,15 @@ int update_character(int speed, SDL_Renderer *renderer){
return(0);
}
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;
return;
}
}
player->x = (i-50) + 8*ROW_SIZE;
}
......@@ -26,4 +26,6 @@ void jump(int);
int update_character(int,SDL_Renderer*);
void recenter_player(void);
#endif
\ No newline at end of file
......@@ -64,7 +64,7 @@ void gameLoop(enum vehicle theme,SDL_Renderer* renderer) {
end_game = move_map(theme,speed,map,renderer);
// Wenn der Spieler nicht im Fenster zu sehen ist, dann wird das Spiel beendet
if(player->y >= SCREEN_HEIGHT){
if(player->y >= SCREEN_HEIGHT || player->x >=SCREEN_WIDTH || player->x <= -60){
end_game = true;
}
......
......@@ -58,7 +58,7 @@ int main(void) {
break;
}
gameLoop(theme,renderer);
change_Map = end_screen(renderer,theme);
change_Map = end_screen(renderer);
}
......
......@@ -105,6 +105,13 @@ int move_map(enum vehicle theme,int delta_y,struct LinkedList *list, SDL_Rendere
while(true){
cur->y_pos += delta_y;
if (cur->y_pos <= player->y && player->y <= cur->y_pos + ROW_SIZE
&& (cur->row_type == waterBrightSingle || cur->row_type == waterBrightMultiple ||
cur->row_type == waterDarkSingle || cur->row_type == waterDarkMultiple)){
player->x += cur->speed;
}
if (paste_row(renderer,cur->y_pos,cur->row_type))
return(-1);
......@@ -114,6 +121,11 @@ int move_map(enum vehicle theme,int delta_y,struct LinkedList *list, SDL_Rendere
}
}
if (cur->y_pos <= player->y && player->y <= cur->y_pos + ROW_SIZE && (cur->row_type == grassBright ||
cur->row_type == grassDark || cur->row_type == finishlineBright || cur->row_type == finishlineDark)){
recenter_player();
}
if (cur->next == NULL){
break;
}
......
......@@ -10,6 +10,7 @@
#include "rows.h"
//#include "gameLoop.h"
#include "output.h"
#include "charac.h"
#include "header.h"
......
......@@ -205,7 +205,7 @@ enum vehicle startscreen(SDL_Renderer* renderer){
/*
*/
bool end_screen(SDL_Renderer* renderer,enum vehicle theme) {
bool end_screen(SDL_Renderer* renderer) {
//Schriftart, -farbe und -groesse festesetzen
......
......@@ -15,7 +15,7 @@
//Declaration of functions
bool end_screen(SDL_Renderer*,enum vehicle);
bool end_screen(SDL_Renderer*);
enum vehicle startscreen(SDL_Renderer*);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment