我是靠谱客的博主 安详冬瓜,最近开发中收集的这篇文章主要介绍简易的猜数字游戏前言一、代码二、组成部分1.思路5.测试游戏 ,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

用C语言实现简单的猜数字游戏

 

目录

前言

一、代码

二、组成部分

       1.思路

       2.菜单

       3.主函数

       4.游戏体

       5.测试游戏 


 

 

前言

各位如果觉得博主写的不错,请诸位多多支持(点赞+收藏+关注)。如果有不对的地方,欢迎指出。 

9f025468dd8a49049e49c98fe32fc069.jpeg 


 

 

一、代码

代码如下:

#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include <time.h>
#include <stdlib.h>           

//菜单
void menu()
{
	printf("**********************n");
	printf("        1.play        n");
	printf("        0.exit        n");
	printf("**********************n");
}

//游戏
int game()
{
	srand((unsigned int)time(NULL));   //随机生成数字
	int number=rand()%100;          
	printf("请输入数字n");
	while(1)
	{
		int input = 0;
		scanf("%d", &input);    //玩家猜数字
		if (input > number)
		{
			printf("猜大了,请重新输入数字n");
		}
		else if (input < number)
		{
			printf("猜小了,请重新输入数字n");
		}
		else
		{
			printf("猜对了n");
			break;
		}
	}
}

//主函数
int main()
{
	int i;
	do
	{
		menu();               //打印菜单
		scanf("%d", &i);
		switch (i)                  //选择是否开始游戏
		{
		case 1:
		{
			printf("开始游戏n");
			game();                   //输入1进入游戏
		}
		case 0:
		{
			printf("游戏结束n");         //输入0结束游戏
			break;
		}
		default:
            printf("输入错误,请重新输入n");   //输入错误时提示
			break;
		}
	} while (i);
	return 0;
}

二、组成部分

1.思路

猜数字游戏顾名思义,就是给出一个随机的给出一个0~100的整数。

玩家猜这个整数,猜对了,恭喜玩家,游戏结束;玩家猜错了,在屏幕上给出提示,玩家继续猜。

那么我们怎么用代码来实现这样一个游戏呢?

2.菜单

代码如下: 

//菜单
void menu()
{
	printf("**********************n");
	printf("        1.play        n");
	printf("        0.exit        n");
	printf("**********************n");
}

游戏开始前通常会给玩家说明供玩家游戏选项选择,比如选择开始游戏和结束游戏,那么我们就需要一个菜单;这个菜单很简单,用几个printf()库函数打印出几行字符串就行。玩家输入1表示玩游戏,玩家输入0就表示游戏结束。

3.主函数

代码如下: 

//主函数
int main()
{
	int i;                    
	do
	{
		menu();                      //打印菜单
        printf("请输入->");           
		scanf("%d", &i);             //输入
		switch (i)                   //选择是否开始游戏
		{
		case 1:
		{
			printf("开始游戏n");
			game();                             //玩家输入1进入游戏
            break;
		}
		case 0:
		{
			printf("游戏结束n");               //玩家输入0结束游戏
			break;
		}
		default:
            printf("输入错误,请重新输入n");   //输入错误时提示
			break;   
		}
	} while (i);                              //玩家输入0循环结束
	return 0;
}

 主函数当中,我采用do while的结构这样就能先执行一遍循环体;当程序运行时我们可以看到屏幕上打印出了菜单,这是提示玩家要输入选择开始游戏还是结束游戏。然后我们还需要一个分支语句,这里我用的是switch,在玩家输入相应的数字后,进入相应的分支。(1--玩游戏  0--结束游戏)

 402baa6f4cd449a09b4578a86c00db42.png

 可以看到玩家输入1游戏开始,玩家输入0游戏结束程序结束。

4.游戏体

代码如下:

//游戏
int game()
{
	srand((unsigned int)time(NULL));
	int number=rand() % 100 + 1;            //随机生成数字
	printf("请输入数字n");
	while(1)
	{
		int input = 0;
		scanf("%d", &input);
		if (input > number)
		{
			printf("猜大了,请重新输入数字n");
		}
		else if (input < number)
		{
			printf("猜小了,请重新输入数字n");
		}
		else
		{
			printf("猜对了n");
			break;
		}
	}
}
srand((unsigned int)time(NULL));   //随机生成数字
int number=rand()%100;  
#include <time.h>    //包含头文件(time())
#include <stdlib.h>  //包含头文件(srand()和rand())

首先,我们要生成一个随机数,而C语言中有一个函数rand()可以用来生成随机数。

a3ca633ccd47414780abc7c28d1331ab.png 当我们直接使用rand()库函数时,会发现这个函数的值并不是那么随机甚至会出现连续相等的值,这样一个不够随机的数是无法实现猜数字游戏的。 

rand()的使用之前,我们还要调用srand()来设置一个随机的起点,srand()需要一个参数来生成随机的起点;当我们给srand()传的参数是随机的时候,rand()也就是随机的。

srand((unsigned int)time(NULL)); 

所以这里我们需要时刻变化的值传给srand(),而时间是时刻变化的所以我们把时间也就是时间戳传进去;time()就是C语言获取时间戳的库函数,time()函数有参数所以我们传空指针过去,其返回类型为time_t,srand()需要一个无符号整型,用(unsigned int)把 time() 强制转换成无符号整型。(时间戳就是一个时间转换成数字)

srand()只需要调用一次,所以把它放在循环体的外面。

int number=rand() % 100 + 1;    

rand()生成一个整数再对100取余加1就得到一个1~100的随机数了。

while(1)
	{
		int input = 0;
		scanf("%d", &input);    //玩家猜数字
		if (input > number)                        //判断猜大了
		{
			printf("猜大了,请重新输入数字n");
		}
		else if (input < number)                   //判断猜小了
		{
			printf("猜小了,请重新输入数字n");
		}
		else                                       //判断是否猜对                                   
		{
			printf("猜对了n");
			break;
		}
	}

随机数确定后,玩家就可以开始玩游戏了。玩家猜数字可能猜很多次,所以我们把玩家猜数字的过程放在一个死循环当中;当玩家猜对数字时循环结束,否则给出相应的提示游戏继续。

5.测试游戏 

e5b5c324dc24491ab9d9991289952359.png

运行代码,输入1开始游戏,可以看到猜错了程序会给出相应的提示,而玩家猜对了游戏结束,玩家可以选择继续玩游戏。 

 

 

 

最后

以上就是安详冬瓜为你收集整理的简易的猜数字游戏前言一、代码二、组成部分1.思路5.测试游戏 的全部内容,希望文章能够帮你解决简易的猜数字游戏前言一、代码二、组成部分1.思路5.测试游戏 所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(50)

评论列表共有 0 条评论

立即
投稿
返回
顶部