用C语言写了个拆弹益智游戏

用C语言写了个拆弹益智游戏

作为一个C语言还没入门的准大二学生,闲来无事,用C语言写了一个小游戏。游戏是猜一个八位密码,有五十次机会,每次输入后会告诉你对了几位,但不会告诉你是哪几位。我第一次看到这个游戏还楞了一会,知道方法以后其实很简单。感觉还挺有趣,就用C语言把他写了出来。代码无规范辣眼睛,大佬见谅。

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
char a[8],b[8];
void randomPassword()//生成8位随机密码
{
    int i;
    srand(time(0));
    for(i=0;i<8;i++)
        a[i]='0'+(rand()%10);
}
int judge()//判断正确的位数
{
    int i;
    int count=0;
    for(i=0;i<8;i++)
    {
        if(b[i]>'9'||b[i]<'0')  return -1;
        if(a[i]==b[i])   count++;
    }
    return count;
}
int main()
{
    printf("勇敢的拆弹者你好,来做个游戏吧!这里有一个炸弹,解除炸弹需要输入正确的八位密码。你只有50次尝试的机会。系统会提示本次输入有几位密码正确,但不会告诉具体是哪几位。开始拆弹吧!\n");
    int times;//剩余次数
    int correct;//正确的位数
    randomPassword();
    for(times=50;times>0;times--)
    {
        printf("你还剩余%d次机会,请输入密码:",times);
        gets(b);
        correct=judge();
        if(correct==8)
        {
            printf("恭喜你,密码正确\n");
            break;
        }
        else if(correct==-1)    
            printf("你输入的密码位数不正确\n");
        else if(correct!=8&&times==1)   
            printf("很遗憾,拆弹失败!\n");
        else    
            printf("该密码有%d位正确\n",correct);
    }
    return 0;
}
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值