Skip to content
Snippets Groups Projects
Commit 363fb027 authored by Michael's avatar Michael
Browse files

Merge remote-tracking branch 'refs/remotes/origin/main'

parents 17fd323d e26609f2
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
} }
...@@ -115,17 +115,17 @@ int move_map(enum vehicle theme,int delta_y,struct LinkedList *list, SDL_Rendere ...@@ -115,17 +115,17 @@ int move_map(enum vehicle theme,int delta_y,struct LinkedList *list, SDL_Rendere
if (paste_row(renderer,cur->y_pos,cur->row_type)) if (paste_row(renderer,cur->y_pos,cur->row_type))
return(-1); return(-1);
if (cur->cars != NULL){
if (move_car(renderer,cur) && cur->y_pos <= player->y && player->y <= cur->y_pos + ROW_SIZE){
return(1);
}
}
if (cur->y_pos <= player->y && player->y <= cur->y_pos + ROW_SIZE && (cur->row_type == grassBright || 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)){ cur->row_type == grassDark || cur->row_type == finishlineBright || cur->row_type == finishlineDark)){
recenter_player(); recenter_player();
} }
else if (cur->cars != NULL){
if (move_car(renderer,cur) && cur->y_pos <= player->y && player->y <= cur->y_pos + ROW_SIZE){
return(1);
}
}
if (cur->next == NULL){ if (cur->next == NULL){
break; break;
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment