bonjour,
je suis étudiant en DUT info et j'ai un projet à faire qui est le jeu Othello à programmer en C.
Ce travail est divisé en 4 parties:
la première partie consiste en la création de la partie, des joueurs et l'affichage de l'othellier, partie que nous avons réussi à faire...
Maintenant, dans la deuxième partie , ce sont les fonctions de création des pions dans les différentes directions... Il faut définir la fonction priseDansDirectionPossible. Cette fonction prend en paramètre une partie en cours, une case du damier ( définie par des numéro de ligne et de colonne ) ainsi qu'une direction.La direction est une des 8 directions possibles pour "manger" des pions adverses. Informatiquement chaque direction sera codée à l'aide de deux entier compris entre -1 et 1.cette fonction retourne 1 si le joueur , en posant un pion sur la case donné en paramètre, mange au moins un pion dans la direction donnée en paramètre et 0 sinon.
sachant qu'on a défini une fonction getcase juste avant qui nous retourne le contenu d'une case
int getCase (struct partie *p, int ligne, int colonne) { /*Fonction retournant la valeur de la case (ligne,colonne) de la partie p*/
if ((ligne < 0|| ligne > (NB_CASES_PAR_LIGNE-1 )) || ((colonne < 0)|| colonne >(NB_CASES_PAR_LIGNE-1) )) {
printf( " erreur ! les les numéros ne sont pas valides ! " );
}/* si les numéros de ligne et colonne ne sont pas valides (si il n'est pas compris entre 0 et NB_CASES_LIGNE-1) alors un message d'erreur est envoyé*/
else
return (*p).damier[(ligne*(NB_CASES_PAR_LIGNE))+colonne];
/* sinon la fonction retourne la case correspondante au nom de la ligne et de la colonne */
}
la fonction priseDansDirectionPossible que j'ai fait est probablement fausse
int priseDansDirectionPossible(struct partie *p, int ligne, int colonne, int horizontal, int vertical )