经过一段时间c语言的学习,我们可以试着创建一些小游戏了,例如猜数字游戏
首先创建main函数,代表这个游戏的主要逻辑框架,作为启动游戏和终止游戏的媒介
int main()//主菜单
{
int input = 0;
srand((unsigned int)time(NULL));
do
{
printf("**********************\n");
printf("********1 play********\n");
printf("********0 exit********\n");
printf("**********************\n");
printf("请选择:");//游戏界面
scanf("%d", &input);
switch (input)
{
case 1:
game();//跳转到游戏中
break;
case 0:
printf("退出游戏\n");
break;
default:
printf("输入错误,重新输入\n");
break;
}
} while (input);//输入零时终止循环达到退出游戏的作用
return 0;
}
这里用rand函数设立了随机值,同时构建了游戏主菜单,接下来我们构建构成游戏本体的game函数
void game()//游戏部分
{
int guess = 0;
int r = rand() % 100 + 1;//限定范围0~100
while (1)
{
printf("请猜数字:");
scanf("%d",&guess);
if (r > guess)
printf("猜小了\n");
else if (r < guess)
printf("猜大了\n");
else
{
printf("猜对了\n");
break;
}
}
}
在while里输入1使其达到在猜对前可多次输入的效果,同时用break避免死循环,这一点尤为重要
完整代码展示:
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
void game()//游戏部分
{
int guess = 0;
int r = rand() % 100 + 1;//限定范围0~100
while (1)
{
printf("请猜数字:");
scanf("%d",&guess);
if (r > guess)
printf("猜小了\n");
else if (r < guess)
printf("猜大了\n");
else
{
printf("猜对了\n");
break;
}
}
}
int main()//主菜单
{
int input = 0;
srand((unsigned int)time(NULL));
do
{
printf("**********************\n");
printf("********1 play********\n");
printf("********0 exit********\n");
printf("**********************\n");
printf("请选择:");//游戏界面
scanf("%d", &input);
switch (input)
{
case 1:
game();//跳转到游戏中
break;
case 0:
printf("退出游戏\n");
break;
default:
printf("输入错误,重新输入\n");
break;
}
} while (input);//输入零时终止循环达到退出游戏的作用
return 0;
}