循环与分支——猜数字游戏(下)

 ✨✨ 欢迎大家来到小伞的大讲堂✨✨

🎈🎈养成好习惯,先赞后看哦~🎈🎈

所属专栏:C/C++项目实践
小伞的主页:xiaosan_blog

对于上节,我们学习了如何产生随机数和选定随机数的范围

接下来,就要开始编写我们的第一个小游戏了

猜数字游戏

编写代码是要有编写逻辑

首先,想一想,我们进入小游戏的时候,会先出现一个开始界面:所以这里就需要do while语句上场了

游戏的开始界面

#define _CRT_SECURE_NO_WARNINGS

void menu()       //括号里默认为viod,返回为空
{
    printf("***********************\n");
    printf("****** 1. play ******\n");
    printf("****** 0. exit ******\n");
    printf("***********************\n");
}
int main()
{
    int input;

//这里选用do while语句
    do
    {
        menu();                 //这里引用一个函数
        printf("请选择—>");
        scanf("%d", &input);      //这里是选择是否开始游玩 

        switch (input)            //运用switch循环,判断用户是否游玩
        {
        case(1):            //这里选择开始游玩·,接下来我就得编写游戏执行程序
            break;
        case(0):
            printf("结束游戏");
            break;
        default:
            printf("输入错误,请重新输入");
            break;
        }
    } while (input);
    return 0;
}

随机数的产生

头文件:

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

运用上节知识——产生随机数
srand((unsigned int) time(NULL));
void game()
{
    int z = rand() % 100 + 1;      //表示1至99的数
    int guess = 0;
    while (1) {                                    
        printf("请输入你猜的数字\n");
        scanf("%d", &guess);
        if (guess < z) {                      //使用if循环嵌套
            printf("猜小了\n");               //判断用户猜的值与随机数的大小的比较
        }
        else if (guess > z) {
            printf("猜大了\n");
        }
        else {
            printf("恭喜你猜对了\n");
            break;            //跳出循环
        }
    }
        
}

是不是对你来说太简单了!!!

那将这些组织起来吧

————————————————————————————————————————

最后成果

恭喜你获得了你的第一个小游戏

#define _CRT_SECURE_NO_WARNINGS

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


void menu()
{
    printf("***********************\n");
    printf("****** 1. play ******\n");               //游戏进入页面
    printf("****** 0. exit ******\n");
    printf("***********************\n");
}
void game()
{
    int z = rand() % 100 + 1;      //表示1至99的数
    int guess = 0;
    while (1) {                                    
        printf("请输入你猜的数字\n");
        scanf("%d", &guess);
        if (guess < z) {                      //使用if循环嵌套
            printf("猜小了\n");               //判断用户猜的值与随机数的大小的比较
        }
        else if (guess > z) {
            printf("猜大了\n");
        }
        else {
            printf("恭喜你猜对了\n");
            break;            //跳出循环
        }
    }
        
}


int main()
{
    int input=0;
    srand((unsigned int) time(NULL));       //用时间戳来产生随机数
    do
    {

        menu();
        printf("请选择—>");
        scanf("%d", &input);

        switch (input)           //用户选择是否进入游戏
        {
        case(1):
            game();
            break;
        case(0):
            printf("结束游戏\n");
            break;
        default:
            printf("输入错误,请重新输入\n");
            break;
        }
    } while (input);
    return 0;
}

快去试试看吧!!!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值