add some fn

This commit is contained in:
Mylloon 2022-11-17 21:07:17 +01:00
parent 2a2d2c4dd6
commit 0d24785b3e
Signed by: Anri
GPG key ID: A82D63DFF8D1317F
4 changed files with 34 additions and 8 deletions

View file

@ -57,7 +57,7 @@ Jeu *nouvelle_partie(void);
void deroulement_partie(Jeu *jeu);
/* Vérifie si un joueur peut jouer */
int _action_joueur(Jeton *plateau[LONGEUR][LARGEUR], int couleur);
int action_possible_joueur(Jeton *plateau[LONGEUR][LARGEUR], int couleur);
/* Joue le tour d'un joueur */
void action_joueur(Jeu *jeu, int couleur);

View file

@ -6,12 +6,20 @@
/* Remplie le plateau avec la configuration de départ */
void remplissage_debut(Jeu *jeu);
/* Affiche une suite de lettres */
/* Auxiliaire: Affiche une suite de lettres */
void _affiche_lettres(void);
/* Affiche le plateau */
void affiche_plateau(Jeton *plateau[LONGEUR][LARGEUR]);
/* Auxiliaire: Vérifie pour une direction si le coup est jouable */
int _case_jouable(Jeton *plat[LONGEUR][LARGEUR], int case_i, int case_j,
int case_i_direction, int case_j_direction, int couleur);
/* Vérifie si une case est jouable par un joueur */
int case_jouable(Jeton *plateau[LONGEUR][LARGEUR], int case_i, int case_j,
int couleur);
/* Vérifie si le plateau est rempli */
int plateau_rempli(Jeton *plateau[LONGEUR][LARGEUR]);

View file

@ -35,7 +35,7 @@ void deroulement_partie(Jeu *jeu) {
affiche_plateau(jeu->plateau);
// TODO: Check if player can play
if (_action_joueur(jeu->plateau, tour)) {
if (action_possible_joueur(jeu->plateau, tour)) {
action_joueur(jeu, tour);
}
@ -45,9 +45,15 @@ void deroulement_partie(Jeu *jeu) {
// TODO: Handle end game
}
int _action_joueur(Jeton *plat[LONGEUR][LARGEUR], int couleur) {
// TODO
int action_possible_joueur(Jeton *plat[LONGEUR][LARGEUR], int couleur) {
for (int i = 0; i < 8; i++) {
for (int j = 0; j < 8; j++) {
if (case_jouable(plat, i, j, couleur)) {
return 1;
}
}
}
return 0;
}
void action_joueur(Jeu *jeu, int couleur) {
@ -56,8 +62,8 @@ void action_joueur(Jeu *jeu, int couleur) {
}
int partie_finie(Jeu *jeu) {
return ((!_action_joueur(jeu->plateau, NOIR)) &&
(!_action_joueur(jeu->plateau, BLANC))) ||
return ((!action_possible_joueur(jeu->plateau, NOIR)) &&
(!action_possible_joueur(jeu->plateau, BLANC))) ||
plateau_rempli(jeu->plateau);
}

View file

@ -61,6 +61,18 @@ void affiche_plateau(Jeton *plat[LONGEUR][LARGEUR]) {
_affiche_lettres();
}
int _case_jouable(Jeton *plat[LONGEUR][LARGEUR], int case_i, int case_j,
int case_i_direction, int case_j_direction, int couleur) {
// TODO
return 1;
}
int case_jouable(Jeton *plat[LONGEUR][LARGEUR], int case_i, int case_j,
int couleur) {
// TODO
return 1;
}
int plateau_rempli(Jeton *plat[LONGEUR][LARGEUR]) {
for (int i = 0; i < LONGEUR; ++i) {
for (int j = 0; j < LARGEUR; ++j) {