数字炸弹游戏

数字炸弹游戏规则:在一个数字范围内,有一个数字作为炸弹,谁猜中这个炸弹就被惩罚。比如范围是1~100,炸弹是60,然后猜了一个数字是30,30不是炸弹,那么现在猜数字的范围就缩小到31~100,又猜了一个数字80,80也不是炸弹,那么现在又缩小范围到31~79,直到有人猜中这个炸弹,然后就受到惩罚。
要求:输入两个正整数Iow和high分别代表炸弹范围的下界与上界,并根据Iow和high的范围值生成一个随机数即炸弹。然后玩家输入一个数,判断如果不是炸弹,然后让电脑缩小范围,输入下一个数字,如果还不是炸弹再次缩小范围输入,下来又到电脑,依次反复,直到找到炸弹。

【例】

 数字炸弹游戏
 设置炸弹范围:1~100
 猜一个炸弹数字:3
 太幸运了没有爆炸!炸弹范围:4~10
 猜一个炸弹数字:6
 猜中炸弹!BOOM~~~!

思路:

看红色字体示范,更快了解问题思路

1.设置范围:自己设置一个炸弹范围。

2.生成炸弹:在自己输入一个炸弹范围内的炸弹数字

3.开始游戏:在自己输入一个炸弹范围内猜一个炸弹数字

4.进行判断:猜中显示“ 猜中炸弹!BOOM~~~!”,没有猜中就将我们猜错的数字从范围内删除,重新再猜。一直循环这一步骤。

执行项目后显示:

等待设置炸弹的数字

如果输入正确(即在1-100范围内)

显示游戏开始:

如果输入错误,则重新输入,直到输入正确:

进入猜炸弹数字的环节:

输入错误:

输入炸弹数字后:

输入666显示:

 项目代码

#include <stdio.h>
int main(int argc, char const *argv[])
{
    int n, m;
    printf("数字炸弹范围1-100\n");
    printf("输入666游戏结束\n");
    printf("请设置炸弹数字为:\n");
    scanf("%d", &n);
    while (1)
    {
        if (n == 666)
        {
            printf("游戏退出\n");
            break;
        }
        if (n >= 1 && n <= 100)
        {
            int x = 1, y = 100;
            printf("游戏开始!\n");
            while (1)
            {
                printf("目前范围%d---%d*****", x, y);
                printf("请输入你认为炸弹的数字:\n");
                scanf("%d", &m);
                if (m == n)
                {
                    printf("你中弹了!\n");
                    break;
                }
                else if (m == 666)
                {
                    printf("游戏退出\n");
                    printf("炸弹是:%d\n", n);
                    break;
                }
                else if (m > n)
                {
                    if (m > y)
                    {
                        printf("请重新输入:\n");
                        
                    }
                    else
                    {
                        printf("大了!!!\n");
                        y = m - 1;
                    }
                }
                else if (m < n)
                {
                    if (m < x)
                    {
                        printf("请重新输入:\n");
                        
                    }
                    else
                    {
                        printf("小了!!!\n");
                        x = m + 1;
                    }
                }
                continue;
            }
            break;
        }
        else
        {
            printf("请重新输入:\n");
            scanf("%d", &n);
            continue;
        }
    }
    return 0;
}

运行结果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值