Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
977 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  jeu de dames prob avec les fonctions

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

jeu de dames prob avec les fonctions

n°1093739
hub le swi​tch
Posté le 23-05-2005 à 17:05:45  profilanswer
 

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 :wahoo:  
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);
 }
}
 
}
 

mood
Publicité
Posté le 23-05-2005 à 17:05:45  profilanswer
 

n°1093756
Profil sup​primé
Posté le 23-05-2005 à 17:17:23  answer
 

Plusieurs points si tu veux profiter de l'aide du forum :
 
- Poste dans la bonne catégorie. Là en l'occurrence tu fais du C. La question n'étant pas de savoir si ton programme est correct en C++, mais de savoir quel genre de conseils tu attends. Si c'est des conseils concernant le C++, tu risques de devoir tout recoder.
 
- Utilise les balises [ cpp ] [ /cpp ] pour encadrer ton code et qu'il soit un peu plus lisible.
 
- Donne le message d'erreur complet qui doit contenir : le message en lui même mais aussi la ligne correspondante.
 
- Et enfin un conseil de bon sens : lis les messages d'erreur.
 
Ah et aussi évite d'utiliser un logiciel piraté (si ce n'est pas le cas tant mieux) alors qu'il existe des alternatives gratuites qui te suffiront amplement.
 
Voilà. :D


Message édité par Profil supprimé le 23-05-2005 à 17:17:58
n°1093767
hub le swi​tch
Posté le 23-05-2005 à 17:24:51  profilanswer
 

merci bien, bon beh je vais aller voir du coté du C, desolé!
lol


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  jeu de dames prob avec les fonctions

 

Sujets relatifs
Prob chargement XML[DLL] programme pour évaluer la taille des fonctions présentes ?
boucle à prob (tout con ..!)petit prob d'organisation ou d'arrangement
prob avec sql server 2005 ctpprob de liste avec 2 champs de comparaison
Prob dans le Dos lancement ancien jeuxpassage de variable par adresse, Comment passer deux fonctions ?
DLL, OLE & fonctions exportées[Perl] switch() vs hash de fonctions
Plus de sujets relatifs à : jeu de dames prob avec les fonctions


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR