#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
void menu ()//游戏菜单
{
printf("---------------------------------------\n");
printf("--------------猜数字游戏---------------\n");
printf("---------------------------------------\n");
printf("---------开始:1---------结束:0---------\n");
printf("---------------------------------------\n");
printf("-----请注意:本游戏只生成1~100的数字----\n");
}
void game()//游戏主体
{
int r = rand() % 100 + 1;//生成0~100间的整数------------rand函数需要srand以求不同的种子已生成与上一次生成的不同随机数.
//若生成100~200:100+rand()%101. 若生成a~b:a+rand()%(b-a+1)
int guess = 0;//猜测数字
int round = 5;//猜测回合数
while (round)
{
printf("\n你的机会还有%d次,请谨慎选择.\n", round);
printf("猜测数字-->");
scanf("%d", &guess);
if (guess < r)
{
printf("猜小了\n");
}
else if (guess > r)
{
printf("猜大了\n");
}
else
{
printf("恭喜你猜对了\n");
break;//游戏结束,跳出循环
}
round--;
}
if (round == 0)
{
printf("游戏失败,正确答案是%d\n", r);
}
}
int main()//游戏初始界面主体
{
int begin = 0;
srand((unsigned int)time(NULL));//设置随机数的种子,且避免生成随机数不够随机(相差很近).
do//起始界面的选择
{
menu();
printf("--->");
scanf("%d", &begin);
switch (begin)
{
case 1:
game();//进入游戏,注意这个main函数一定要在game函数后面,否则game()就会无定义
break;
case 0:
printf("游戏结束.");
default:
printf("操作失败,请按规则输入.");
break;
}
} while (begin);
return 0;
}