【C语言】初学者也可以实现的简单小游戏--------猜数字

简介: 首先介绍一下这款游戏猜数字:电脑随机生成一个数字num,玩家来猜,如果猜的数比系统生成的num大,则提示“猜大了”,如果猜的数比系统生成的那个数字小,则提示“猜小了”,直到猜到生成的那个数字位置,提示“恭喜你!猜对了!”。
  • 首先介绍一下这款游戏

猜数字:电脑随机生成一个数字num,玩家来猜,如果猜的数比系统生成的num大,则提示“猜大了”,如果猜的数比系统生成的那个数字小,则提示“猜小了”,直到猜到生成的那个数字位置,提示“恭喜你!猜对了!”。

  • 接下来展示一下我们要实现的效果


1dbfb85d23d44995bfc95a5e2d6be658.png

参考上面的图片我们总结出以下问题

  • 首先我们需要一个菜单栏
  • 输入1或0选择进入或退出游戏,结束游戏之后还需返回菜单栏页面
  • 生成一个1-100的随机数
  • 进入游戏后,对玩家猜的数字和系统生成的数字比较大小并且进行判断

对问题逐一解答

void menu()
{
  printf("********************************************\n");
  printf("**********1. 开   使   游   戏  ************\n");
  printf("**********0..      退      出   *************\n");
  printf("********************************************\n");
}

菜单栏我们选择直接打印,为了使代码更有阅读性将其包装在函数中


do
{ 
  menu();
  printf("请选择(1 or 0):");
  scanf("%d", &input);
  switch (input)
  {
  case 1:
    game();
    break;
  case 0:
    break;//如果input为0直接结束do while语句
  default:
    printf("输入错误,请重新输入\n");
  }
} while (input);

用户选择0或1执行退出或进入游戏我们选择switch case语句,如果进入游戏,结束游戏之后依然会继续跳出菜单栏,所以我们选择在外面加上一个do whlie语句

srand((unsigned int)time(NULL));
int num = rand()/100+1;

生成随机数我们选择rand函数,生成rand函数还需要先使用srand函数,srand函数里面需要放入随机值,我们生活中常见的随机值就是时间,所以我们把时间戳函数放入,再把rand函数%100+1这样我们生成的随机数就是1-100的。

int num = rand()%100+1;
  int guess = 0;
  printf("猜1-100中的数字\n");
  while (1)
  {
    scanf("%d", &guess);
    if (num > guess)
    {
      printf("猜小了\n");
    }
    else if (num < guess)
    {
      printf("猜大了\n");
    }
    else
    {
      printf("恭喜你,猜中了!\n");
      break;
    }
  }

对数字大小于随机数进行比较,并且提示猜大了或者猜小了,直到猜中为止。 对判断我们选择if else语句,在猜对之前不可以退出,所以循环上我们选择’1‘不停循环直到猜对遇到break为止。

  • 将四个部分进行整合
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>//输入输出库函数需要的头文件
#include <time.h>//时间戳库函数需要的头文件
#include <stdlib.h>//生成随机数库函数需要的头文件
//猜数字游戏
void game()
{
  int num = rand()%100+1;
  int guess = 0;
  printf("猜1-100中的数字\n");
  while (1)
  {
    scanf("%d", &guess);
    if (num > guess)
    {
      printf("猜小了\n");
    }
    else if (num < guess)
    {
      printf("猜大了\n");
    }
    else
    {
      printf("恭喜你猜中了\n");
      break;
    }
  }
}
void menu()
{
  printf("********************************************\n");
  printf("**********1. 开   使   游   戏  ************\n");
  printf("**********0..      退      出   *************\n");
  printf("********************************************\n");
}
int main()
{ 
  srand((unsigned int)time(NULL));//库函数规定里面的值必须为unsigned int所以强制类型转换
  int input = 0;
  do
  { 
    menu();
    printf("请选择(1 or 0):");
    scanf("%d", &input);
    switch (input)
    {
    case 1:
      game();
      break;
    case 0:
      break;
    default:
      printf("输入错误,请重新输入\n");
    }
  } while (input);//输入0为退出,input为假,退出循环结束程序
}

这就是猜数字游戏的全部过程啦!如果觉得作者写的不错可以点赞关注一下,祝各位新年快乐~~!!



a2af4bcf2ffe4bcd91a983c6856d705f.jpg













相关文章
|
2月前
|
C语言 C++
【C语言】编写“猜数字“小游戏
【C语言】编写“猜数字“小游戏
103 1
|
2月前
|
编译器 C语言
猜数字游戏实现#C语言
猜数字游戏实现#C语言
91 1
|
2月前
|
存储 C语言
揭秘C语言:泊舟的猜数字游戏
揭秘C语言:泊舟的猜数字游戏
|
3月前
|
定位技术 API C语言
C语言——实现贪吃蛇小游戏
本文介绍了一个基于Windows控制台的贪吃蛇游戏的实现方法。首先,需调整控制台界面以便更好地显示游戏。接着,文章详细描述了如何使用Win32 API函数如`COORD`、`GetStdHandle`、`GetConsoleCursorInfo`等来控制控制台的光标和窗口属性。此外,还介绍了如何利用`GetAsyncKeyState`函数实现键盘监听功能。文中还涉及了`&lt;locale.h&gt;`库的使用,以支持本地化字符显示。
78 1
C语言——实现贪吃蛇小游戏
|
3月前
|
存储 安全 算法
C 语言——实现扫雷小游戏
本文介绍了使用二维数组创建棋盘并实现扫雷游戏的方法。首先,通过初始化数组创建一个9x9的棋盘,并添加行列标识以便操作。接着,利用随机数在棋盘上布置雷。最后,通过判断玩家输入的坐标来实现扫雷功能,包括显示雷的数量和处理游戏胜利或失败的情况。文中提供了完整的代码实现。
56 1
C 语言——实现扫雷小游戏
|
2月前
|
存储 API C语言
【C语言】实践:贪吃蛇小游戏(附源码)(一)
【C语言】实践:贪吃蛇小游戏(附源码)
|
2月前
|
C语言 定位技术 API
【C语言】实践:贪吃蛇小游戏(附源码)(二)
【C语言】实践:贪吃蛇小游戏(附源码)
【C语言】实践:贪吃蛇小游戏(附源码)(二)
|
2月前
|
C语言 开发者
C语言实现猜数字小游戏(详细教程)
C语言实现猜数字小游戏(详细教程)
|
2月前
|
算法 编译器 C语言
【C语言】实现猜数字游戏(分支语句与循环语句的运用)
【C语言】实现猜数字游戏(分支语句与循环语句的运用)
|
2月前
|
C语言
【C语言】实践:贪吃蛇小游戏(附源码)(三)
【C语言】实践:贪吃蛇小游戏(附源码)