发一个猜单词游戏 法文版【原创】
程序代码:
/*******************************************TP8.h*******************************************/ #include <stdio.h> #include <string.h> // BANDE DE PERVERS! void initialiser(char mot[],int n); int placer(char mot1[],char c,char mot2[]); int global(void); /*******************************************TP8.c*******************************************/ #include "tp8.h" void initialiser(char mot[],int n) { mot[n]='\0'; for(n=n-1;n>=0;n--) mot[n]='-'; } int placer(char mot1[],char c,char mot2[]) { int i=0,res=0; while( mot1[i] != '\0') { if (mot1[i]==c) { mot2[i]=mot1[i]; res=1; } i++; } return res; } /*void affichependu(int reste,int etape) { if(*/ int global(void) { int len,n,i=0,res,dur; char mot1[27],mot2[27],mot3[27],c; system("stty -echo");//这里是为了不让输入的单词显示出来 printf("Joueur 1, proposez un mot à deviner :"); scanf("%s%*c",mot1); len=strlen(mot1); system("stty echo"); initialiser(mot2,len); if(len<9) n=5; else n=len/2+1; printf("\nMot de %d lettres à trouver en %d étapes. \n",len,n); printf("%s\n",mot2); while(i!=n) { printf("\nProposez une lettre: "); scanf("%c%*c",&c); res=placer(mot1,c,mot2); printf("%s\n",mot2); if(res==0) { printf("Cette lettre n'est pas présente.\n"); i++; } printf("Avez-vous reconnu le mot ? (o/n) \n"); scanf("%c%*c",&c); if( c == 'o' ) { printf("Mot? "); scanf("%s%*c",mot3); if(strcmp(mot3,mot1)==0) { printf("Bravo vous avez gagné!!!!\n"); printf("Mot trouvé en %d étapes.\n",i); return 0; } else printf("Désolé.\n"); } dur=n-i; if(dur) if(dur==1) printf("Il vous reste une étape.\n"); else printf("Il vous reste %d étapes.\n",dur); } printf("Vous avez perdu.\n"); printf("Le mot était %s.\n",mot1); return 0; } /*******************************************TESTTP8.c*******************************************/ #include "tp8.h" int main() { global(); return 0; }
====================================
Joueur 1, proposez un mot à deviner :输入要猜的单词
Mot de 7 lettres à trouver en 5 étapes.7个字母的在5步之内算赢
-------
Proposez une lettre: b输入一个字母
b------
Avez-vous reconnu le mot ? (o/n) 是否知道单词o=知道n=不知到
o
Mot? bonjour
Bravo vous avez gagné!!!!你成功了
Mot trouvé en 0 étapes.
==============================
可能算法方面有些小bug= =自动忽略就好了 或者自己修改下 反正 都是很简单的东西
[ 本帖最后由 清风刀客 于 2011-12-4 01:47 编辑 ]