add some fn
This commit is contained in:
parent
2a2d2c4dd6
commit
0d24785b3e
4 changed files with 34 additions and 8 deletions
|
@ -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);
|
||||
|
|
|
@ -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]);
|
||||
|
||||
|
|
18
src/jeu.c
18
src/jeu.c
|
@ -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
|
||||
return 1;
|
||||
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);
|
||||
}
|
||||
|
||||
|
|
|
@ -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) {
|
||||
|
|
Reference in a new issue