player animation
This commit is contained in:
@@ -147,10 +147,10 @@ char canIGoDirection (char valueOfNCase, char valueOfNPlusOneCase)
|
||||
* \param direction La direction que le joueur veut effectuer.
|
||||
* \param score_user Toutes les données nécessaire pour calculer le score fini
|
||||
* du joueur.
|
||||
* \return Void
|
||||
* \return int return 1 si le joueur n'a pas bouger.
|
||||
*
|
||||
*/
|
||||
void move (char **tab, vect *playerPos, vect direction, score *score_user)
|
||||
int move (char **tab, vect *playerPos, vect direction, score *score_user)
|
||||
{
|
||||
short int valueOfNCase
|
||||
= tab[playerPos->x + direction.x][playerPos->y + direction.y];
|
||||
@@ -179,6 +179,7 @@ void move (char **tab, vect *playerPos, vect direction, score *score_user)
|
||||
{
|
||||
case 0:
|
||||
playAudio(2);
|
||||
return 1;
|
||||
break;
|
||||
case 1:
|
||||
//move player
|
||||
@@ -251,6 +252,7 @@ void move (char **tab, vect *playerPos, vect direction, score *score_user)
|
||||
playerPos->x = playerPos->x + direction.x;
|
||||
playerPos->y = playerPos->y + direction.y;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -303,7 +305,7 @@ int inGameLoop (char **tab2d, vect *dim_tab, vect *playerPos, vect *targets,
|
||||
char input;
|
||||
bool finish = false;
|
||||
SDL_Event event;
|
||||
screenDisplayGameSDL (tab2d, *dim_tab, display_user, playerPos, fov);
|
||||
screenDisplayGameSDL (tab2d, *dim_tab, display_user, playerPos, fov,direction);
|
||||
while (!finish)
|
||||
{
|
||||
while (SDL_PollEvent (&event))
|
||||
@@ -346,9 +348,10 @@ int inGameLoop (char **tab2d, vect *dim_tab, vect *playerPos, vect *targets,
|
||||
direction.x = 0;
|
||||
direction.y = 0;
|
||||
}
|
||||
move (tab2d, playerPos, direction, score_user);
|
||||
int tmp = move (tab2d, playerPos, direction, score_user);
|
||||
if(tmp == 1){direction.x = 0; direction.y = 0;}
|
||||
screenDisplayGameSDL (tab2d, *dim_tab, display_user, playerPos,
|
||||
fov);
|
||||
fov,direction);
|
||||
if (!menu)
|
||||
{
|
||||
|
||||
@@ -503,7 +506,7 @@ int inEditorLoop (char **tab2d, vect *dim_tab, vect *playerPos, vect *targets,
|
||||
char input;
|
||||
bool finish = false;
|
||||
SDL_Event event;
|
||||
screenDisplayGameSDL (tab2d, *dim_tab, display_user, playerPos, fov);
|
||||
screenDisplayGameSDL (tab2d, *dim_tab, display_user, playerPos, fov,direction);
|
||||
|
||||
|
||||
int GRID_SIZE = 20;
|
||||
@@ -544,7 +547,7 @@ int inEditorLoop (char **tab2d, vect *dim_tab, vect *playerPos, vect *targets,
|
||||
tab2d[row][col] += 1;
|
||||
}
|
||||
// Met à jour l'affichage
|
||||
screenDisplayGameSDL (tab2d, *dim_tab, display_user, playerPos, fov);
|
||||
screenDisplayGameSDL (tab2d, *dim_tab, display_user, playerPos, fov,direction);
|
||||
}
|
||||
}
|
||||
if (event.button.button == SDL_BUTTON_RIGHT) {
|
||||
@@ -570,7 +573,7 @@ int inEditorLoop (char **tab2d, vect *dim_tab, vect *playerPos, vect *targets,
|
||||
tab2d[row][col] -= 1;
|
||||
}
|
||||
// Met à jour l'affichage
|
||||
screenDisplayGameSDL (tab2d, *dim_tab, display_user, playerPos, fov);
|
||||
screenDisplayGameSDL (tab2d, *dim_tab, display_user, playerPos, fov,direction);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -609,9 +612,10 @@ int inEditorLoop (char **tab2d, vect *dim_tab, vect *playerPos, vect *targets,
|
||||
direction.x = 0;
|
||||
direction.y = 0;
|
||||
}
|
||||
move (tab2d, playerPos, direction, score_user);
|
||||
int tmp = move (tab2d, playerPos, direction, score_user);
|
||||
if(tmp == 1){direction.x = 0; direction.y = 0;}
|
||||
screenDisplayGameSDL (tab2d, *dim_tab, display_user, playerPos,
|
||||
fov);
|
||||
fov,direction);
|
||||
|
||||
}
|
||||
|
||||
@@ -941,7 +945,7 @@ void winOrLoseLoop(dis *display_user,score *score_user, bool win)
|
||||
displayImage(display_user->renderer, texture, pos, display_user->size_window);
|
||||
|
||||
char text[50] = "";
|
||||
snprintf(text, 50, "Score : %u",scoreCalculator(score_user, win));
|
||||
snprintf(text, 50, "Score : %u",scoreCalculatorCyp(score_user, win));
|
||||
vect pos_score = {10, (display_user->size_window*3) / 4};
|
||||
vect size_score = {display_user->size_window / 4, display_user->size_window - 10};
|
||||
displayTextSDL(display_user, text , pos_score, size_score, 80);
|
||||
@@ -976,5 +980,17 @@ unsigned int scoreCalculator(score *score_user, bool win)
|
||||
return result;
|
||||
}
|
||||
|
||||
unsigned int scoreCalculatorCyp(score *score_user, bool win)
|
||||
{
|
||||
unsigned short int result = 0; //plus grand nombre
|
||||
int time = score_user->after - score_user->before;
|
||||
result += (score_user->move_box + score_user->move_player) * time;
|
||||
if (!win)
|
||||
{
|
||||
result /= 50;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user