Jeu Othello programme en C

Fermé
kenji - 8 déc. 2013 à 19:30
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 )

{
if ((Ligne<0 || Ligne>(NB_CASES_PAR_LIGNE-1))|| (Colonne<0 || Colonne>(NB_CASES_PAR_LIGNE-1))){
printf("Erreur !");
}
else {

if (horizontal == 0 && vertical == 1)
ligne++;
else if(horizontal == 1 && vertical == 1)
{
ligne++;
colonne++;
}
else if(horizontal == 0 && vertical == 1)
ligne++;
else if (horizontal == 1 && vertical == -1)
{
ligne++;
colonne--;
}

else if (horizontal == 0 && vertical == -1)
{
colonne--;
}

else if (horizontal == -1 && vertical == -1)
{
ligne--;
colonne--;
}

else if (horizontal == -1 && vertical == 0)
{
ligne--;
}

else if (horizontal == -1 && vertical == 1)
{
ligne--;
colonne++;
}
}
}


quelqu'un pourrait-il m'aider ?
merci d'avance