说明:C语言是结构化程序设计语言,结构化指的是顺序、选择、循环语句,用这些语句编写一个小的游戏代码,猜数字游戏。
猜数字游戏的代码分析
1、进入菜单进行选择,1玩,0退出,除此外会出现输入错误,重新选择的提醒。
2、电脑产生一个随机数(1-100),用rand()函数,但是使用rand之前需要先使用srand()函数去设置随机器,根据时间戳,才会使它设置的随机器值是随机的。
3、时间戳time(指针参数),如果不使用,可以设置成NULL;time类型是time-t,srand类型是unsigned int,所以需要强制类型转换。
4、选择菜单中的1,就开始玩游戏,游戏主要思想:如果猜的数字大于随机数,打印出“猜大了”;小于随机数,打印出“猜小了”;等于随机数,打印出“猜对了”,结束程序。
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
void game()
{
int guess = 0;
//生成一个随机数1-100,范围0-RAND-MAX ,0-32767
int ret=rand()%100+1;//(0-99)+1-》1-100
while (1)
{
printf("请猜数字\n");
scanf("%d", &guess);
if (guess > ret)
printf("猜大了\n");
else if(guess<ret)
{
printf("猜小了\n");
}
else
{
printf("恭喜你,猜对了\n");
break;
}
}
}
void menu()
{
printf("#################\n");
printf("######1 .play####\n");
printf("######0 .exit####\n");
printf("#################\n");
}
int main()
{
int input = 0;
//打印菜单
do
{
menu();
printf("请选择\n");
scanf("%d", &input);
//整个程序只要调用一次,生成随机数就好
srand((unsigned int)time(NULL));//时间戳,time里面是指针类型,类型是time-t,不想使用用NULL
switch (input)
{
case 1:
game();
break;
case 0:
printf("退出游戏\n");
break;
default:
printf("输入错误,重新选择\n");
break;
}
} while (input);
return 0;
}