[c] prog jeu
question
-
question -
question -
Bonjour,
voici mon code 'puissance 4' en c , le problème c'est que quand je donne les chiffres de 1 à 6 ça va mais dés que je met 0, il s'arrête et ne marche plus!!
on peut m'aider à résoudre le problème?
voici mon code 'puissance 4' en c , le problème c'est que quand je donne les chiffres de 1 à 6 ça va mais dés que je met 0, il s'arrête et ne marche plus!!
on peut m'aider à résoudre le problème?
#include <conio.h> #include <stdio.h> void dessine_grille(char grille[7][6]) { int i,j; for(j=5;j>=0;j--) { for(i=0;i<7;i++) { printf("%c",grille[i][j]); } printf("\n"); ; } printf("\n\n\n"); } int fonctionquifaitgagnerjoueur1 (char grille[7][6]) { int i,j,gagne; for(i=0;i<4;i++) { for(j=0;j<6;j++) { if(grille[i][j]=='x' && grille[i+1][j]=='x' && grille[i+2][j]=='x' && grille[i+3][j]=='x') gagne=1; } } /*On vérifie maintenant verticalement pour savoir si le joueur a gagné dc si 4 cases verticales se suivent et valent 1*/ for(i=0;i<7;i++) { for(j=0;j<3;j++) { if(grille[i][j]=='x' && grille[i][j+1]=='x' && grille[i][j+2]=='x' && grille[i][j+3]=='x') gagne=1; } } /*Vérification diagonale bas gauche vers haut droit*/ for(i=0;i<7;i++) { for(j=0;j<6;j++) { if(grille[i][j]=='x' && grille[i+1][j+1]=='x' && grille[i+2][j+2]=='x' && grille[i+3][j+3]=='x') gagne=1; } } /*Vérification diagonale bas droite vers haut gauche*/ for(j=0;j<6;j++) { for(i=6;i>=0;i--) { if(grille[i][j]=='x' && grille[i-1][j+1]=='x' && grille[i-2][j+2]=='x' && grille[i-3][j+3]=='x') gagne=1; } } return(gagne); } int fonctionquifaitgagnerjoueur2 (char grille[7][6]) { int i,j,gagne; for(i=0;i<4;i++) { for(j=0;j<6;j++) { if(grille[i][j]=='o' && grille[i+1][j]=='o' && grille[i+2][j]=='o' && grille[i+3][j]=='o') gagne=2; } } /*On vérifie maintenant verticalement pour savoir si le joueur a gagné dc si 4 cases verticales se suivent et valent 1*/ for(i=0;i<7;i++) { for(j=0;j<3;j++) { if(grille[i][j]=='o' && grille[i][j+1]=='o' && grille[i][j+2]=='o' && grille[i][j+3]=='o') gagne=2; } } /*Vérification diagonale bas gauche vers haut droit*/ for(i=0;i<7;i++) { for(j=0;j<6;j++) { if(grille[i][j]=='o' && grille[i+1][j+1]=='o' && grille[i+2][j+2]=='o' && grille[i+3][j+3]=='o') gagne=2; } } /*Vérification diagonale bas droite vers haut gauche*/ for(j=0;j<6;j++) { for(i=6;i>=0;i--) { if(grille[i][j]=='o' && grille[i-1][j+1]=='o' && grille[i-2][j+2]=='o' && grille[i-3][j+3]=='o') gagne=2; } } return(gagne); } void main (void) { char grille[7][6]; int nb_p,i,j,x,c,n,ligne1,ligne2,col0,col1,col2,col3,col4,col5,col6,gagne,reponse; char nomjoueur1 [100],nomjoueur2[100],temp; do //do d'une super boucle { // initialisation des variables nb_p=0 ; gagne=0; n=0; c=0; col1=0; col2=0; col3=0; col4=0; col5=0; col6=0; // saisit du nom des joueurs printf ("nom joueur 1\n"); scanf ("%s",&nomjoueur1); scanf ("%c",&temp); printf ("nom joueur 2\n"); scanf ("%s",&nomjoueur2); scanf ("%c",&temp); //initialisation du tableau for (i=0;i<7;i++) { for (j=0;j<6;j++) grille[i][j]='t'; } dessine_grille( grille); do { //premier joueur joue do { printf ("%s dans quel colonne desirez vous jouer\n", nomjoueur1); scanf ("%d",&ligne1); /*Test sur la hauteur des colonnes, si elle sont remplies ou non*/ if((ligne1==0 && col0>5)|| (ligne1==1 && col1>5) || (ligne1==2 && col2>5) || (ligne1==3 && col3>5) || (ligne1==4 && col4>5) || (ligne1==5 && col5>5) || (ligne1==6 && col6>5)) { printf("la colonne %d est pleine, %s donner un numero de colone autre que %d \n",ligne1,nomjoueur1,ligne1); ligne1 = -1000; //donne un chiffre de ligne négative pour lui faire refaire la boucle } } while (ligne1<0 || ligne1>7); //place pion if(ligne1==0) grille[ligne1][col0]='x'; if(ligne1==1) grille[ligne1][col1]='x'; if(ligne1==2) grille[ligne1][col2]='x'; if(ligne1==3) grille[ligne1][col3]='x'; if(ligne1==4) grille[ligne1][col4]='x'; if(ligne1==5) grille[ligne1][col5]='x'; if(ligne1==6) grille[ligne1][col6]='x'; // test pour voir si le joueur a gagné fonctionquifaitgagnerjoueur1 (grille); dessine_grille(grille); //Désigne une ligne deja prise par un pion deja placé if(ligne1==0) grille[ligne1][col0++]; if(ligne1==1) grille[ligne1][col1++]; if(ligne1==2) grille[ligne1][col2++]; if(ligne1==3) grille[ligne1][col3++]; if(ligne1==4) grille[ligne1][col4++]; if(ligne1==5) grille[ligne1][col5++]; if(ligne1==6) grille[ligne1][col6++]; if(gagne==1) { printf("C'est %s qui a gagne la partie !!!\n \n",nomjoueur1); printf ("Par contre toi, %s tu est un loozer",nomjoueur2); break; } //début second joueur do { printf ("%s dans quel colonne desirez vous jouer\n", nomjoueur2); scanf ("%d",&ligne2); scanf ("%c",&temp); /*Test sur la hauteur des colonnes, si elle sont remplies ou non*/ if((ligne2==0 && col0>5)|| (ligne2==1 && col1>5) || (ligne2==2 && col2>5) || (ligne2==3 && col3>5) || (ligne2==4 && col4>5) || (ligne2==5 && col5>5) || (ligne2==6 && col6>5)) { printf("la colonne %d est pleine, %s donner un numero de colone autre que %d \n",ligne2,nomjoueur2,ligne2); ligne2 = -1000; //donne un chiffre de ligne négative pour lui faire refaire la boucle } } while ((ligne2<0) || (ligne2>7)); //place pion if(ligne2==0) grille[ligne2][col0]='o'; if(ligne2==1) grille[ligne2][col1]='o'; if(ligne2==2) grille[ligne2][col2]='o'; if(ligne2==3) grille[ligne2][col3]='o'; if(ligne2==4) grille[ligne2][col4]='o'; if(ligne2==5) grille[ligne2][col5]='o'; if(ligne2==6) grille[ligne2][col6]='o'; // test pour voir si le joueur a gagné fonctionquifaitgagnerjoueur2 (grille); dessine_grille(grille); //Désigne une ligne deja prise par un pion deja placé if(ligne2==0) grille[ligne2][col0++]; if(ligne2==1) grille[ligne2][col1++]; if(ligne2==2) grille[ligne2][col2++]; if(ligne2==3) grille[ligne2][col3++]; if(ligne2==4) grille[ligne2][col4++]; if(ligne2==5) grille[ligne2][col5++]; if(ligne2==6) grille[ligne2][col6++]; if(gagne==2) { printf("C'est %s qui a gagne la partie !!!\n \n",nomjoueur2); printf ("Par contre toi, %s tu est un loozer",nomjoueur1); break; } } while (gagne!=1 || gagne!=2); if (gagne==2) { printf("Tu veut ta revanche %s oui('o') ou non('n') ???\n ",nomjoueur1); scanf ("%s",&reponse); } else { printf("Tu veut ta revanche %s oui('o') ou non('n') ???\n ",nomjoueur2); scanf ("%s",&reponse); } } while (reponse!='n'); getch (); }
A voir également:
- [c] prog jeu
- 94 jeu - Télécharger - Puzzle & Réflexion
- 94 degrés jeu - Télécharger - Divers Jeux
- Jeu zuma - Télécharger - Jeux vidéo
- Logo jeu - Télécharger - Jeux vidéo
- Jeu google - Guide
4 réponses
Slt,
Tu n'aurais pas plutot un code erreur ou un truc du genre a nous donner, le ça ne marche pas est vague...
Tu n'aurais pas plutot un code erreur ou un truc du genre a nous donner, le ça ne marche pas est vague...