50行代码带你实现一个猜数字小游戏——c语言

简介: 50行代码带你实现一个猜数字小游戏——c语言

视频演示:链接


一、猜数字小游戏的详细功能


 首先会生成一个菜单,菜单内容: 选择‘1’是开始游戏,‘0’是退出游戏。

当我们玩完一局后还可以重新选择继续玩或者退出游戏,也就是可以反复玩。

玩完一局后清除当前的全部输出,重新打开菜单。

当然,生成的随机数也是要有取值范围的。我们这里生成的随机值范围为1~100。

我们猜的数字比生成的数字大的时候,会给出提示:猜大了;猜小了也会有相应提示:猜小了;当猜对的时候会提示:猜对了。


二、猜数字游戏的详解思路


我们可以用do-while()循环来控制猜数字游戏,可以实现反复玩的作用。

首先我们可以生成一个简单的菜单,自定义一个meau()函数。

再次通过swith语句来选择开始游戏或者退出游戏,当然输入不符时要有相应提示;

然后我们再实现猜数字的过程,自定义一个game()函数。

生成随机数用到rand()函数,头文件<stdlib.h>,而rand()函数生成的随机值范围为0~32767。我们要生成一个1~100的随机值——rand()%100+1。

要求每次生成的随机值不相同,我们这里要用到srand()函数,头文件<stdlib.h>。  srand()函数用来初始化rand()函数随机数生成的起点,只需要调用一次就可以,不用多次初始化。如果rand函数每次生成随机值时,srand函数都来初始化随机数起点的话,生成的随机数是连续的。

因srand()函数初始化rand()函数随机数生成的起点,要让起点不同,这里还要引用time()函数,time()函数引用了时间戳的概念,头文件<time.h>时间戳也就是计算机从最开始到现在的时间,以秒为单位,是随时变化的。

每次猜对后,在重新开始游戏前需要清楚当前的输入,用到system()函数,头文件<stdlib.h>.也就是清屏——system(“cls”)。

do
{
}while();


三、猜数字小游戏代码实现

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#include<windows.h>
//猜数字游戏
void meau()
{
  printf("***********************\n");
  printf("****    1->play    ****\n");
  printf("****    0->exit    ****\n");
  printf("***********************\n");
}
void game()
{
  int ret = rand()%100+1; //生成一个随机值,头文件<stdlib.h>,这里除余+1的意思是生成1~100的随机值
  int n = 0;
  while (1)
  {
    printf("请输入所猜的数字:>");
    scanf("%d", &n);
    if (ret > n)
      printf("猜小了\n");
    else if (ret < n)
      printf("猜大了\n");
    else
    {
      printf("猜对了\n");
      break;
    }
  }
}
int main()
{
  srand((unsigned int)time(NULL)); 
  int input = 0;
  do
  {
    meau(); //打印菜单
    printf("请选择:>");
    scanf("%d", &input);
    switch (input)
    {
    case 1:
      game();
      Sleep(1000);
      system("cls");
      break;
    case 0:
      printf("退出游戏\n");
      break;
    default:
      printf("选择错误,请重新选择。\n");
      break;
    }
  } while (input);
  return 0;
}



注意,我们上面代码中的input巧妙的同时控制了switch语句的先择和do-while的判断条件。这里需要深刻的理解一下。


 time函数的使用:time(指针)函数引入的是时间戳,是一直变化的。头文件<time.h>,而time函数中的指针可以为空指针。


 综上就是我们的猜数字游戏的思路和代码的实现了。


四、总结

  1. 了解并且掌握rand()函数、srand()函数、time()函数,可以从cplusplus上查阅了解。
  2. 思路在这里很重要,要提前想好一个整体思路,再逐步实现相应的代码块。
  3. 熟练掌握switch语句。

相关文章
|
1月前
|
C语言 C++
【C语言】编写“猜数字“小游戏
【C语言】编写“猜数字“小游戏
|
1月前
|
编译器 C语言
猜数字游戏实现#C语言
猜数字游戏实现#C语言
82 1
|
1月前
|
存储 C语言
揭秘C语言:泊舟的猜数字游戏
揭秘C语言:泊舟的猜数字游戏
|
2月前
|
定位技术 API C语言
C语言——实现贪吃蛇小游戏
本文介绍了一个基于Windows控制台的贪吃蛇游戏的实现方法。首先,需调整控制台界面以便更好地显示游戏。接着,文章详细描述了如何使用Win32 API函数如`COORD`、`GetStdHandle`、`GetConsoleCursorInfo`等来控制控制台的光标和窗口属性。此外,还介绍了如何利用`GetAsyncKeyState`函数实现键盘监听功能。文中还涉及了`&lt;locale.h&gt;`库的使用,以支持本地化字符显示。
59 1
C语言——实现贪吃蛇小游戏
|
1月前
|
C语言 定位技术 API
【C语言】实践:贪吃蛇小游戏(附源码)(二)
【C语言】实践:贪吃蛇小游戏(附源码)
【C语言】实践:贪吃蛇小游戏(附源码)(二)
|
1月前
|
C语言 开发者
C语言实现猜数字小游戏(详细教程)
C语言实现猜数字小游戏(详细教程)
|
1月前
|
算法 编译器 C语言
【C语言】实现猜数字游戏(分支语句与循环语句的运用)
【C语言】实现猜数字游戏(分支语句与循环语句的运用)
|
1月前
|
C语言
【C语言】实践:贪吃蛇小游戏(附源码)(三)
【C语言】实践:贪吃蛇小游戏(附源码)
|
1月前
|
存储 API C语言
【C语言】实践:贪吃蛇小游戏(附源码)(一)
【C语言】实践:贪吃蛇小游戏(附源码)
|
1月前
|
C语言
C语言贪吃蛇小游戏来啦!
C语言贪吃蛇小游戏来啦!
30 0