一直很好奇游戏是怎么用计算机语言写出来的,毫无疑问游戏每一步的执行都是由程序在控制。初学c语言不久,也想尝试用语言去编写程序,下面是一个简单的猜数字游戏,以此为例,了解游戏的大概设计过程。
游戏概述分析:
首先提供给用户一个界面,供用户选择是玩游戏还是不玩了,把它写成一个函数,每次循环调用就会出现选择界面。第二个函数是游戏的主体过程,使用rand函数随机生成一个数,(rand函数在c语言中实际产生的数是伪随机数,通过srand函数可以让产生的随机数更真一些,它的原理是设置一个随机数种子,然后后续随机数依赖于种子值。格式为srand((unsigned int)time(NULL));)。while(1)恒为真,用户不断的去猜。此程序的入口从main开始,用switch语句提供了三种可能,为1的时候就调用game函数,为2退出,其他显示输入错误。
具体代码如下:
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
void menu()
{
printf("***************\n");
printf("***1、玩游戏***\n");
printf("***2、不玩了***\n");
printf("***************\n");
}
void game()
{
int ret=0,guess=0;
ret=rand()%100+1;
while(1)
{
printf("请按数字->:");
scanf("%d",&guess);
if(guess>ret)
{
printf("猜大了\n");
}
else if(guess<ret)
{
printf("猜小了\n");
}
else
{
printf("恭喜你,猜对了!\n");
break;
}
}
}
int main()
{
int input=0;
srand((unsigned int)time(NULL));
do
{
menu();
printf("请选择->:\n");
scanf("%d",&input);
switch(input)
{
case 1:
game();
break;
case 2:
printf("退出游戏\n");
break;
default:
printf("选择错误,请重新选择!\n");
break;
}
}
while(input);
return 0;
}