Puissance 4

Description

jeu du puissance 4 pour 2 joueurs

Source / Exemple :



  • Déclaration des différentes librairies utilisées:
notamment iostream pour "cout" , "cin", ... stdio pour "gets"
  • /
#include<iostream.h> #include<stdio.h> void main() { // Déclaration des differentes variables utilisées pour le programme : char nom1[20], nom2[20] ; int i,j,num; int h0,h1,h2,h3,h4,h5,h6,h7,h8,h9,num1; int jeu[10][10]; int gagne , gagne2; //initialisation de certaines variables: gagne=0;gagne2=0; h0=0;h1=0;h2=0;h3=0;h4=0;h5=0;h6=0;h7=0;h8=0;h9=0; //Affichage de la premiere page: cout<<" \02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\n"; cout<<" \02 \02\n"; cout<<" \02 \02\n"; cout<<" \02 BIENVENUE DANS LE PUISSANCE 4 \02\n"; cout<<" \02 \02\n"; cout<<" \02 DE LA FAB's COMPAGNIE \02\n"; cout<<" \02 \02\n"; cout<<" \02 !!!!!!!!!!!!!!!! \02\n"; cout<<" \02 \02\n"; cout<<" \02 \02\n"; cout<<" \02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\n"; //Saisie des noms des deux joueurs: cout<<"\n\n\n\nQuel est votre nom?\n"; gets (nom1); cout<<"Quel est votre nom?\n"; gets (nom2); //initialisation du tableau, toutes les cases ont pour valeur 0, soit cases vides for(i=0;i<10;i++) { for(j=0;j<10;j++) { jeu[i][j]=0; } } //Affichage du plateau de jeu vide cout<<"0 1 2 3 4 5 6 7 8 9\n\n"; for(j=9;j>=0;j--) { for(i=0;i<10;i++) { cout<<jeu[i][j]<<" "; } cout<<"\n"; } cout<<"\n0 1 2 3 4 5 6 7 8 9\n"; //Tant qu' un joueur n'a pas gagné le pgm demande de jouer do { do { //Saisie de la colonne à jouer: cout<<"a vous de jouer "<<nom1<<",donner un numero de colonne (de 0 a 9):"; cin>> num; cout<<"\n"; //Test sur la hauteur des colonnes , si elles sont remplioes ou non: if(( num==0 && h0>9 )|| (num==1 && h1>9) || (num==2 && h2>9) || (num==3 && h3>9) || (num==4 && h4>9 )||( num==5 && h5>9) || (num==6 && h6>9 )|| (num==7 && h7>9 )|| (num==8 && h8>9 )||( num==9 && h9>9) ) { cout<<"la colonne "<<num<<" est pleine, "<<nom1<<" donner un numero de colone autre que "<<num<<"\n"; //Dans le cas ou la colonne est pleine, numvaut -1 ainsi retour à la demande grace aux " do while" num = -1; } // Test sur valeur donnée par le joueur, demande de rejouer si la valeur est inférieure à 0: }while(num<0 || num>9); //Donne la valeur 1 à la case jouée par le joueur 1: if(num==0) jeu[num][h0]=1; if(num==1) jeu[num][h1]=1; if(num==2) jeu[num][h2]=1; if(num==3) jeu[num][h3]=1; if(num==4) jeu[num][h4]=1; if(num==5) jeu[num][h5]=1; if(num==6) jeu[num][h6]=1; if(num==7) jeu[num][h7]=1; if(num==8) jeu[num][h8]=1; if(num==9) jeu[num][h9]=1; //Vérification horizontale pour savoir si le joueur a gagné: //On balaye toutes les lignes de 0 à 9 en vérifiant 4 cases à chaque fois //Si 4 cases qui se suivent valent 1 alors gagne vaut 1 for(i=0;i<7;i++) { for(j=0;j<10;j++) { if(jeu[i][j]==1 && jeu[i+1][j]==1 && jeu[i+2][j]==1 && jeu[i+3][j]==1) gagne=1; } } //Vérification verticale pour savoir si le joueur a gagné: //On balaye toutes les colonnes de 0 à 9 en vérifiant 4 cases à chaque fois //Si 4 cases qui se suivent valent 1 alors gagne vaut 1 for(i=0;i<10;i++) { for(j=0;j<7;j++) { if(jeu[i][j]==1 && jeu[i][j+1]==1 && jeu[i][j+2]==1 && jeu[i][j+3]==1) gagne=1; } } //Vérification diagonale (en bas à gauche vers en haut à droite) pour savoir si le joueur a gagné: //On balaye toutes les diagonales de cette direction en vérifiant 4 cases à chaque fois //Si 4 cases qui se suivent valent 1 alors gagne vaut 1 for(i=0;i<10;i++) { for(j=0;j<10;j++) { if(jeu[i][j]==1 && jeu[i+1][j+1]==1 && jeu[i+2][j+2]==1 && jeu[i+3][j+3]==1) gagne=1; } } //Vérification diagonale (en bas à droite vers en haut à gauche) pour savoir si le joueur a gagné: //On balaye toutes les diagonales de cette direction en vérifiant 4 cases à chaque fois //Si 4 cases qui se suivent valent 1 alors gagne vaut 1 for(j=0;j<10;j++) { for(i=9;i>=0;i--) { if(jeu[i][j]==1 && jeu[i-1][j+1]==1 && jeu[i-2][j+2]==1 && jeu[i-3][j+3]==1) gagne=1; } } //Affichage: cout<<"0 1 2 3 4 5 6 7 8 9\n\n"; for(j=9;j>=0;j--) { for(i=0;i<10;i++) { cout<<jeu[i][j]<<" "; } cout<<"\n"; } cout<<"\n0 1 2 3 4 5 6 7 8 9\n"; //on incrémente la hauteur d'une colonne à chaque fois que celle si est jouée: if(num==0) jeu[num][h0++]; if(num==1) jeu[num][h1++]; if(num==2) jeu[num][h2++]; if(num==3) jeu[num][h3++]; if(num==4) jeu[num][h4++]; if(num==5) jeu[num][h5++]; if(num==6) jeu[num][h6++]; if(num==7) jeu[num][h7++]; if(num==8) jeu[num][h8++]; if(num==9) jeu[num][h9++]; //test pour savoir si le joueur 1 a gagné , si c est le cas alors arret du pgm grace au break: if(gagne==1) { cout<<"\01"<<nom1<<" a gagne!!!\01\n"; break; } do { cout<<"a vous de jouer "<<nom2<<",donner un numero de colonne (de 0 a 9):"; cin>> num1; cout<<"\n"; if(( num==0 && h0>9 )|| (num==1 && h1>9) || (num==2 && h2>9) || (num==3 && h3>9) || (num==4 && h4>9 )||( num==5 && h5>9) || (num==6 && h6>9 )|| (num==7 && h7>9 )|| (num==8 && h8>9 )||( num==9 && h9>9) ) { cout<<"la colonne "<<num<<" est pleine, "<<nom2<<" donner un numero de colone autre que "<<num<<"\n"; num=-1; } }while(num<0 || num>9 ); if(num1==0) jeu[num1][h0]=2; if(num1==1) jeu[num1][h1]=2; if(num1==2) jeu[num1][h2]=2; if(num1==3) jeu[num1][h3]=2; if(num1==4) jeu[num1][h4]=2; if(num1==5) jeu[num1][h5]=2; if(num1==6) jeu[num1][h6]=2; if(num1==7) jeu[num1][h7]=2; if(num1==8) jeu[num1][h8]=2; if(num1==9) jeu[num1][h9]=2; for(i=0;i<7;i++) { for(j=0;j<10;j++) { if(jeu[i][j]==2 && jeu[i+1][j]==2 && jeu[i+2][j]==2 && jeu[i+3][j]==2) gagne2=2; } } for(i=0;i<10;i++) { for(j=0;j<7;j++) { if(jeu[i][j]==2 && jeu[i][j+1]==2 && jeu[i][j+2]==2 && jeu[i][j+3]==2) gagne2=2; } } for(i=0;i<10;i++) { for(j=0;j<10;j++) { if(jeu[i][j]==2 && jeu[i+1][j+1]==2 && jeu[i+2][j+2]==2 && jeu[i+3][j+3]==2) gagne2=2; } } for(j=0;j<10;j++) { for(i=9;i>=0;i--) { if(jeu[i][j]==2 && jeu[i-1][j+1]==2 && jeu[i-2][j+2]==2 && jeu[i-3][j+3]==2) gagne2=2; } } cout<<"0 1 2 3 4 5 6 7 8 9\n\n"; for(j=9;j>=0;j--) { for(i=0;i<10;i++) { cout<<jeu[i][j]<<" "; } cout<<"\n"; } cout<<"\n0 1 2 3 4 5 6 7 8 9\n"; if(gagne2==2) { cout<<"\01"<<nom2<<" a gagne!!!\01\n"; break; } if(num1==0) jeu[num1][h0++]; if(num1==1) jeu[num1][h1++]; if(num1==2) jeu[num1][h2++]; if(num1==3) jeu[num1][h3++]; if(num1==4) jeu[num1][h4++]; if(num1==5) jeu[num1][h5++]; if(num1==6) jeu[num1][h6++]; if(num1==7) jeu[num1][h7++]; if(num1==8) jeu[num1][h8++]; if(num1==9) jeu[num1][h9++]; //le programme s arrete qd un des deux joueur à gagner: }while(gagne!=1 || gagne2!=2); }

Conclusion :


desolé pas de fonctions!!!!
mais ya un peu de commentaires!!! ;)

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.