这篇文章主要讲解了“怎么使用C语言实现珠玑妙算Mastermind小游戏”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么使用C语言实现珠玑妙算Mastermind小游戏”吧!
这里其实原理与代码十分简单,是通过几个条件进行的逻辑判定。
#include<stdio.h> #include <stdlib.h> #include<time.h> main() { int a,b,c,d,x,y,z,w,flag1=0,i=0,j=0,l=0,m=0; srand(time(NULL));//用机器时间设置随机种子 x=rand()%6+1;//生成6个随机数字 do {y=rand()%6+1;} while(y==x); do {z=rand()%6+1;} while(z==x || z==y); do {w=rand()%6+1;} while(w==z || w==x || w==y);//设置的6个随机数互不相同 while(flag1==0) { printf("请依次输入4个数字(1-6中),谢谢,这是第 %d 次尝试\n-\n ",m+1); scanf("%d %d %d %d",&a,&b,&c,&d); if(a==x) i++; if(b==y) i++; if(c==z) i++; if(d==w) i++; //确定正确位置个数 if(a!=x && (x==b || x==c || x==d)) j++; if(b!=y && (y==a || y==c || y==d)) j++; if(c!=z && (z==a || z==b || z==d)) j++; if(d!=w && (w==a || w==b || w==c)) j++; //确定错误位置、正确数值个数 printf("\n正确位置及数值有 %d 个,正确数值错误位置有 %d 个\n",i,j); if(i==4)//完全推出情况返回答案,反馈推理次数,跳出循环 { m++; printf("\n恭喜你答对了,你用了 %d 次,答案是: %d %d %d %d\n",m,x,y,z,w); flag1++; } m++;//次数加一 i=0; j=0;//判断正确位置个数及确定错误位置、正确数值个数清零 } }
感谢各位的阅读,以上就是“怎么使用C语言实现珠玑妙算Mastermind小游戏”的内容了,经过本文的学习后,相信大家对怎么使用C语言实现珠玑妙算Mastermind小游戏这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。