猜数字游戏大家不陌生吧,如果不了解的话证明你是个乖宝宝,酒吧聚会去的少,研究透彻这个问题就可以自己做一个简易版的扫雷游戏了。
首先Mr.狠人先给大家介绍一下猜数字游戏,在酒局上我们先选一个人让他在心里随机想一个数字(1-100之间),然后剩下的玩家去猜这个数字,如果猜到了你就获得胜利(当然胜利的惩罚可能是罚酒哦),如果没有猜到对方心里的数字,那么会被提示猜大了,还是猜小了。
那我们如何将这个游戏在代码上实现呢,首先我们需要有一个随机数作为我们的 “traget" 。这时候就需要用到C语言中的rand函数。
#include <time.h>
#include <stdlib.h>
int main()
{
srand((unsigned int)time(NULL));
int target = rand()%100+1;//控制随机数生成的范围
}
(rand函数基础使用方法如上,如果大家感兴趣,Mr.狠人会出一期随机数详解)
接下来的代码其实就是比较大小,同学们的代码就信手拈来了吧
#include <time.h>
#include <stdlib.h>
#incldue <stdio.h
//封装菜单
void meun()
{
printf("* * * * * * * * * *\n");
printf("* * * 1. play * * *\n");
printf("* * * 0. exit * * *\n");
printf("* * * * * * * * * *\n");
}
//封装游戏主体
void guess_game()
{
//生成随机数
int target = rand()%100+1;
//猜数字
int guess = 0;
while(1)
{
printf("请猜数字:");
scanf("%d", &guess);
if (guess < target)
{
printf("猜小了");
}
else if (guess > target)
{
printf("猜大了");
}
else
{
printf("猜对了,随机数是%d\n", target);
break;
}
}
}
int main()
{
int input = 0;//创建一个变量用于接收玩家的指令
srand((unsigned int)time(NULL));//srand只需要调用一次
do
{
meun();
scanf("%d", &input);
switch (input)
{
case 1:
guess_game();
break;
case 0:
printf("退出游戏\n");
break;
default:
printf("选项无效,请重新选择\n");
break;
}
} while (input);
return 0;
}
看起来代码一大串,其实就是注意rand和srand的使用就行。剩下的都是一些基础知识的结合使用。如果还没有学过函数的同学们可以直接将代码写在main函数内部,但建议看看Mr.狠人的封装函数,其实很简单的,研究一会儿对函数就有一个基础的概念了。