首先不要一开始就着急写,先把游戏的框架给搭建出来了,
1. 用户的界面搭建 可写一个函数来显示界面 提示用户输入
2. 根据用户的需求来实现接下来的功能,这里可以利用switch语句,根据用户的输入进入到游戏的函数中
3. 可以把框架放到一个循环中去,根据用户的条件然后退出循环可以利用do-while(退出循环的条件可以根据用户的输入来,只要条件不为0就一直输入)
3.游戏函数的编写:即使用随机数函数的一些细节
在调用随机数函数rand()时,需要先生成一个随机数的种子srand()函数而种子中也要放一个不确定的数,那么就可以用到time()函数,time函数返回的是一个指针,只要它的数值的话就需要在括号里面写一个NULL,返回的数值比较大,可以用一个unsigned int 强制转换
小细节:如果要生成一个0-100的随机数的话 就需要 rand()%100+1; %100 可以得到一个0-99的数值,加上1便可以得到一个0-100的随机数 随机数的调用需要用到#include<stdlib.h>
#include<math.h>
#include<time.h>
#include<stdlib.h>
//猜数字的小游戏
void menu(){
printf("##########################\n");
printf("*******输入1游戏开始,0结束游戏*******\n");
printf("###########################");
}
void game() {
int gess = 0;
printf("玩游戏\n");
int ret = rand()%100+1;
printf("请输入猜的值");
while (1) {
scanf("%d", &gess);
if (gess > ret) {
printf("猜大了\n");
}
if (gess < ret) {
printf("猜小了\n");
}
if (gess == ret) {
printf("猜对了\n");
break;
}
}
}
int main() {
srand((unsigned int)time(NULL));
int input = 0;
do {
menu();
printf("请输入:\n");
scanf("%d", &input);
switch (input) {
case 1: game();
break;
case 0: printf("游戏结束\n");
break;
default:printf("输入有误,请重新输入\n");
break;
}
}while (input);
return 0;
}