首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >手把手教你创建一个猜数字游戏!小白专属~

手把手教你创建一个猜数字游戏!小白专属~

作者头像
用户11039545
发布2024-03-28 17:19:37
发布2024-03-28 17:19:37
2960
举报
文章被收录于专栏:c语言c语言

建立猜数字游戏所需要的知识有:循环和函数,只要了解这两个知识点,就可以搭建这样一个简易而又有趣的小游戏!

1创立主题部分

首先,第一步,创立一个主函数,这是程序运行的主题,我们所要搭建的枝叶,也是从这个框架中逐步扩展出去的

代码语言:javascript
复制
#include<stdio.h>
int main()
{int input=0
do{

}while();
return 0;
}

我们已经搭建好了函数的主题部分,现在需要思考,要实现猜数字程序,我们还需要运用到哪些函数?

2加入菜单

相信大家都玩过单机小游戏,我们首先接触到的就是菜单,菜单中有基本的选项:选择游戏或者退出游戏,因此我们需要一个菜单,也就是menu函数(在do while循环中加入)。

下面是这个代码的进一步完善:

代码语言:javascript
复制
​
void menu()
{
     printf("************************\n");
     printf("****     1.play  *******\n");
     printf("****     2.exit  *******\n");
     printf("************************\n");
}




#include<stdio.h>
int main()
{
    int input=0
    do{
         menu();
         printf("请选择:");
         scanf("%d",&input);//输入0或1选择是否开始游戏

       }while(input);
    return 0;
}

​

3加入随机数函数

既然是猜数字游戏,那么我们需要一个函数来生成随机数,在cplusplus中搜索rand()函数,我们可以了解它的使用方法。

实际上,由此函数生成的随机数是有范围的:0到RAND_MAX之间。而这个函数中随机数的生成并不是真正生成,而是伪随机数:看似随机,实际每一次生成的值固定,由种子决定。

那么我们可以让种子变化来使随机数真正随机。

自然,需要引用srand函数和time函数。time函数能够生成时间戳,使得每次结果一定不同。

代码语言:javascript
复制
void menu()
{
     printf("************************\n");
     printf("****     1.play  *******\n");
     printf("****     2.exit  *******\n");
     printf("************************\n");
}




#include<stdio.h>
#include<time.h>
int main()
{
    int input=0
    srand((unsigned int)time(NULL));//
    do{
         menu();
         printf("请选择:");
         scanf("%d",&input);//输入0或1选择是否开始游戏

       }while(input);
    return 0;
}

当生成菜单,在用户做出选择之后,需要跳转界面,以满足用户的需求。因此,我们需要添加一个switch函数,来完成以上目的。

代码语言:javascript
复制
switch(input)
{
case 1:
   game();
   break;
case 0:
   printf("退出游戏\n");
   break;
default:
   printf("选择错误,重新选择\n");
   break;
}

在进入游戏后,我们需要函数来完成进入游戏之后的过程。

代码语言:javascript
复制
void game()
{
    int guess=0;
    int ret=rand()%100+1;
//生成随机数的公式:如果要生成a~b的随机数,那么rand()后的内容应是(b-a+1)+a
while(1)//一直循环
{
    printf("请输入要猜的数字:>");
    scanf("%d",&guess);
    if(guess<ret)
    {
        printf("猜小了\n");
    }
    else if(guess>ret)
    {
        printf("猜大了\n");
    }
    else {
         printf("猜对了,恭喜你!数字是:%d\n",ret);
         break;
         }
}

4设置游戏次数

为了使程序更加优化,我们还可以设置游戏次数来让游戏过程更加刺激!

代码语言:javascript
复制
void game()
{
    int guess=0;
    int ret=rand()%100+1;
//生成随机数的公式:如果要生成a~b的随机数,那么rand()后的内容应是(b-a+1)+a
    int count=5;//设置游戏的次数为五次
while(count)//一直循环改为根据次数进行循环
{
    printf("请输入要猜的数字:>");
    scanf("%d",&guess);
    if(guess<ret)
    {
        printf("猜小了\n");
    }
    else if(guess>ret)
    {
        printf("猜大了\n");
    }
    else {
         printf("猜对了,恭喜你!数字是:%d\n",ret);
         break;
         }
   count--;//每进行一次,次数减少1
  if(count==0)
{
         printf("次数用完了,正确答案是:%d\n",ret);
}
    }

5Finally!!

将我们搭建的框架组合起来,就得到了完整的程序代码:

代码语言:javascript
复制
void menu()
{
     printf("************************\n");
     printf("****     1.play  *******\n");
     printf("****     2.exit  *******\n");
     printf("************************\n");
}
void game()
{
    int guess=0;
    int ret=rand()%100+1;
//生成随机数的公式:如果要生成a~b的随机数,那么rand()后的内容应是(b-a+1)+a
    int count=5;//设置游戏的次数为五次
while(count)//一直循环改为根据次数进行循环
{
    printf("请输入要猜的数字:>");
    scanf("%d",&guess);
    if(guess<ret)
    {
        printf("猜小了\n");
    }
    else if(guess>ret)
    {
        printf("猜大了\n");
    }
    else {
         printf("猜对了,恭喜你!数字是:\n",ret);
         break;
         }
   count--;
  if(count==0)
{
         printf("次数用完了,正确答案是:\n",ret);
}
  }
#include<stdio.h>
int main()
{
    int input=0
    do{
         menu();
         printf("请选择:");
         scanf("%d",&input);//输入0或1选择是否开始游戏
         switch (input)
         {
         case 1:
              game();
              break;
         case 0:
              printf("退出游戏\n");
              break;
         default:
              printf("选择错误,重新选择\n");
              break;
         }
    }while(input);
    return 0;
}

​

既然这样的话,我只能玩两把了(bushi)

在我玩了10次后,终于猜对了一次,艰难。

不知道你有没有学会呢,VS!启动!快跟我一起猜数字吧(doge),赌狗的游戏~~~~

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-12-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1创立主题部分
  • 首先,第一步,创立一个主函数,这是程序运行的主题,我们所要搭建的枝叶,也是从这个框架中逐步扩展出去的,
  • 2加入菜单
  • 相信大家都玩过单机小游戏,我们首先接触到的就是菜单,菜单中有基本的选项:选择游戏或者退出游戏,因此我们需要一个菜单,也就是menu函数(在do while循环中加入)。
  • 3加入随机数函数
  • 4设置游戏次数
  • 5Finally!!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档