salut à tous,
j'ai un projet à faire, c'est un jeu de dames
j'ai un prob avec mes fonctions
quelqu'un peut y jeter un oeil svp.
vous pouvez faire des modifs si vous voullez.
y'en aura surement vu que c'est ma première programmation;
alors allez y; faites vous plaizzzzzzzzz
j'utilise Visual C++6
voici le message d'erreur:"local function definitions are illegal"
c'est parti!!!
à plus.
#include<stdio.h>
#include<stdlib.h>
#define TAY 10
#define TAY2 2
/*traçage du tableau*/
void affichage(char**tab,short nnr, short nbr){
short i,k,l,m,numligne,numcol;
l=0;
m=0;
//titre
for(i=0;i<27;i++)
printf("*#" );
for(i=0;i<10;i++)
printf("*#" );
printf(" JEU DE DAME" );
for(i=0;i<10;i++)
printf("*#" );
printf("\n" );
for (i=0;i<27;i++)
printf("*#" );
printf("*\n\n\n" );
//rephre colonne
printf(" 1 2 3 4 5 6 7 8 9 10\n" );
//ligne horizontale haut
printf(" " );
for(i=0;i<50;i++)
printf("_" );
printf("\n" );
for (numligne=0;numligne<10;numligne++){
//la case noirte
if(m%2==0){
for(k=0;k<3;k++){
//rephre ligne
if(k==0||k==2)
printf("|" );
else if(m==0)
printf("A|" );
else if(m==2)
printf("C|" );
else if(m==4)
printf("E|" );
else if(m==6)
printf("G|" );
else if(m==8)
printf("I|" );
for(numcol=0;numcol<10;numcol++){
//la fameuse case noirte
if(l%2!=1){
if(k==1)
printf("%c",tab[numligne][numcol]);
else printf(" " );
l++;
}
//et la case blanche
else{
printf("###" );
l++;
}
}
printf("|\n" );
}
m++;
}
//ligne horizontale bas
printf(" " );
for(i=0;i<50;i++)
printf("-" );
//rephre colonne
printf("\n 1 2 3 4 5 6 7 8 9 10\n" );
printf("\n\n\n\n" );
//clearage du tableau
for(i=0;i<10;i++){
for(k=0;k<10;k++){
printf("%c",tab[i][k]);
}
printf("\n" );
}
printf("\n\n\n" );
}
///////////////// fin affichagte
/// nombre de pion restant
short compten(char**tab){
short nnr,i,k;
nnr=0;
//calcul nombre de pions noirs restants
for(i=0;i<10;i++){
for(k=0;k<10;k++){
if(tab[i][k]=='N')
nnr++;
}
}
return nnr;
}
////////////////////////////
short compteb(char**tab){
short nbr,i,k;
nbr=0;
//calcul nombre de pions blancs restants
for(i=0;i<10;i++){
for(k=0;k<10;k++){
if(tab[i][k]=='B')nbr++;
}
}
return nbr;
}
/**************************fin compte***********************/
/////////////////////demande deplacement////////////
//////////////choix pion///////////////
short demandeletr(){
char lettre;
short lettrif;
printf("Select the pion, lettre: " );
scanf("%c%*c",&lettre);
if(lettre=='A')lettrif=0;if(lettre=='B')lettrif=1;if(lettre=='C')lettrif=2;if(lettre=='D')lettrif=3;
if(lettre=='E')lettrif=4;if(lettre=='F')lettrif=5;if(lettre=='G')lettrif=6;if(lettre=='H')lettrif=7;
if(lettre=='I')lettrif=8;if(lettre=='J')lettrif=9;
return lettrif;
}
/////////////////////
short demandechi(){
short chiffre;
printf(" ,chiffre:" );
scanf("%hd%*c",&chiffre);
return (chiffre-1);
}
////choix destinée////
short demaceletr(){
char lettre;
short lettrif2;
printf("Where to go, lettre: " );
scanf("%c%*c",&lettre);
if (lettre=='A')lettif2=0;if(lettre=='B')lettrif2=1;if(lettre=='C')lettrif2=2;if(lettre=='D')lettrif2=3;
if(lettre=='E')lettrif2=4;if(lettre=='F')lettrif2=5;if(lettre=='G')lettrif2=6;if(lettre=='H')lettrif2=7;
if(lettre=='I')lettrif2=8;if(lettre=='J')lettrif2=9;
return lettrif2;
}
//////////////////////
short demacechi(){
short chiffre2;
printf(" ,chiffre: " );
scanf("%hd%*c",&chiffre2);
return(chiffre2-1);
}
/**************************fin demande*****************************************/
///////////////////////deplacement///////////////
//////////supprimé pion//////////
char**Deplace(char**tab,short lettrif, short chiffre){
tab[lettrif][chiffre]=' ';
return tab;
}
///APPARITION PION///////////
char**Deplace2(char**tab, short littrif2, short chiffre2){
tab[lettrif2][chifffre2]='X';
return tab;
}
/*******************************************FIN
DEPLACE********************************************************************************/
////////////////////A QUI LE TOUR ?////////////////////////////
short tour0(){
short turn;
turn=0;
return turn;
}
///////////////////
short tour(short turn){
turn++;
return (turn%2);
}
/*****************************************************************************************
***************************/
///////////////////ERREUR PION//////////////////////////////////////////////
short erreurpion(char**tab,short lettrif,short chiffre,short turn){
if(turn2==0&&tab[lettrif][chifre]!='B'){
printf("\nERREUR DE PION !Vous devez choisir un pion blanc.\n" );
return 1;
}
else if(turn%2!=0&&tab[lettrif]!='N'){
printf("\nERREUE DE PION ! Vous devez choisir un pion noir.\n" );
return1;
}
else return 0;
}
/**********************************************************************************/
////////////////////////////ERREUR DE DEPLACEMENT//////////////////////////////
short erreurdeplac(char**tab,short lettrif2,short chiffre2){
if(tab[lettrif2][chiffre2]!=' '){
printf("ERREUR DESTINATION !Vous devez choisir une case vide.\n" );
return 1;
}
else return 0;
}
/*****************************************************************************************/
///////////////////////////INITIALISATION TABLEAU/////////////////////////////////
char**initTab(){
char**tab;
short i,j,m;
tab=(char**)malloc(sizeof(char*)*TAY);
for(i=0;i<TAY;i++){
tab[i]=(char*)malloc(sizeof(char)*TAY);
}
//case pions blancs
m=0;
for(i=0;i<4;i++){
for(j=0;j<10;j++){
if(j%2!=1-(m%2)){
tab[i][j]='B';
}
else{
tab[i][j]='#';
}
}
m++;
}
//case vierges
for(i=4;i<6;i++){
for(j=0;j<10;j++){
if(j%2!=1-(m%2)){
tab[i][j]=' ';
}
else{
tab[i][j]='#';
}
}
m++;
}
//case pions noirs
m=0;
for(i=6;i<10;i++){
for(j=0;j<10;j++){
if(j%2!=1-(m%2)){
tab[i][j]='N';
}
else{
tab[i][j]='#';
}
}
m++;
}
return tab;
}
/***************************************************FIN
INIT***************************************************************************/
void main(){
char**jeu;
short jeu1,jeu2,jeu3,jeu4,jeu5,jeu6,jeu7,jeu8;
jeu1=tour0();
jeu=initTAB();
jeu2=compten(jeu);
jeu3=compteb(jeu);
affichage(jeu,jeu2,jeu3);
while(jeu2!=0&&jeu3!=0){
if(jeu1%2==0)printf("Joueur Blanc\n" );
else printf("Joueur Noir\n" );
jeu4=demandeletr();
jeu5=demandechi();
jeu6=erreurpion(jeu,jeu4,jeu5,jeu1);
while(jeu6!=0){
jeu4=demandeletr();
jeu5=demandechi();
jeu6=erreurpion(jeu,jeu4,jeu5,jeu1);}
jeu=deplace(jeu,jeu4,jeu5);
jeu7=demaceletr();
jeu8=demacechi();
jeu6=erreurdeplac(jeu,jeu7,jeu8);
while(jeu6!=0){
jeu4=demaceletr();
jeu5=demacechi();
jeu6=erreurdeplc(jeu,jeu7,jeu8);}
jeu1=tour(jeu1);
jeu=Deplace2(jeu,jeu7,jeu8);
jeu2=compten(jeu);jeu3=compteb(jeu);
affichage(jeu,jeu2,jeu3);
}
}
}