数字游戏

数字猜谜游戏
本文介绍了一个基于C语言的数字猜谜游戏程序。游戏由计算机随机生成一个四位数,玩家需通过提示猜测正确数字及位置。程序包含游戏说明、规则及交互逻辑。

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <windows.h>

main()
{
 char chr;
 int i,j,m,p=0,q=0,n=0;
 int a[4],b[4];
 system("color 1E");
 
 printf("*******************************欢迎使用此软件*********************************/n/n/n/n");
 printf("★★★★★★★★★★★★★★★★★此软件为数字游戏★★★★★★★★★★★★★★★/n");
 printf("游戏介绍:/n");
 printf("计算机随机产生一个四位数,各位上的数字不重复,从0到9。按以下提示猜出这个四位数。/n");
    printf("(1)每次猜测输入的数据给出类似的提示*A*B。/n");
    printf("(2)其中A前的*代表你本次猜对了多少个数字。/n");
    printf("(3)其中B前的*代表你本次猜对的数字并且位置正确的个数。/n");
 printf("(4)每次只有十次机会~~/n/n/n/n/n/n");
    printf("是否开始游戏?/n""请按“1”开始输入或按其他键退出!!/n");
 chr=getchar();
 if(chr=='1')
  system("CLS");
 else
  exit(1);
 srand((int)time(0));
l3: j=(int)(10.0*rand()/(RAND_MAX+1.0));
 for (i=0;i<4;i++)
 {
l1: j=(int)(10.0*rand()/(RAND_MAX+1.0));
 for (m=0;m<i;m++)
 {
  if (j==a[m]) goto l1;
 }
 a[i]=j;
 //printf("%d",a[i]);
 }
    n=10;
l4: printf("剩余次数%d/n请输入您所猜的数!!每个数字用空格隔开!/n",n);
 p=0;
 q=0;
l2: scanf("%d",&b[0]);
    scanf("%d",&b[1]);
    scanf("%d",&b[2]);
    scanf("%d",&b[3]);
for(i=0;i<4;i++)
{
 for (m=i+1;m<4;m++)
 {
  if(b[i]==b[m]||b[i]>9||b[1]<0)
  {
  printf("输入数字有误!!请重新输入!!/n");
  goto l2;
  }
 }
//printf("%d",b[i]);
}
for(i=0;i<4;i++)
{
 for(j=0;j<4;j++)
 {
  if(a[i]==b[j])
  {
  p++;
  if(i==j)
  {
  q++;
  }
  }
 }
}
printf("%dA%dB/n",p,q);
if(q==4){
 printf("原数为%d %d %d %d/n",a[0],a[1],a[2],a[3]);
printf("恭喜您猜中此数!!/n是否重新开始游戏??/n是请按“1”继续;否请按其他键退出/n");
getchar();
chr=getchar();
if(chr=='1') {
 system("CLS");
 goto l3;
}
else exit(0);
}
else if (n==1)
{
printf("原数为%d %d %d %d/n",a[0],a[1],a[2],a[3]);
printf("抱歉您未猜中此数!!/n是否重新开始游戏??/n是请按“1”继续;否请按其他键退出/n");
getchar();
chr=getchar();
if(chr=='1'){
 system("CLS");
 goto l3;
}
else exit(0);
}
else {
 n--;
 goto l4;
}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值