begin process at 2012 02 11 02:20:50
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Divers

 > 

Débutant(e)

 > 

Projet C Jeu d'echec


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Projet C Jeu d'echec

mercredi 19 décembre 2007 à 18:47:59 | Projet C Jeu d'echec

Hugo Dam

Bonsoir, Je code actuellement un jeu d'echec. Celui ci compile bien mais lors de l'execution il m'affiche erreur de segmentation des lors que je fais appel à la fonction pate_echec_mat qui me permet de tester si le roi est en echec, en pate ou en echec et mat. Pourriez vous m'aider à trouver la solution svp ? Voici le code long pate(Pieces dam[][8],long col) { printf("jusque la tout va bien"); // Cette fonction permet de savoir si il y a pate,echec ou echec et mat // 0=> rien signaler // 1=> Echec et mat // 2=> Echec // 3=> Pate long echec=0; long mat=0; long nb_piece; long answer=0; long x,y; long x_r,y_r; Pieces tab[8][8]; //On copie de la damier____________________________________________________________ for(x=0;x<8;x++) // On parcourt l'chiquier { for(y=0;y<8;y++) { tab[x][y]=dam[x][y]; // Copie de chaque lement du tableau } } // Premire tape recherche du roi de couleur "couleur"______________________________________________ for(x=0;x<8;x++) // On parcourt l'chiquier pour trouver le roi de couleur { for(y=0;y<8;y++) { if(tab[x][y].piece==5){ if(tab[x][y].couleur==col){ //Ds que l'ont trouve le roi on mmorise ses coordonnes x_r=x; y_r=y; } } } tab[x_r][y_r].piece==0; // On efface le roi de l'chiquier copier // affichage_unix(tab); for(x=0;x<8;x++) // On parcourt l'chiquier pour voir si le roi dans sa position acutel n'est pas en echec { for(y=0;y<8;y++) { switch (tab[x_r][y_r].piece) // On verifie que aucune pice adverse ne peut se dplacer sur le roi { case 1: if(tab[x][y].couleur!=col){ if(pion(&tab[x][y],x_r,y_r,tab)!=0) {echec=1;} } break; case 2: if(tab[x][y].couleur!=col){ if(fou(&tab[x][y],x_r,y_r,tab)!=0) {echec=1;} } break; case 3: if(tab[x][y].couleur!=col){ if(cavalier(&tab[x][y],x_r,y_r,tab)!=0) {echec=1;} } break; case 4: if(tab[x][y].couleur!=col){ if(reine(&tab[x][y],x_r,y_r,tab)!=0) {echec=1;} } break; case 5: if(tab[x][y].couleur!=col){ if(roi(&tab[x][y],x_r,y_r,tab)!=0) {echec=1;} } break; case 6: if(tab[x][y].couleur!=col){ if(tour(&tab[x][y],x_r,y_r,tab)!=0) {echec=1;} } break; default : break; } //On recopie de la damier car de dernier a t modifier for(x=0;x<8;x++) // On parcourt l'chiquier { for(y=0;y<8;y++) { tab[x][y]=dam[x][y]; // Copie de chaque lement du tableau } } tab[x_r][y_r].piece==0; // on efface nouveau le roi } } for(x=0;x<8;x++) // On parcourt l'chiquier { for(y=0;y<8;y++) { tab[x][y]=dam[x][y]; // Copie nouveau de chaque lement du tableau } } for(x=0;x<8;x++) // On regarde si le roi peut se dplacer dans une case sans se mettre en echec { for(y=0;y<8;y++) { if(roi(&tab[x_r][y_r],x,y,tab)==1) {mat=1;} } } // Nouvelle copie, car l'tape prcedente a modifie tab for(x=0;x<8;x++) // On parcourt l'chiquier { for(y=0;y<8;y++) { tab[x][y]=dam[x][y]; // Copie de chaque lement du tableau } } // Il faut compter le nombre de piece du joueur, pour grer le cas du pate for(x=0;x<8;x++) // On parcourt l'chiquier et ds que l'on rencontre une piece de couleur "couleur" on incremente nb_piece { for(y=0;y<8;y++) { if(tab[x][y].couleur==col) { nb_piece++; } } } if((echec==1)&&(mat==0)) // Echec et mat : le roi est en echec dans sa position actuelle et ne peut pas se dplacer { return 1; } if((echec==1)&&(mat==1)) // Echec et mat { return 2; } if((echec==0)&&(mat==1)&&(nb_piece==1)) // Pate { return 3; } } } Pieces est une structure de ce type : typedef struct{ long colonne; long ligne; long couleur; long piece; }Pieces;


Cette discussion est classée dans : couleur, tab, for, echec, if


Répondre à ce message

Sujets en rapport avec ce message

tableau [ par ngabou98 ] bonjour à tous c'est encore moi svp j'ai besoin de votre aide je travaille sur la méthode de simplification d'une fonction booléene par la méthode de Problème générateur de grille de sudoku en C [ par Dovah ] Bonjour, je suis débutant en programmation, et pour m'entraîner j'ai décidé de créer un programme qui génère aléatoirement une grille de sudoku en C comparer deux string [ par roubalist21 ] voici le code: [code=cpp]for(i=0;i<maxDF;i++) { for(j=1;j<(maxS+1);j++) { if(tabDF[i][j]!=NULL) { for(k=0;k<=fins;k++) { if(ta ce code ne marche pas?????????? [ par banak3181 ] s'il vous plait les gars je veux que quelqu'un me disent pourquoi ce code ne marche sur dev C++:#include #include #include #include # include<myconio. Allocation dynamique de tableu 2D [ par potitmarron ] Bonjour, J'aimerais savoir comment en C je peux créer un tableau et au fur et à mesure de mes besoins, ajouter des lignes ? Ici j'ai un tableau de x l convertir du cpp en VB.net ou VB [ par Taur33 ] bonsoir à tous, j'aurais besoin de convertir le code suivant en vb je précise que j'ai déjà essayé des logiciels qui soit disant le faisait mais cela Probleme : Sudoku en C [ par seth59222 ] Bonsoir, voila je suis actuellement en première année d'info, donc assez novice et je viens de créer ce petit bout de programme en C qui consiste a ré cryptage de cesar sur c++ [ par juniordiaw ] bjr a tous g un problemea vec mon code o faite lorske g rentre un letre il me la crypte mai sil sagi dun mo ou dune phrase il ne crypte ke la premiere Besoin d'aide c++ [ par sevio14 ] Quelqu'un peut-il m'aider à faire le programme de l'algorithme d'uzawa? Voici ce que j'ai commencé à définir: #include #include #include #includ passage en paramètre d'un tableau [ par misterbobo ] Bonjour, j'ai à programmer la fonction nouvelle génération d'un jeu de la vie dont les paramètres en entrés sont imposés. Je pense être arrivé à quelq


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,529 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales