在家学习一本用c写游戏书!看了第一个游戏!觉得简单就自己写了!
想不到论坛还可以用手机登!还能发附件!
#include "stdio.h" #include "stdlib.h" #include "windows.h" #include "time.h" int Answer[4]; int InitGame(); int Random(int n); void GameProc(int n); void main() { int Num; InitGame(); printf("%d%d%d%d\n",Answer[0],Answer[1],Answer[2],Answer[3]); while(TRUE){ printf("如果你是猪一样的输入几个相等的数字和输入跟多字数,反正也不可能赢的,那你就是一个大PIG\n"); printf("请输入你认为可能的数字:"); scanf("%d",&Num); GameProc(Num);} } int InitGame() {int temp=0; srand(time(0)); printf(" 此游戏为猜字游戏 \n"); printf(" 游戏规则如下: \n"); printf("通过电脑随机出题(四个数字(0~9)):猜出数字并有相应的回馈信息\n 比方:题目9542 你猜是9528 就会反馈2A1B"); printf("A代表数字正确并且位置也正确,B代表数字正确但位置不对\n"); while(temp<3) { if(temp==0) {printf("电脑正在出题中·"); Sleep(500); printf("\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b"); } if(temp==1) {printf("电脑正在出题中··"); Sleep(500); printf("\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b"); } if(temp==2) {printf("电脑正在出题中···\n"); } temp++; } for(temp=0;temp<4;temp++) { oo:Answer[temp]=rand()%9; if(temp>0) if(!Random(temp)) goto oo; } return TRUE; } int Random(int n) {int temp=n; n=n-1; for(;n>=0;n--) if(Answer[temp]==Answer[n]) return FALSE; return TRUE; } void GameProc(int n) {int Num[4]; static int _n=0; int Compar; int ResultA=0; int ResultB=0; int Temp; int Total=0; Num[0]=n/1000; Num[1]=(n-Num[0]*1000)/100; Num[2]=(n%100-n%10)/10; Num[3]=n%10; for(Temp=0;Temp<4;Temp++) for(Compar=0;Compar<4;Compar++) if(Num[Temp]==Answer[Compar]) { ++ResultB; break;//因为4个数字是没有重复的数字,所以相等以后就不可能有相等的数字就直接跳出来,进行第二轮比较。 } Total=ResultB; for(Temp=0;Temp<4;Temp++) if(Num[Temp]==Answer[Temp]) ++ResultA; ResultB=Total-ResultA; if(ResultA==4) { printf(" 恭喜游戏胜利 \n"); printf(" 你好厉害只用了%d次就找出答案来了,小熊好崇拜你啊 \n",_n); Sleep(1000); exit(0); } _n++; printf("%d A %d B\n",ResultA,ResultB); }