|
Trouver une ressource
Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !
UN PUISSANCE 4 EN C JE NE L'AVAIS PAS TROUVÉ SUR LE SITE ALORS JE L'AI FAIT..VOILÀ
Description
C'est un jeu de puissance 4 en mode 2 joueurs, assez simple.
Source
- #include<stdio.h>
- #include<stdlib.h>
- #include<math.h>
-
- /* Début du programme principal */
-
- main()
-
-
-
- {
- /*Déclaration des variables */
- int i,j,num;
- int h0,h1,h2,h3,h4,h5,h6,num1;
- int jeu[7][6];
- int gagne, gagne2;
- char nom1[20], nom2[20],rep,o;
-
- /*Tant que on veut jouer le programme se lance*/
- do
- {
- /*Initialisation de certaines variables*/
- gagne=0;
- gagne2=0;
- h0=0;h1=0;h2=0;h3=0;h4=0;h5=0;h6=0;
-
- /*Impression de la page de presentation:*/
-
- printf("\n\n\n\n");
- printf("\t\t********************************************\n");
- printf("\t\t* *\n");
- printf("\t\t* BIENVENUE DANS LE PUISSANCE 4 *\n");
- printf("\t\t* *\n");
- printf("\t\t* DE FANF ET MAXOU *\n");
- printf("\t\t* *\n");
- printf("\t\t********************************************");
-
- /*Saisie des noms des deux joueurs: */
- printf("\n\n\n\tNom du premier joueur:\n");
- scanf("%s",nom1);
- printf("\n\n");
- printf("\n\n\tNom du deuxieme joueur:\n");
- scanf("%s",nom2);
- printf("\n\n");
-
- /* Initialisation du tableau toutes les cases prennent la valeur 0*/
- for(i=0;i<7;i++)
- {
- for(j=0;j<6;j++)
- {
-
- jeu[i][j]=0;
- }
- }
-
- /*Affichage du plateau de jeu vide*/
- printf("| 0 | 1 | 2 | 3 | 4 | 5 | 6 |\n");
- printf("|---|---|---|---|---|---|---|\n");
- for(j=5;j>=0;j--)
- {
- for(i=0;i<7;i++)
- {
- printf("| %d ",jeu[i][j]);
- }
- printf("|\n");
- printf("|---|---|---|---|---|---|---|\n");
- }
- printf("\n| 0 | 1 | 2 | 3 | 4 | 5 | 6 |\n\n");
-
- /*Tant qu'un joueur n'a pas gagné le programme demande de jouer*/
- do
- {
- /*Le joueur 1 joue*/
- do
- {
- printf("A vous de jouer %s, donner un numero de colonne (de 0 à 6):\n",nom1);
- scanf("%d",&num);
- printf("\n");
-
- /*Test sur la hauteur des colonnes, si elle sont remplies ou non*/
- if((num==0 && h0>5)|| (num==1 && h1>5) || (num==2 && h2>5) || (num==3 && h3>5) || (num==4 && h4>5) || (num==5 && h5>5) || (num==6 && h6>5))
- {
- printf("la colonne %d est pleine, %s donner un numero de colone autre que %d \n",num,nom1,num);
- num = -1;
- }
- }while(num<0 || num>6);
-
- /*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;
-
- /*Vérification horizontale pour savoir si le joueur a gagné:
- on balaye toutes les lignes de 0 à 6 en vérifiant 4 cases à chaque fois
- Si 4 cases qui se suivent valent 1 alors gagne prend pour valeur 1*/
- for(i=0;i<4;i++)
- {
- for(j=0;j<6;j++)
- {
- if(jeu[i][j]==1 && jeu[i+1][j]==1 && jeu[i+2][j]==1 && jeu[i+3][j]==1)
- gagne=1;
- }
- }
- /*Même chose mais verticalement maintenant*/
- for(i=0;i<7;i++)
- {
- for(j=0;j<3;j++)
- {
- if(jeu[i][j]==1 && jeu[i][j+1]==1 && jeu[i][j+2]==1 && jeu[i][j+3]==1)
- gagne=1;
- }
- }
-
- /*Et diagonale bas gauche vers haut droit*/
- for(i=0;i<7;i++)
- {
- for(j=0;j<6;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;
- }
- }
- /*Même chose pour les diagonales bas droite vers haut gauche*/
- for(j=0;j<6;j++)
- {
- for(i=6;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 de la grille */
- printf("| 0 | 1 | 2 | 3 | 4 | 5 | 6 |\n");
- printf("|---|---|---|---|---|---|---|\n");
- for(j=5;j>=0;j--)
- {
- for(i=0;i<7;i++)
- {
- printf("| %d ",jeu[i][j]);
- }
- printf("|\n");
- printf("|---|---|---|---|---|---|---|\n");
- }
- printf("\n| 0 | 1 | 2 | 3 | 4 | 5 | 6 |\n\n");
-
- /* On incremente 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++];
-
- /*Test pour savoir si le joueur 1 a gagné, si c'est le cas alors arret de la boucle*/
- if(gagne==1)
- {
- printf("%s a gagne!!!\n bravo!!!\n",nom1);
- break;
- }
-
-
- /*On recommence pour le joueur 2*/
- do
- {
- printf("A vous de jouer %s, donner un numero de colonne (de 0 à 6):\n",nom2);
- scanf("%d",&num1);
- printf("\n");
-
- if((num1==0 && h0>5)|| (num1==1 && h1>5) || (num1==2 && h2>5) || (num1==3 && h3>5) || (num1==4 && h4>5) || (num1==5 && h5>5) || (num1==6 && h6>5))
- {
- printf("la colonne %d est pleine, %s donner un numero de colone autre que %d \n",num1,nom2,num1);
- num1 = -1;
- }
- }while(num1<0 || num1>6);
-
-
- 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;
-
-
- for(i=0;i<4;i++)
- {
- for(j=0;j<6;j++)
- {
- if(jeu[i][j]==2 && jeu[i+1][j]==2 && jeu[i+2][j]==2 && jeu[i+3][j]==2)
- gagne=2;
- }
- }
- for(i=0;i<7;i++)
- {
- for(j=0;j<3;j++)
- {
- if(jeu[i][j]==2 && jeu[i][j+1]==2 && jeu[i][j+2]==2 && jeu[i][j+3]==2)
- gagne=2;
- }
- }
-
- for(i=0;i<7;i++)
- {
- for(j=0;j<6;j++)
- {
- if(jeu[i][j]==2 && jeu[i+1][j+1]==2 && jeu[i+2][j+2]==2 && jeu[i+3][j+3]==2)
- gagne=2;
- }
- }
-
- for(j=0;j<6;j++)
- {
- for(i=6;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)
- gagne=2;
- }
- }
- printf("| 0 | 1 | 2 | 3 | 4 | 5 | 6 |\n");
- printf("|---|---|---|---|---|---|---|\n");
- for(j=5;j>=0;j--)
- {
- for(i=0;i<7;i++)
- {
- printf("| %d ",jeu[i][j]);
- }
- printf("|\n");
- printf("|---|---|---|---|---|---|---|\n");
- }
- printf("\n| 0 | 1 | 2 | 3 | 4 | 5 | 6 |\n\n");
-
-
-
- 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(gagne==2)
- {
- printf("%s a gagne!!!\n bravo!!!\n",nom2);
- break;
- }
-
-
-
-
- } while(gagne!=1 || gagne2!=2);
- printf("voulez vous refaire une partie ? ('o' ou 'n')\n");
- scanf("%s",&rep);
- printf("\n\n\n\n");
- }while(rep=='o');
-
- }
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
/* Début du programme principal */
main()
{
/*Déclaration des variables */
int i,j,num;
int h0,h1,h2,h3,h4,h5,h6,num1;
int jeu[7][6];
int gagne, gagne2;
char nom1[20], nom2[20],rep,o;
/*Tant que on veut jouer le programme se lance*/
do
{
/*Initialisation de certaines variables*/
gagne=0;
gagne2=0;
h0=0;h1=0;h2=0;h3=0;h4=0;h5=0;h6=0;
/*Impression de la page de presentation:*/
printf("\n\n\n\n");
printf("\t\t********************************************\n");
printf("\t\t* *\n");
printf("\t\t* BIENVENUE DANS LE PUISSANCE 4 *\n");
printf("\t\t* *\n");
printf("\t\t* DE FANF ET MAXOU *\n");
printf("\t\t* *\n");
printf("\t\t********************************************");
/*Saisie des noms des deux joueurs: */
printf("\n\n\n\tNom du premier joueur:\n");
scanf("%s",nom1);
printf("\n\n");
printf("\n\n\tNom du deuxieme joueur:\n");
scanf("%s",nom2);
printf("\n\n");
/* Initialisation du tableau toutes les cases prennent la valeur 0*/
for(i=0;i<7;i++)
{
for(j=0;j<6;j++)
{
jeu[i][j]=0;
}
}
/*Affichage du plateau de jeu vide*/
printf("| 0 | 1 | 2 | 3 | 4 | 5 | 6 |\n");
printf("|---|---|---|---|---|---|---|\n");
for(j=5;j>=0;j--)
{
for(i=0;i<7;i++)
{
printf("| %d ",jeu[i][j]);
}
printf("|\n");
printf("|---|---|---|---|---|---|---|\n");
}
printf("\n| 0 | 1 | 2 | 3 | 4 | 5 | 6 |\n\n");
/*Tant qu'un joueur n'a pas gagné le programme demande de jouer*/
do
{
/*Le joueur 1 joue*/
do
{
printf("A vous de jouer %s, donner un numero de colonne (de 0 à 6):\n",nom1);
scanf("%d",&num);
printf("\n");
/*Test sur la hauteur des colonnes, si elle sont remplies ou non*/
if((num==0 && h0>5)|| (num==1 && h1>5) || (num==2 && h2>5) || (num==3 && h3>5) || (num==4 && h4>5) || (num==5 && h5>5) || (num==6 && h6>5))
{
printf("la colonne %d est pleine, %s donner un numero de colone autre que %d \n",num,nom1,num);
num = -1;
}
}while(num<0 || num>6);
/*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;
/*Vérification horizontale pour savoir si le joueur a gagné:
on balaye toutes les lignes de 0 à 6 en vérifiant 4 cases à chaque fois
Si 4 cases qui se suivent valent 1 alors gagne prend pour valeur 1*/
for(i=0;i<4;i++)
{
for(j=0;j<6;j++)
{
if(jeu[i][j]==1 && jeu[i+1][j]==1 && jeu[i+2][j]==1 && jeu[i+3][j]==1)
gagne=1;
}
}
/*Même chose mais verticalement maintenant*/
for(i=0;i<7;i++)
{
for(j=0;j<3;j++)
{
if(jeu[i][j]==1 && jeu[i][j+1]==1 && jeu[i][j+2]==1 && jeu[i][j+3]==1)
gagne=1;
}
}
/*Et diagonale bas gauche vers haut droit*/
for(i=0;i<7;i++)
{
for(j=0;j<6;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;
}
}
/*Même chose pour les diagonales bas droite vers haut gauche*/
for(j=0;j<6;j++)
{
for(i=6;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 de la grille */
printf("| 0 | 1 | 2 | 3 | 4 | 5 | 6 |\n");
printf("|---|---|---|---|---|---|---|\n");
for(j=5;j>=0;j--)
{
for(i=0;i<7;i++)
{
printf("| %d ",jeu[i][j]);
}
printf("|\n");
printf("|---|---|---|---|---|---|---|\n");
}
printf("\n| 0 | 1 | 2 | 3 | 4 | 5 | 6 |\n\n");
/* On incremente 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++];
/*Test pour savoir si le joueur 1 a gagné, si c'est le cas alors arret de la boucle*/
if(gagne==1)
{
printf("%s a gagne!!!\n bravo!!!\n",nom1);
break;
}
/*On recommence pour le joueur 2*/
do
{
printf("A vous de jouer %s, donner un numero de colonne (de 0 à 6):\n",nom2);
scanf("%d",&num1);
printf("\n");
if((num1==0 && h0>5)|| (num1==1 && h1>5) || (num1==2 && h2>5) || (num1==3 && h3>5) || (num1==4 && h4>5) || (num1==5 && h5>5) || (num1==6 && h6>5))
{
printf("la colonne %d est pleine, %s donner un numero de colone autre que %d \n",num1,nom2,num1);
num1 = -1;
}
}while(num1<0 || num1>6);
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;
for(i=0;i<4;i++)
{
for(j=0;j<6;j++)
{
if(jeu[i][j]==2 && jeu[i+1][j]==2 && jeu[i+2][j]==2 && jeu[i+3][j]==2)
gagne=2;
}
}
for(i=0;i<7;i++)
{
for(j=0;j<3;j++)
{
if(jeu[i][j]==2 && jeu[i][j+1]==2 && jeu[i][j+2]==2 && jeu[i][j+3]==2)
gagne=2;
}
}
for(i=0;i<7;i++)
{
for(j=0;j<6;j++)
{
if(jeu[i][j]==2 && jeu[i+1][j+1]==2 && jeu[i+2][j+2]==2 && jeu[i+3][j+3]==2)
gagne=2;
}
}
for(j=0;j<6;j++)
{
for(i=6;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)
gagne=2;
}
}
printf("| 0 | 1 | 2 | 3 | 4 | 5 | 6 |\n");
printf("|---|---|---|---|---|---|---|\n");
for(j=5;j>=0;j--)
{
for(i=0;i<7;i++)
{
printf("| %d ",jeu[i][j]);
}
printf("|\n");
printf("|---|---|---|---|---|---|---|\n");
}
printf("\n| 0 | 1 | 2 | 3 | 4 | 5 | 6 |\n\n");
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(gagne==2)
{
printf("%s a gagne!!!\n bravo!!!\n",nom2);
break;
}
} while(gagne!=1 || gagne2!=2);
printf("voulez vous refaire une partie ? ('o' ou 'n')\n");
scanf("%s",&rep);
printf("\n\n\n\n");
}while(rep=='o');
}
Fichier Zip
Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !
Télécharger le zip
Sources de la même categorie
Commentaires et avis
|
Comparez les prix Nouvelle version
|