目录
1.基本原理
2.分块目标及代码实现
1.基本原理
我们让电脑生成一个1~100范围内的随机数,我们输入一个值,电脑给出反馈如:猜大了或猜小了。以便我们可以缩小猜数字的区间,来猜到最后的答案。
2.分块目标及代码实现
和本人其他博客中的小游戏一样,我们先打印一个菜单,再获取玩家输入的值并给出反馈,若输入1则进行游戏,若为0则退出游戏,我们这里不再赘述,代码如下:
int main(){srand((unsigned int)time(NULL));int input = 0;do {menu();scanf("%d", &input);if (input == 1){printf("进行游戏\n");printf("请输入数字\n");game();}else if (input == 0)printf("退出游戏");elseprintf("输入错误,请重新输入");} while (input);return 0;}
我们使用do while语句来完成这一目标,do while可以很方便的在玩家输入之前就进行一次循环体打印出菜单。我们接下来主要讲述游戏具体的实现。首先我们需要电脑生成一个随机数,上述代码中的srand就是用来取一个随机种子,以至于我们每次进行的游戏电脑生成的随机数不同。但问题又来了,电脑生成的随机数是范围无限大的,而我们游戏中需要的是1~100的数字,我们使用生成的随机数模上100再加1,这样就得到了1~100之间的数字。生成了随机数之后,再将随机数与玩家输入的数相比较,再给出反馈。完整代码如下:
#include<time.h>#include<stdlib.h>#include<stdio.h>void menu(){printf("***********************\n");printf("****** 1.play ******\n");printf("****** 0.exit ******\n");printf("***********************\n");}void game(){int i = rand()%100+1;while (1){int a = 0;scanf("%d", &a);if (a > i)printf("猜大了\n");if (a < i)printf("猜小了\n");if (a == i){printf("猜对了,答案是%d\n", a);break;}}}int main(){srand((unsigned int)time(NULL));int input = 0;do {menu();scanf("%d", &input);if (input == 1){printf("进行游戏\n");printf("请输入数字\n");game();}else if (input == 0)printf("退出游戏");elseprintf("输入错误,请重新输入");} while (input);return 0;}
感谢大家的阅读,欢迎大家点赞评论,互关互注,祝大家万事如意。
如果觉得《《C语言入门》猜数字小游戏代码实现》对你有帮助,请点赞、收藏,并留下你的观点哦!