提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
提示:这里可以添加本文要记录的大概内容:
欢迎友友们!!!今天给大家带来一个轻松且易上手的小游戏——猜数字。
提示:以下是本篇文章正文内容,下面案例可供参考
一、什么是猜数字小游戏?
首先,由电脑随机生成一个数(1-100);由玩家们在电脑上随便输入一个数字,如果猜大了或者猜小了,电脑会提示你往大还是往小猜。此时玩家就需要再次输入一个数字,还是没猜对就重复执行,直到电脑显示你猜对了。猜对数字表示游戏结束,你成功啦!!!
是不是听起来很简单呢?下面我们来看如何具体实现它。
二、设计思路
1.游戏整体框架
设计一款小游戏,最最基本的就是构建整体框架;就像做饭,你得先想你要做什么菜,其次去菜市场采购;买回家后,开始备菜;最后,才能开始做菜。
我们今天要实现的是猜数字小游戏。首先,玩家要通过菜单栏选择玩或者退出,选择玩之后,再进入猜数字环节。
void print() {//菜单栏
}
void guess(){//猜数字函数
}
int main() {
int input = 0;//玩家输入
do{
print();
scanf("%d", &input);
switch (input)
{
case :
default:
}
} while (input);
return 0;
}
2.菜单栏(选择玩还是退出)
我们创建了一个函数print(),输出下列信息,玩家根据提示,输入1:则为开始游戏,输入0:则退出游戏;如果输入0或1以外的数字,则重新输入。
代码如下(示例):
void print() {
printf("********************\n");
printf("*******1.play*******\n");
printf("*******0.exit*******\n");
printf("********************\n");
}
int main() {
int input = 0;
do{
print();
scanf("%d", &input);
switch (input)
{
case 1:guess(); break;
case 0:exit(0);
default:printf("输入错误,请重新输入\n"); break;
}
} while (input);
3.电脑随机生成一个数
代码如下(示例):
int main() {
srand((unsigned int)time(NULL));//以现在的系统时间来作为随机数的种子即初始化系统随机数的种子值;
//确保每次运行都因为时间不同而产生不同的数
int input = 0;
do{
print();
scanf("%d", &input);
int answer = rand() % 100 + 1;//随机生成1-100的数字,需要根据种子值来获取随机数
switch (input)
{
case 1:guess(answer); break;
case 0:exit(0);
dafault:printf("猜错了,请重新输入:\n");
}
while(input);
4.猜数字函数
创建了一个guess()函数,将电脑随机生成的数字传给 guess()函数,通过以下代码去实现猜数字小游戏。
void guess(int a){
int i = 0;
do {
printf("请输入:\n");
scanf("%d", &i);
if (i > a)
printf("猜大了!往小了猜\n");
else if (i < a)
printf("猜小了!往大了猜\n");
else
printf("恭喜你!猜对啦!!!\n");
} while (i != a);
}
四、具体代码实现
1.完整代码
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h》
#include<stdlib.h>
#include<time.h>
void print() {
printf("********************\n");
printf("*******1.play*******\n");
printf("*******0.exit*******\n");
printf("********************\n");
}
void guess(int a){
int i = 0;
do {
printf("请输入:\n");
scanf("%d", &i);
if (i > a)
printf("猜大了!往小了猜\n");
else if (i < a)
printf("猜小了!往大了猜\n");
else
printf("恭喜你!猜对啦!!!\n");
} while (i != a);
}
int main() {
srand((unsigned int)time(NULL));//以现在的系统时间来作为随机数的种子即初始化系统随机数的种子值;
//确保每次运行都因为时间不同而产生不同的数
int input = 0;
do{
print();
scanf("%d", &input);
int answer = rand() % 100 + 1;//随机生成1-100的数字,需要根据种子值来获取随机数
switch (input)
{
case 1:guess(answer); break;
case 0:exit(0);
default:printf("输入错误,请重新输入\n"); break;
}
} while (input);
return 0;
}
2.运行结果
总结
是不是很简单呢?耍起来吧!!!