100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > 用C语言写一个简单的小游戏——猜数字

用C语言写一个简单的小游戏——猜数字

时间:2019-08-03 02:08:21

相关推荐

用C语言写一个简单的小游戏——猜数字

我们该如何设计这个程序?

1.首先应该打印一个菜单,让玩家选择玩游戏或者退出游戏

2.当玩家选择玩游戏,我们让电脑生成一个1~100的随机数,让玩家去猜

3.如果玩家猜的数比电脑生成的数大,我们提示猜大了

4,如果玩家猜的数比电脑生成的数小,我们提示猜小了

5.如果玩家猜的数等于猜的数,我们说玩家猜对了

#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<stdlib.h>#include<time.h>void menu(){printf("*********************************\n");printf("*************1.猜数字************\n");printf("*************0.退出游戏**********\n");printf("*********************************\n");}void game(){int ret = rand() % 100 + 1;int guess = 0;while (1){printf("请猜数字\n");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("请选择(1 or 0)");scanf("%d", &input);switch (input){case(1):game();//写一个函数用来实现猜数字的逻辑break;case(0):printf("退出游戏\n");break;default:printf("请重新选择\n");break;}} while (input);return 0;}

这个程序的难点是如何让电脑生成一个随机数。

虽然rand函数可以随机生成一个0~RAND_MAX的整数;但是我们如果不对这个函数进行设置的话,它每次生成的一组随机数是一样的。

我们这里不设置随机rand函数,把生成的随机书打印出来给大家看一下

可以看到俩组生成的随机数一样。

所以我们要对rand函数进行设置。

srand可以对rand函数进行设置,srand()括号里面的数字是可以改变rand函数的随机值的,所以我们要在strand函数里面写一个会变化的数字。

那么什么东西是一直在变化的呢?答案当然是时间啦,这里简单说一下时间戳,每一个时间都对应这一个时间戳。而time这个函数就可以返一个时间戳,所以我们把time函数的返回值给srand函数。

这里也要注意传给srand的数需要的类型是无符号整形(unsigned int),而time函数返回的是整形(int)所以我们要用unsigned int 强制转换一下time函数返回的时间戳的类型。

接下来给大家看设置了rand函数后生成的随机值。

可以看到生成的随机数是不一样的

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。