鹏哥的猜数字小游戏

猜数字游戏

电脑产生一个随机数,定义一个范围(1~100)

我们去猜

先做菜单(menu)

然后一步步测试逻辑,不然最后bug堆积

然后写游戏函数

头文件<stdlib.h>

生成随机数,

----------1.

用rand()函数

生成数为 0~RAND_MAX (332767)

生成了伪随机数 每次生成的都一样

需要srand来控制生成的数

srand()需要一个数,如果数固定,生成的每一次都一样,所以要传入一个随机数,该技术可以用时间戳(即传入当前的时间)

时间戳要time函数获得

头文件<time.h>

time_t time (time_t *timer)

time_t 是一个 类型, 整数类型

返回的是time_t的类型的数

srand()内需要unsigned类型的数

所以要强制转化一下类型

srand((unsigned)time(NULL))

空指针NULL

初始化指针 用NULL

为了范围生成在1~100

而现有rand()

rand()%100 范围为0~99

rand()%100+1 范围为1~100

--------------------------------------------------------------------------------------------------------------------------------------

以下为代码

//猜数字游戏

#include<stdio.h>

#include<stdlib.h>

#include<time.h>

//菜单

void menu()

{

printf("$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\n");

printf("$$$$$$$$$$$$<< 扣1开始玩游戏 >>$$$$$$$$$$$$\n");

printf("$$$$$$$$$$$$$<< 扣0退出游戏 >>$$$$$$$$$$$$$\n");

printf("$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\n");

}

//游戏

void game()

{

int n = 0;

int x = 0;

int set = rand()%100+1;

printf("请输入你猜的数字:>");

while (1)

{

x++;

scanf("%d", &n);

if (n > set)

{

printf("猜大了,请重猜:>");

}

else if (n < set)

{

printf("猜小了,请重猜:>");

}

else

{

printf("恭喜你哦,耗费%d次猜对答案咯\n", x);

break;

}

}

}

int main()

{

srand((unsigned)time(NULL));

menu();

int x = 0;

do

{

scanf("%d", &x);

switch (x)

{

case 1:

printf("开始游戏咯\n");

printf("########################################\n");

printf("########################################\n");

game();

break;

case 0:

printf("--------------已退出游戏----------------\n");

printf("########################################\n");

break;

default:

break;

}

menu();

} while (x);

return 0;

}

全部评论

相关推荐

站队站对牛:兄弟 你这是四年就当大一过了吧 也许你校园卡 赚了有五位数了
点赞 评论 收藏
分享
notbeentak...:孩子,说实话,选择很重要,可能你换一个方向会好很多,但是现在时间不太够了,除非准备春招
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务