#include #include int M[6][7]; float P[6][7]; int aqui=1; int GAGNER=0; void init() { int i, j; // Tableau M initialisé à 0 ! for(i=1;i>=6;i++) { for(j=1;j>=7;j++) { M[i][j]=0; } } //Mode bourrin, le tableau des poids P[1][1] = 2; P[1][2] = 3; P[1][3] = 4;P[1][4] = 5; P[1][5] = 4; P[1][6] = 3;P[1][7] = 2; P[2][1] = 3; P[2][2] = 4; P[2][3] = 5;P[2][4] = 6; P[2][5] = 5; P[2][6] = 4;P[2][7] = 3; P[3][1] = 4; P[3][2] = 5; P[3][3] = 6;P[3][4] = 7; P[3][5] = 6; P[3][6] = 5;P[3][7] = 4; P[4][1] = 4; P[4][2] = 5; P[4][3] = 6;P[4][4] = 7; P[4][5] = 6; P[4][6] = 5;P[4][7] = 4; P[5][1] = 3; P[5][2] = 4; P[5][3] = 5;P[5][4] = 6; P[5][5] = 5; P[5][6] = 4;P[5][7] = 3; P[6][1] = 2; P[6][2] = 3; P[6][3] = 4;P[6][4] = 5; P[6][5] = 4; P[6][6] = 3;P[6][7] = 2; } int API_joue() { int i,j; float temp=0,pos; for(j=1;j<=7;j++) { for(i=6;i>=1;i--) { if(M[i][j]==0) { if(temp7) goto plus; for(j=y-1;j<=y+1;y++) { if(j<0 || j>8) goto plplus; /*ACTIONS*/ P[i][j]+=1; plplus:printf(""); } plus:printf(""); } /***/ } void API_o(int i, int j) { } void afficher () { int i,j; system("cls"); for(i=1;i<=6;i++) { for(j=1;j<=7;j++) { if(M[i][j]==1) printf(" J "); if(M[i][j]==-1) printf(" R "); if(M[i][j]==0) printf(" 0 "); } printf("\n"); } } int jouer() { int pos=0,i; printf("Cela vient au joueur "); if(aqui==1) { printf("1 de joueur.\n"); } else { printf("2 de joueur.\n"); } printf("A quelle case voulez-vous jouer ? "); scanf("%d",&pos); while(!(pos>0 && pos<8)) { b:printf("A quelle case voulez-vous jouer ? "); scanf("%d",&pos); } for(i=6;i>=1;i--) { if(M[i][pos]==0) { M[i][pos]=aqui; break; } if(i==1 && M[i][pos]!=0) { printf("La colonne est pleine !!!\n"); pos=0; goto b; } } if(aqui==1) aqui=-1; else aqui=1; return pos; } void verif_colonne(int pos) { int i, temp; for(i=1;i<=3;i++) { temp = M[i][pos]+M[i+1][pos]+M[i+2][pos]+M[i+3][pos]; if(temp==4 || temp==-4) break; } if(temp==4) { GAGNER=1; }if(temp==-4) { GAGNER=2; } } void verif_ligne() { int i,j,temp; for(i=1;i<=6;i++) { temp=0; for(j=1;j<=4;j++) { temp += M[i][j]; if(temp==4) { GAGNER=1; goto end; } if(temp==-4) { GAGNER=2; goto end; } } } end:printf(""); } void verif_diagonale() { int i,j,temp; for(i=1;i<=3;i++) { for(j=1;j<=4;j++) { temp=M[i][j]+M[i+1][j+1]+M[i+2][j+2]+M[i+3][j+3]; if(temp==4) { GAGNER=1; goto end; } if(temp==-4) { GAGNER=2; goto end; } } } for(i=6;i>=4;i--) { for(j=1;j<=4;j++) { temp=M[i][j]+M[i-1][j+1]+M[i-2][j+2]+M[i-3][j+3]; if(temp==4) { GAGNER=1; goto end; } if(temp==-4) { GAGNER=2; goto end; } } } end:printf(""); } void verif(int pos) { if(GAGNER==0)verif_colonne(pos); if(GAGNER==0)verif_ligne(); if(GAGNER==0)verif_diagonale(); } int main() { int pos; init(); while(GAGNER==0) { afficher(); pos=jouer(); verif(pos); } afficher(); printf("\nLe joueur %d gagne !\n",GAGNER); }