目录
一.实现该小游戏所用到的知识点
1.分支与循环语句
2.函数
二.游戏的实现思路
三.游戏主体的实现
1.游戏菜单的实现
?2.主函数必不可少
3.游戏内容
四.该游戏全部的代码
五.游戏运行实况
一.实现该小游戏所用到的知识点
1.分支与循环语句
????????if? ?switch选择语句的使用
????????while? ?do while循环语句的使用
2.函数
? ? ? ? 会用time时间戳来设定随机值
//time()中不要()中的参数,而这个参数需要指针,所以可以NULL(空指针),不让它产生实际效果
//time()是long(长整型),需要我们通过unsigned强制类型转换为int类型
srand((unsigned int)time(NULL));
?上述创建后,接下来就可以使用rand()来生成随机数
ret = rand() % 100 + 1;
二.游戏的实现思路
? ? ? ? 1.我们应该让这个小游戏可以反复的去玩,并且应该做一个菜单(根据菜单可以玩完一把再来一把)。因此我们可以用一个函数做一个菜单,并把这个菜单放入一个循环中,以便于再次去玩。
? ? ? ? 2.这个猜数字小游戏应该有一些提示,比如:猜大了,应该告诉我们猜大了;猜小了,应该告诉我们猜小了;猜对了,则应该告诉我们猜对了。
? ? ? ? 3.每次游玩这个小游戏的时候,都应该生成一个随机的数,来让我们猜。
三.游戏主体的实现
1.游戏菜单的实现
void menu()
{
printf("**************************\n");
printf("******* 0.exit *******\n");
printf("******* 1.play *******\n");
printf("**************************\n");
}
?2.主函数必不可少
????????在主函数中我们应该完成菜单函数的循环,这里我们可以用do while循环,因为do while循环第一次进入循环时无需条件,因此只要我们运行,就会打印出菜单,然后再根据我们的选择去判断是否继续执行该循环。同时创建srand,来为接下来的rand生成随机数做准备。
int main()
{
int input = 0;
srand((unsigned int)time(NULL));//时间戳
do
{
menu();
printf("请选择>:");
scanf("%d", &input);
//根据输入的数,来执行不同的操作
switch (input)
{
case 0:
printf("退出游戏\n");
break;
case 1:
game();
break;
default:
printf("选择错误,请重新选择\n");
break;
}
} while (input);
return 0;
}
3.游戏内容
void game()
{
int ret = 0;
int guess = 0;
ret = rand() % 100 + 1;//让生成的随机数在1-100之间,否则生成的数过大,就比较难猜到
while (1)
{
printf("请猜数字>:");
scanf("%d", &guess);
if (guess > ret)
{
printf("猜大了\n");
}
else if (guess < ret)
{
printf("猜小了\n");
}
else
{
printf("恭喜你,猜对了\n");
break;
}
}
}
四.该游戏全部的代码
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void menu()
{
printf("**************************\n");
printf("******* 0.exit *******\n");
printf("******* 1.play *******\n");
printf("**************************\n");
}
void game()
{
int ret = 0;
int guess = 0;
ret = rand() % 100 + 1;
while (1)
{
printf("请猜数字>:");
scanf("%d", &guess);
if (guess > ret)
{
printf("猜大了\n");
}
else if (guess < ret)
{
printf("猜小了\n");
}
else
{
printf("恭喜你,猜对了\n");
break;
}
}
}
int main()
{
int input = 0;
srand((unsigned int)time(NULL));
do
{
menu();
printf("请选择>:");
scanf("%d", &input);
switch (input)
{
case 0:
printf("退出游戏\n");
break;
case 1:
game();
break;
default:
printf("选择错误,请重新选择\n");
break;
}
} while (input);
return 0;
}
五.游戏运行实况
|