验证码: 看不清楚,换一张 查询 注册会员,免验证
  • {{ basic.site_slogan }}
  • 打开微信扫一扫,
    您还可以在这里找到我们哟

    关注我们

怎么使用C语言实现珠玑妙算Mastermind小游戏

阅读:251 来源:乙速云 作者:代码code

怎么使用C语言实现珠玑妙算Mastermind小游戏

代码

这里其实原理与代码十分简单,是通过几个条件进行的逻辑判定。

#include
#include 
#include
 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 %dn",m,x,y,z,w);
   flag1++;
  }
     m++;//次数加一 
     i=0;
     j=0;//判断正确位置个数及确定错误位置、正确数值个数清零 
 }
}

运行尝试

怎么使用C语言实现珠玑妙算Mastermind小游戏

分享到:
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: hlamps#outlook.com (#换成@)。
相关文章
{{ v.title }}
{{ v.description||(cleanHtml(v.content)).substr(0,100)+'···' }}
你可能感兴趣
推荐阅读 更多>