Jeux Pendu !
Abdelhadi5425
Messages postés
4
Statut
Membre
-
chris79 Messages postés 97 Statut Membre -
chris79 Messages postés 97 Statut Membre -
Hello , I created the pendu game , any one can help me to minimize this code :
I also want to add a message like :
"You still have %d chance"
The full code :
for(j=0;j<lengh;j++)
{if(lengh==8){
x[i][j]=a[i][j];
if((i==0)&&(j==0))printf("********\n");
}
if(lengh==9){
x[i][j]=b[i][j];
if((i==0)&&(j==0))printf("*********\n");
}
if(lengh==10){
x[i][j]=c[i][j];
if((i==0)&&(j==0))printf("**********\n");
}
if(lengh==11){
x[i][j]=d[i][j];
if((i==0)&&(j==0))printf("***********\n");
}
if(lengh==12){
x[i][j]=e[i][j];
if((i==0)&&(j==0))printf("************\n");
I also want to add a message like :
"You still have %d chance"
The full code :
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{char a[3][8]={{'e','l','m','a','s','o','u','d'},{'s','o','u','f','i','a','n','e'},{'c','o','m','p','l','e','t','e'}};char h;
char b[3][9]={{'a','p','a','r','t','m','e','n','t'},{'s','o','m','e','t','h','i','n','g'},{'q','u','e','s','t','i','o','n','s'}};
char c[3][10]={{'p','o','p','o','l','a','t','i','o','n'},{'c','o','n','t','i','n','u','o','u','s'},{'r','e','s','t','o','u','r','o','n','t'}};
char d[3][11]={{'e','l','e','c','t','r','i','c','i','a','n'},{'p','i','t','e','u','s','e','m','e','n','t'},{'p','i','c','t','o','g','r','a','m','m','e'}};
char e[3][12]={{'m','a','r','c','h','a','n','d','i','s','e','s'},{'p','i','s','c','i','c','u','l','t','e','u','r'},{'b','o','m','b','a','r','d','e','m','e','n','t'}};
int row,level,lengh,n,i,cpt,s,j,r,bool; char ch[20];
printf("\n") ;
printf("Game Pendu\n") ;
printf("Final Exam TP - Algo2 \n") ;
etiq :
printf("\n### Games Levels :\n \n 1- Easy \n 2- Intermediate \n 3- Hard \n" );
printf("\n### Enter the Levels Of The Game =" );
scanf("%d",&level);
while((level<=0)||( level>3))
{
printf("\n Oups ! You entred a wrong value ! \n" );
printf("\n### Enter the Levels Of The Game Again =" );
scanf("%d",&level);
}
printf("\n### Enter The lengh Of The World : 8 , 9 , 10 , 11 or 12 Char \n" );
scanf("%d",&lengh);
while((lengh<8)||( lengh>12))
{
printf("\n Oups ! You entred a wrong Lengh ! \n" );
printf("\n### Enter The lengh Of The World Again , we have only : 8 , 9 , 10 , 11 or 12 Char \n" );
scanf("%d",&lengh);
}
printf("\n### Enter The Row Number : 1 , 2 or 3 \n" );
scanf("%d",&row);
while((row<1)||( row>3))
{
printf("\n Oups ! You entred a wrong Row Number ! \n" );
printf("\n### Enter The Row Number Again , we have only : 1 , 2 or 3 \n" );
scanf("%d",&row);
}
char x[3][lengh];
for(i=0;i<3;i++)
{
for(j=0;j<lengh;j++)
{if(lengh==8){
x[i][j]=a[i][j];
if((i==0)&&(j==0))printf("********\n");
}
if(lengh==9){
x[i][j]=b[i][j];
if((i==0)&&(j==0))printf("*********\n");
}
if(lengh==10){
x[i][j]=c[i][j];
if((i==0)&&(j==0))printf("**********\n");
}
if(lengh==11){
x[i][j]=d[i][j];
if((i==0)&&(j==0))printf("***********\n");
}
if(lengh==12){
x[i][j]=e[i][j];
if((i==0)&&(j==0))printf("************\n");
}
}
}
if(level==1)
n=9;
if(level==2)
n=6;
if(level==3)
n=3;
cpt=0;
while(n!=0)
{
r=0;
scanf("\n %c",&ch[cpt]);
s=0;
for(i=0;i<=lengh-1;i++)
{ bool=0;
for(j=0;j<=cpt+1;j++)
{if(x[row-1][i]==ch[j])
{if(j==cpt)
{s=1;}
bool=1;}
}
if( bool==1)
{printf("%c", x[row-1][i]);r=r+1;}
else
printf("*");
}
cpt=cpt+1;
if(s==0)
n=n-1;
if(r==lengh)
n=0;
}
if (r==lengh) {
printf("\n ### Congractulation :D , You can Play Again \n");
goto etiq ; }
else
printf("\n \n ### Game Over :( , You Can Play Again \n \n ") ;
goto etiq ;
system("PAUSE");
return 0;
}
A voir également:
- Jeux Pendu !
- Jeux java itel - Télécharger - Jeux vidéo
- Waptrick jeux - Télécharger - Jeux vidéo
- Jeux du pendu - Télécharger - Vie quotidienne
- Jeux java football - Télécharger - Jeux vidéo
- Jeux zuma - Télécharger - Jeux vidéo
2 réponses
Abdelhadi5425
Messages postés
4
Statut
Membre
C'es quoi ça ?
PierrotDu59
Messages postés
341
Statut
Membre
31
>
Abdelhadi5425
Messages postés
4
Statut
Membre
C'est une manière plus courte de dire Qu'est-ce-que c'est ?
Abdelhadi5425
Messages postés
4
Statut
Membre
Aha , c'est une abréviation : ) , je parle pas français bien , mais je veux minimiser ce code , peut être vous avez quelques idées ?
PierrotDu59
Messages postés
341
Statut
Membre
31
>
Abdelhadi5425
Messages postés
4
Statut
Membre
Non dsl je ne sais pas
Abdelhadi5425
Messages postés
4
Statut
Membre
Ok ,, Merci : )
Salut,
Quelques pistes en vrac :
1) Tu peux déjà utiliser un switch/case plutôt que cette succession de if.
2) Tu peux également supprimer ta double boucle for et utiliser un memcpy dans le style :
--> Du coup, reste à utiliser ensuite une simple boucle pour afficher les * :
3) J'ajouterai aussi qu'il faut que tu te renseignes sur malloc car :
n'est pas du tout recommandé...même si ça peut tomber en marche.
4) Enfin, tu devrais pouvoir facilement supprimer ton instruction goto qui n'est que très rarement utilisé en pratique et rend souvent difficile la lecture d'un code...surtout quand y'en a bcp ;)
Quelques pistes en vrac :
1) Tu peux déjà utiliser un switch/case plutôt que cette succession de if.
2) Tu peux également supprimer ta double boucle for et utiliser un memcpy dans le style :
memcpy(x,a,sizeof a);
--> Du coup, reste à utiliser ensuite une simple boucle pour afficher les * :
for (i=0;i<lengh;i++)
{
printf("*");
}
printf("\n");
3) J'ajouterai aussi qu'il faut que tu te renseignes sur malloc car :
scanf("%d",&lengh);
...
char x[3][lengh];
n'est pas du tout recommandé...même si ça peut tomber en marche.
4) Enfin, tu devrais pouvoir facilement supprimer ton instruction goto qui n'est que très rarement utilisé en pratique et rend souvent difficile la lecture d'un code...surtout quand y'en a bcp ;)