#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void menu()//游戏菜单
{
printf("**********************\n");
printf("****1.玩游戏0.退出****\n");
printf("**********************\n");
}
void init_game()//游戏初始化
{
printf("游戏开始!\n");
printf("炸弹已生成!!!\n");
printf("目标范围1-100,请输入你认为炸弹的数字:\n");
}
void game_ret(int num, int bomb, int head, int tail)//游戏逻辑的处理
{
bomb = rand() % 100 + 1;//生成1-100的随机数
while (1)//只要没猜中,就一直猜
{
if (num > tail || num < head)//超出范围提示重新输入
{
printf("数字超范围,请重新输入!");
scanf("%d", &num);
}
if (num >= head && num < bomb)//在head-炸弹数之间是猜小了
{
head = num + 1;//往前移一位
printf("猜小了!");
printf("目标范围%d--%d****请输入你认为炸弹的数字:\n", head, tail);
scanf("%d", &num);
}else if (num > bomb && num <= tail)//在炸弹数-tail之间是猜大了
{
tail = num - 1;//往后移一位
printf("猜大了!");
printf("目标范围%d--%d****请输入你认为炸弹的数字:\n", head, tail);
scanf("%d", &num);
}else if (num == bomb)//猜对输出结果
{
printf("bomb!!!,恭喜猜对了炸弹!!!,bingo!!!\n");
break;
}
}
}
int main(int argc, char const *argv[])
{
srand((unsigned int)time(NULL));// 给随机函数生成种子
int input; //菜单值变量
int num;//用户猜测变量
int bomb;//炸弹变量
int head = 1;
int tail = 100;
do
{
menu();
printf("请选择:>");
scanf("%d", &input);
switch (input)
{
case 1:
init_game();//游戏初始化
scanf("%d", &num);
game_ret(num, bomb, head, tail);//游戏结果
break;
case 0:
printf("已退出!");
break;
default:
break;
}
} while (input);
return 0;
}
猜炸弹小游戏
于 2023-08-04 19:07:45 首次发布