diff --git a/build/stackchess b/build/stackchess index 41d0e37c0640ec688ecf6f1be1fd9412a4f73de8..950a3c386a1654fdd6cb52a9be75aea9992b789b 100755 Binary files a/build/stackchess and b/build/stackchess differ diff --git a/build/stackchess32.exe b/build/stackchess32.exe index 76beaa29247670b8f8e22c6a0cf887b257288d3b..60b62a698ea14797dc363fee6fb5218df87ccffe 100755 Binary files a/build/stackchess32.exe and b/build/stackchess32.exe differ diff --git a/build/stackchess64.exe b/build/stackchess64.exe index 2d47a2239f62e4c7cca6788c2c4da2a4b7b59b27..8466206bc136277aa921a16a3ed92ae01f711ca5 100755 Binary files a/build/stackchess64.exe and b/build/stackchess64.exe differ diff --git a/doc/latex/rapport.pdf b/doc/latex/rapport.pdf index ebd5a578d1bcca11bd76ef05d160b80eaa3a47dc..8c315c0bebd9c4a165a8b03da608ffcb201ecd6a 100644 Binary files a/doc/latex/rapport.pdf and b/doc/latex/rapport.pdf differ diff --git a/doc/latex/rapport.tex b/doc/latex/rapport.tex index 87e7cc401eab3af06920b9f16400e04d8411264d..e310c40624ab3fc24a3f7213cd8faaeaedee9997 100644 --- a/doc/latex/rapport.tex +++ b/doc/latex/rapport.tex @@ -25,6 +25,10 @@ \clearpage \section*{Introduction} \section{Démarche générale} -\subsection{Présentation des structures de données principales utilisées ainsi que les différentes opérations implémentées sur ces structures} +\subsection{Les principales structures de données utilisées ainsi que les différentes opérations implémentées sur ces structures} \subsubsection*{Pile} +\subsection{La gestion de l'affichage} +\subsection{La fonction qui fait le lien entre l'utilisateur et le jeu} +\subsection{Le calcul du déplacement d'une pièce ou d'une pile} +\subsection{La recherche de fin de partie} \end{document} \ No newline at end of file diff --git a/obj/tableau.o b/obj/tableau.o index 2df463fe8f6cd0239cacfd353d94a196f00558ad..a6448a2231a5129c1b5c2859fb54906ffa6b8d11 100644 Binary files a/obj/tableau.o and b/obj/tableau.o differ diff --git a/src/deplacement.c b/src/deplacement.c index 25c24ba86aade921bfc618ec16a954d47ac8da95..11fd4e6a6a4a621b96b1856e53416bfa35d7210b 100644 --- a/src/deplacement.c +++ b/src/deplacement.c @@ -34,7 +34,7 @@ int nb_a_selectionner(pile **tableau,int i,int j,int *tour) { int nb; scanf("%d",&nb); - if (nb<=nb_de_pion(tableau[i][j],"BN"[*tour%2]) && nb>0) + if (nb<=nb_de_piece(tableau[i][j],"BN"[*tour%2]) && nb>0) return nb; else printf("\nVous n'avez pas rentré un nombre valide."); @@ -47,7 +47,7 @@ void case_destination(pile **tableau,int N,int i_src,int j_src, int *i_dest,int scanf("%3s",dest); if (dest[1] != '\0'){ determiner_indices(dest,N,i_dest,j_dest); - if (*i_dest>=0 && *i_dest<N && *j_dest>=0 && *j_dest<N && nb>nb_de_pion(tableau[*i_dest][*j_dest],"BN"[(*tour+1)%2])){ + if (*i_dest>=0 && *i_dest<N && *j_dest>=0 && *j_dest<N && nb>nb_de_piece(tableau[*i_dest][*j_dest],"BN"[(*tour+1)%2])){ pile tmp=tableau[i_src][j_src]; int valide,i; @@ -89,7 +89,7 @@ void case_destination(pile **tableau,int N,int i_src,int j_src, int *i_dest,int } } else if (*i_dest>=0 && *i_dest<N && *j_dest>=0) { printf("Coordonnées invalides pour la case de destination"); - } else if (*j_dest<N && nb>nb_de_pion(tableau[*i_dest][*j_dest],"BN"[(*tour+1)%2])){ + } else if (*j_dest<N && nb>nb_de_piece(tableau[*i_dest][*j_dest],"BN"[(*tour+1)%2])){ printf("Le nombre de pions à déplacer doit être strictement plus grand que le nombre de pions adverses sur la case de destination"); } } @@ -103,7 +103,7 @@ int pions(pile **tableau,int N,int i_src,int j_src,int i_dest,int j_dest,int tou } else { k=-1; } - if (nb_de_pion(tableau[i_dest][j_dest],"BN"[(tour+1)%2])==0 && j_dest==j_src){ + if (nb_de_piece(tableau[i_dest][j_dest],"BN"[(tour+1)%2])==0 && j_dest==j_src){ if (i_dest==i_src+k) return 1; if (i_dest==i_src+k+k && longueur_pile(tableau[i_src+k][j_src])==0){ diff --git a/src/tableau.c b/src/tableau.c index 9751f913d520c492d2efea4f9c2cef329e2528b9..7bacbead51e23f513b8267bd8d1990fd15ddb7d6 100644 --- a/src/tableau.c +++ b/src/tableau.c @@ -114,7 +114,7 @@ void determiner_indices(char *sel,int N,int *i,int *j) *i=N-strtol(sel+1,NULL,10); } -int nb_de_pion(pile p,char couleur) +int nb_de_piece(pile p,char couleur) { int i=0; while (p != NULL){ @@ -141,8 +141,8 @@ int partie_finie(pile ** tableau,int N,int tour) int i,j,k=0,l=0,toursb=0,toursn=0,fousb=0,fousn=0; for (i=0 ; i<N ; i++){ for (j=0; j<N ; j++){ - k=k+nb_de_pion(tableau[i][j],"BN"[(tour+1)%2]); - l=l+nb_de_pion(tableau[i][j],"BN"[tour%2]); + k=k+nb_de_piece(tableau[i][j],"BN"[(tour+1)%2]); + l=l+nb_de_piece(tableau[i][j],"BN"[tour%2]); } } diff --git a/src/tableau.h b/src/tableau.h index 03768e2d2fa3f94d447e1b91883a5968638a6ea5..06f42fed2e2b962153d5508b22df9ae2dca51f1b 100644 --- a/src/tableau.h +++ b/src/tableau.h @@ -88,7 +88,7 @@ void determiner_indices(char *sel,int N,int *i,int *j); * @assign * @ensure retourne le nombre de pion d'une couleur donnée placés sur le haut de la pile/case */ -int nb_de_pion(pile p,char couleur); +int nb_de_piece(pile p,char couleur); /* * @require