Jeux Pendu !
Abdelhadi5425
Messages postés
4
Date d'inscription
Statut
Membre
Dernière intervention
-
chris79 Messages postés 97 Date d'inscription Statut Membre Dernière intervention -
chris79 Messages postés 97 Date d'inscription Statut Membre Dernière intervention -
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 zuma - Télécharger - Jeux vidéo
- Jeux java football - Télécharger - Jeux vidéo
2 réponses
Abdelhadi5425
Messages postés
4
Date d'inscription
Statut
Membre
Dernière intervention
C'es quoi ça ?
PierrotDu59
Messages postés
218
Date d'inscription
Statut
Membre
Dernière intervention
31
>
Abdelhadi5425
Messages postés
4
Date d'inscription
Statut
Membre
Dernière intervention
C'est une manière plus courte de dire Qu'est-ce-que c'est ?
Abdelhadi5425
Messages postés
4
Date d'inscription
Statut
Membre
Dernière intervention
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
218
Date d'inscription
Statut
Membre
Dernière intervention
31
>
Abdelhadi5425
Messages postés
4
Date d'inscription
Statut
Membre
Dernière intervention
Non dsl je ne sais pas
Abdelhadi5425
Messages postés
4
Date d'inscription
Statut
Membre
Dernière intervention
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 ;)