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); void deroulement_partie(Jeu *jeu);
/* Vérifie si un joueur peut jouer */ /* 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 */ /* Joue le tour d'un joueur */
void action_joueur(Jeu *jeu, int couleur); void action_joueur(Jeu *jeu, int couleur);

View file

@ -6,12 +6,20 @@
/* Remplie le plateau avec la configuration de départ */ /* Remplie le plateau avec la configuration de départ */
void remplissage_debut(Jeu *jeu); void remplissage_debut(Jeu *jeu);
/* Affiche une suite de lettres */ /* Auxiliaire: Affiche une suite de lettres */
void _affiche_lettres(void); void _affiche_lettres(void);
/* Affiche le plateau */ /* Affiche le plateau */
void affiche_plateau(Jeton *plateau[LONGEUR][LARGEUR]); 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 */ /* Vérifie si le plateau est rempli */
int plateau_rempli(Jeton *plateau[LONGEUR][LARGEUR]); int plateau_rempli(Jeton *plateau[LONGEUR][LARGEUR]);

View file

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

View file

@ -61,6 +61,18 @@ void affiche_plateau(Jeton *plat[LONGEUR][LARGEUR]) {
_affiche_lettres(); _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]) { int plateau_rempli(Jeton *plat[LONGEUR][LARGEUR]) {
for (int i = 0; i < LONGEUR; ++i) { for (int i = 0; i < LONGEUR; ++i) {
for (int j = 0; j < LARGEUR; ++j) { for (int j = 0; j < LARGEUR; ++j) {