一个简单的数字炸弹游戏
开始会显示三行文字,告诉玩家一些小提示:
输入1~100内的数字,会显示游戏开始界面
如果输入其他的数字,他会一直显示这个画面
但是输入666会直接结束游戏,并且会告诉你炸弹数字
游戏没开始也可以输入666退出游戏
如果游戏正常执行,并且没有遇到炸弹数字,范围会逐渐减小
如果已经输入过炸弹数字周围的数字,则游戏结束,程序退出
但是如果踩到炸弹,那么游戏也会结束
这就是这个小游戏的全部内容了,下面是代码(第一次自己写代码,肯定会有不好的地方,大家多多担待)
#include <stdio.h>
int m = 1,n = 100;
int boom(int a){ //定义游戏开始的函数
int b = 0;
while(b != a){ //玩家不断输入数字,不断刷新新的范围
printf("目前范围%d~%d,请输入你认为的炸弹数字\n",m,n);
scanf("%d",&b);//获取玩家输入的数字
if(b == 666){
return 1;//异常结束,返回1
}
if(b > n || b < m); //确保玩家输入的时有效数字
else{
if(b > a){ //告诉玩家大小,同时改变有效范围
n = b - 1;
printf("大了\n");
}else{
if(b < a){
m = b + 1;
printf("小了\n");
}else{
printf("你输了\n");
return 0;//正常结束,返回0
}
}
}
if(m == n){ //若玩家找到炸弹数字周围的两个数字,则游戏胜利
printf("你赢了\n");
return 0;//正常结束,返回0
}
}
return 0;//游戏结束
}
int main()//主函数,程序开始界面
{
int a;
int c = 0;
printf("数字炸弹1-100\n");
printf("输入666结束游戏\n");
printf("请输入炸弹数字:\n");//输出游戏信息
scanf("%d",&a);//获得炸弹数字
while(a != 666){//若玩家想结束游戏,可是输入666直接结束
if(a > n || a < m){
printf("请输入炸弹数字:\n");
}else{
c = 1;//若c的值为1,说明游戏开始了
printf("游戏开始\n");
c =boom(a);//获取返回值
break;
}
}
printf("游戏结束\n");
if(c == 1){//若c的值为1,则是终止游戏,输出炸弹数字
printf("炸弹数字为%d\n",a);
}
return 0;