C语言实现简单猜数字游戏(1-100)

简介: C语言实现简单猜数字游戏(1-100)

实现代码:

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
void menu()
{
  printf("***********************************\n");
  printf("*********1.play  0.exit  **********\n");
  printf("***********************************\n");
  printf("请输入数字\n");
}
void game()
{
  printf("游戏开始\n");
  int x = rand() % 100 + 1;
  int guess = 0;
  while (1)
  {
    scanf("%d", &guess);
    if (guess > x)
      printf("猜大了\n");
    else if (guess < x)
      printf("猜小了\n");
    else
    {
      printf("恭喜你猜对了!\n");
      break;
    }
  }
}
int main()
{
  srand((unsigned int)time(NULL));
  int ret = 0;
  do {
    menu();
    scanf("%d", &ret);
    switch (ret)
    {
    case 1:
      game();
           break;
    case 0:
      printf("游戏结束");
           break;
    default:
      printf("发生错误,请重新输入");
         break;
    }
  } while (ret);
  return 0;
}

随机数的产生:

猜字谜游戏最精髓的地方就在于数字随机,但如何实现数字随街呢?随机意味着数字在不停的变动,而什么东西是在一直变动的呢?不难想到,时间就是一直在变动的事物,因此要产生随机数需要借助rand,srand和time函数,前两个函数在stdlib.h头文件中,time函数在time.h头文件中.

如何用rand和srand函数实现随机数的产生:

首先第一步:rand函数在生产随机数之前,要使用srand函数设置随机数的生成器,如图,调用srand函数并给出一个随机数的种子,使用了time函数得到了时间戳,时间戳在强制转换类型后就成为了srand函数的一个种子,随后再调用rand函数就可得出随机数字.

由于随机数的范围限制在1到100,因此,使用rand函数得出随机值后模100再加一就得到了在1到100之间范围的数字.

总体逻辑:

使用do while循环来达到多次游戏的实现,在do while内设置switch语句来达到分支选择的效果,玩家可以选择玩游戏或者退出游戏.

分别封装menu和game函数,将menu菜单函数放在do while循环里来实现每次游戏前都会出现游戏菜单,将game函数放置在case 1分支里来实现选择游戏后的效果.

在输入1选择游戏后就会生成一个随机值用局部变量x来接受,此时同样也会有一个局部变量guess等待玩家输入赋值,通过玩家输入赋值与x进行比较不同的结果对应不同的反应.

游戏效果图如下:

结尾:本次分享到此结束,欢迎大家互相交流学习,共同进步!

目录
相关文章
|
3天前
|
C语言
【C语言】猜数字小游戏的一步一步实现2
【C语言】猜数字小游戏的一步一步实现
|
3天前
|
算法 C语言
【C语言】猜数字小游戏的一步一步实现1
【C语言】猜数字小游戏的一步一步实现
|
3天前
|
算法 C语言 C++
【C语言实战项目】三子棋游戏
【C语言实战项目】三子棋游戏
33 1
|
3天前
|
程序员 C语言
【C语言实战项目】猜数字游戏
【C语言实战项目】猜数字游戏
31 0
【C语言实战项目】猜数字游戏
|
3天前
|
C语言
关于使用C语言编写一个简单的猜数字游戏
关于使用C语言编写一个简单的猜数字游戏
25 0
|
3天前
|
算法 C语言
【C语言】三子棋游戏实现代码
【C语言】三子棋游戏实现代码
【C语言】三子棋游戏实现代码
|
3天前
|
C语言
C语言-------扫雷游戏的代码实现
C语言-------扫雷游戏的代码实现
29 0
|
3天前
|
算法 C语言 C++
【C语言-扫雷游戏全功能详解】
【C语言-扫雷游戏全功能详解】
40 1
|
3天前
|
算法 编译器 C语言
C语言猜数字小游戏(也包含python实现的用法)
本文基于VS2022、pycharm和前面的知识,写一个凭借分支与循环的小游戏,比如: 写一个猜数字游戏 游戏要求: 电脑自动生成1~100的随机数 玩家猜数字,猜数的过程中,根据猜测数据的大小给出大了或小了的反馈,直到猜对,游戏结束 在pyhton中生成随机数是比较简单的,可以直接导入random的包,直接生成随机数,导致写猜数字小游戏变成了判读语句和循环语句嵌套就能写出来,所以我不做过多的介绍了,可以直接看后面的代码展示,想了解更多的python可看python的基础知识,这里面有我在学习python的过程中写的笔记
35 0
|
3天前
|
C语言
C语言实战演练之游戏框架
C语言实战演练之游戏框架