clang
This commit is contained in:
@@ -182,7 +182,7 @@ void move (char **tab, vect *playerPos, vect direction, score *score_user)
|
||||
case 2:
|
||||
// move player and the box
|
||||
|
||||
tab[playerPos->x + direction.x][playerPos->y + direction.y] = PLAYER;
|
||||
tab[playerPos->x + direction.x][playerPos->y + direction.y] = PLAYER;
|
||||
tab[playerPos->x + direction.x * 2][playerPos->y + direction.y * 2]
|
||||
= BOX;
|
||||
score_user->move_box++;
|
||||
@@ -220,7 +220,8 @@ tab[playerPos->x + direction.x][playerPos->y + direction.y] = PLAYER;
|
||||
score_user->move_box++;
|
||||
break;
|
||||
case 7:
|
||||
tab[playerPos->x + direction.x][playerPos->y + direction.y] = PLAYER_ON_BUTTON;
|
||||
tab[playerPos->x + direction.x][playerPos->y + direction.y]
|
||||
= PLAYER_ON_BUTTON;
|
||||
break;
|
||||
default:
|
||||
printf ("Commande inconnue !\n");
|
||||
@@ -232,7 +233,7 @@ tab[playerPos->x + direction.x][playerPos->y + direction.y] = PLAYER;
|
||||
{
|
||||
tab[playerPos->x][playerPos->y] = TARGET;
|
||||
}
|
||||
else if(playerState == PLAYER_ON_BUTTON)
|
||||
else if (playerState == PLAYER_ON_BUTTON)
|
||||
{
|
||||
tab[playerPos->x][playerPos->y] = BUTTON;
|
||||
}
|
||||
@@ -247,7 +248,7 @@ tab[playerPos->x + direction.x][playerPos->y + direction.y] = PLAYER;
|
||||
|
||||
/**
|
||||
*
|
||||
* \brief La fonction permet de faire la boucle de jeu.
|
||||
* \brief La fonction permet de faire la boucle de jeu et le menu.
|
||||
* \param tab2d Le tableau 2d carre.
|
||||
* \param N LE nombre d'element de tab2d.
|
||||
* \param playerPos La position de depart du joueur.
|
||||
@@ -257,10 +258,12 @@ tab[playerPos->x + direction.x][playerPos->y + direction.y] = PLAYER;
|
||||
* \param display_user Tout les information SDL pour afficher le jeu.
|
||||
* \param score_user Toute les données nécessaire pour calculer le score fini
|
||||
* du joueur.
|
||||
* \return Void
|
||||
*\param menu True si c'est la loop du menu.
|
||||
* \return L'indice de la map si c'est un menu, sinon renvoie -1
|
||||
*/
|
||||
int inGameLoop (char **tab2d, vect *dim_tab, vect *playerPos, vect *targets,
|
||||
int nbr_targets, dis *display_user, score *score_user, bool menu)
|
||||
int nbr_targets, dis *display_user, score *score_user,
|
||||
bool menu)
|
||||
{
|
||||
int fov = -1;
|
||||
int indice_button = -1;
|
||||
@@ -276,9 +279,12 @@ int inGameLoop (char **tab2d, vect *dim_tab, vect *playerPos, vect *targets,
|
||||
= { (display_user->size_window / 3) * 2 + 10,
|
||||
display_user->size_window - display_user->size_menu + 10 };
|
||||
|
||||
if (menu) fov = 5;
|
||||
else{
|
||||
displayTextSDL (display_user, "MP : 0", coor_move_player, size_menu, 50);
|
||||
if (menu)
|
||||
fov = 5;
|
||||
else
|
||||
{
|
||||
displayTextSDL (display_user, "MP : 0", coor_move_player, size_menu,
|
||||
50);
|
||||
displayTextSDL (display_user, "MB : 0", coor_move_box, size_menu, 50);
|
||||
}
|
||||
|
||||
@@ -320,14 +326,16 @@ int inGameLoop (char **tab2d, vect *dim_tab, vect *playerPos, vect *targets,
|
||||
direction.y = 0;
|
||||
break;
|
||||
case SDL_SCANCODE_RETURN:
|
||||
if (tab2d[playerPos->x][playerPos->y] == PLAYER_ON_BUTTON) return indice_button;
|
||||
if (tab2d[playerPos->x][playerPos->y] == PLAYER_ON_BUTTON)
|
||||
return indice_button;
|
||||
break;
|
||||
default:
|
||||
direction.x = 0;
|
||||
direction.y = 0;
|
||||
}
|
||||
move (tab2d, playerPos, direction, score_user);
|
||||
screenDisplayGameSDL (tab2d, *dim_tab, display_user, playerPos, fov);
|
||||
screenDisplayGameSDL (tab2d, *dim_tab, display_user, playerPos,
|
||||
fov);
|
||||
if (!menu)
|
||||
{
|
||||
|
||||
@@ -337,9 +345,9 @@ int inGameLoop (char **tab2d, vect *dim_tab, vect *playerPos, vect *targets,
|
||||
snprintf (nbr_b, 20, "MB : %d", score_user->move_box);
|
||||
|
||||
displayTextSDL (display_user, nbr_p, coor_move_player,
|
||||
size_menu, 50);
|
||||
displayTextSDL (display_user, nbr_b, coor_move_box, size_menu,
|
||||
50);
|
||||
size_menu, 50);
|
||||
displayTextSDL (display_user, nbr_b, coor_move_box,
|
||||
size_menu, 50);
|
||||
if (isWin (tab2d, targets, nbr_targets))
|
||||
{
|
||||
puts ("Win!");
|
||||
@@ -350,36 +358,49 @@ int inGameLoop (char **tab2d, vect *dim_tab, vect *playerPos, vect *targets,
|
||||
puts ("lose!");
|
||||
finish = true;
|
||||
}
|
||||
|
||||
}
|
||||
else if (tab2d[playerPos->x][playerPos->y] == PLAYER_ON_BUTTON)
|
||||
{
|
||||
vect size_txt = {display_user->size_menu, display_user->size_window};
|
||||
char txt_empty[100] = " ";
|
||||
displayTextSDL (display_user, txt_empty, coor_time, size_txt, 100);
|
||||
vect size_txt = { display_user->size_menu,
|
||||
display_user->size_window };
|
||||
char txt_empty[100]
|
||||
= " "
|
||||
" ";
|
||||
displayTextSDL (display_user, txt_empty, coor_time,
|
||||
size_txt, 100);
|
||||
char txt_button[50] = "";
|
||||
indice_button = playerPos->y / 5;
|
||||
if(indice_button <= 3)
|
||||
if (indice_button <= 3)
|
||||
{
|
||||
snprintf(txt_button, 50, "Voulez-vous faire le niveau Original %d ?", indice_button );
|
||||
snprintf (txt_button, 50,
|
||||
"Voulez-vous faire le niveau Original %d ?",
|
||||
indice_button);
|
||||
}
|
||||
else if (indice_button == dim_tab->y /5)
|
||||
else if (indice_button == dim_tab->y / 5)
|
||||
{
|
||||
snprintf(txt_button, 50, "Voulez-vous faire une map Custom (%d)?", indice_button-3);
|
||||
snprintf (txt_button, 50,
|
||||
"Voulez-vous faire une map Custom (%d)?",
|
||||
indice_button - 3);
|
||||
}
|
||||
else
|
||||
{
|
||||
snprintf(txt_button, 50, "Voulez-vous faire le niveau Custom %d ?", indice_button - 3);
|
||||
snprintf (txt_button, 50,
|
||||
"Voulez-vous faire le niveau Custom %d ?",
|
||||
indice_button - 3);
|
||||
}
|
||||
displayTextSDL (display_user, txt_button, coor_time, size_txt, 50);
|
||||
displayTextSDL (display_user, txt_button, coor_time,
|
||||
size_txt, 50);
|
||||
}
|
||||
else {
|
||||
vect size_txt = {display_user->size_menu, display_user->size_window};
|
||||
char txt_empty[100] = " ";
|
||||
displayTextSDL (display_user, txt_empty, coor_time, size_txt, 100);
|
||||
|
||||
else
|
||||
{
|
||||
vect size_txt = { display_user->size_menu,
|
||||
display_user->size_window };
|
||||
char txt_empty[100]
|
||||
= " "
|
||||
" ";
|
||||
displayTextSDL (display_user, txt_empty, coor_time,
|
||||
size_txt, 100);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
current_time = time (NULL);
|
||||
@@ -387,7 +408,9 @@ int inGameLoop (char **tab2d, vect *dim_tab, vect *playerPos, vect *targets,
|
||||
{
|
||||
delay = current_time;
|
||||
char *char_time = timeToText (time (NULL) - time_start);
|
||||
if (!menu) displayTextSDL (display_user, char_time, coor_time, size_menu, 50);
|
||||
if (!menu)
|
||||
displayTextSDL (display_user, char_time, coor_time, size_menu,
|
||||
50);
|
||||
free (char_time);
|
||||
}
|
||||
|
||||
@@ -396,7 +419,6 @@ int inGameLoop (char **tab2d, vect *dim_tab, vect *playerPos, vect *targets,
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* \brief Cette fonction verrifie si la partie est gagnante.
|
||||
* \param tab2d Le tableau 2D du jeu.
|
||||
|
||||
Reference in New Issue
Block a user