一、程序描述
用程序实现一个小游戏,利用电脑生成一个随机数,我们来猜数字,电脑判断是否正确,电脑会给一定的提示,帮助我们猜出答案
二、程序要点
1、需要这个游戏能够反复的去玩。
2、需要会利用时间戳生成随机数。
3、系统生成的数字不能打印出来,只能提示正确与否。
4、简单的menu菜单函数。
5、如果玩家选择错误应当提示选择错误并重新选择。
6、随机数代码不能放在程序外面,每次玩游戏调用一次就可以了。
7、对生成的随机数求余是因为随机数的范围过大,在0-32767之间,所以通过求余后加一把他约束到1-100。
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include<stdlib.h>
#include<time.h>
void menu()//菜单函数,只打印菜单,不做其他的事情
{
printf("***************************************\n");
printf("***************************************\n");
printf("*** 1.play 0.exit ***\n");
printf("***************************************\n");
printf("***************************************\n");
}
void game()
{
int guess = 0;
int ret = rand()%100+1;//生成随机数,在1-100之间,取余
while (1)
{
printf("请猜数字:>");
scanf_s("%d", &guess);//输入一个猜的答案
if (guess > ret)//以下是根据正确与否给出提示
{
printf("大了\n");
}
else if (guess < ret)
{
printf("小了\n");
}
else
{
printf("刚刚好\n");
break;
}
}
}
int main()
{
int input = 0;//定义玩家输入数字的整型空间
srand((unsigned)time(NULL));//时间戳,当前计算机的时间减去计算机的起始时间(1970.1.1.0:0:0),用时间戳设置随机数生成起点,对time函数调用,然后把他强制类型转换成unsigned,把time函数的参数设置为NULL,参数需要的是指针,可以给它一个空指针,不想让他产生识记的效果。
do
{
menu();
printf("请选择>:");
scanf_s("%d", &input);
switch (input)//
{
case 1:
game();//猜数字游戏
break;
case 0:
printf("退出游戏");
break;
default:
printf("选择错误");
break;
}
}
while (input);//只有当input为0时while语句结束
return 0;
}