猜数字游戏

╰+攻爆jí腚メ 2023-10-13 22:21 241阅读 0赞

猜数字游戏

    • 一、游戏描述
    • 二、代码实现
    • 1.生成游戏菜单
    • 2.构建主函数
    • 3.构建游戏函数
    • 三、总代码

博主主页:库库的里昂
专栏1:C语言初阶
专栏2:代码小游戏
欢迎 关注 点赞 收藏 评论

前言

猜数字小游戏是我们大多数人学习C语言时都会了解到的一个有趣的C语言小游戏,下面我将详细介绍该游戏的实现和编程逻辑。并用二分法速通该小游戏。玩小游戏的同时,也能对C语言控制语句有更好的认识。

一、游戏描述

游戏内容

顾名思义,该程序让系统随机生成一个0-100的整数,让玩家来猜,玩家猜数字后,系统给予玩家回馈并且统计玩家猜的次数,直到玩家猜对为止。

游戏方法

1、生成游戏菜单 1. play(进入游戏) 0. exit (退出游戏)
2、使用循环语句,构建游戏框架,使玩家可以进行多次游戏,直到猜对为止。
3、设计游戏具体思路,使系统生成一个随机数,让玩家输入一个数字,然后两个数字对比,根据系统反馈信息,逐渐锁定目标。

二、代码实现

1.生成游戏菜单

(1)void menu()

  1. void menu()
  2. {
  3. printf("*****************************\n");
  4. printf("***** 1.play *****\n");
  5. printf("***** 0.exit *****\n");
  6. printf("*****************************\n");
  7. }

(2)效果显示
在这里插入图片描述

2.构建主函数

int main()函数

使用 do–while() 循环,玩家进行多次猜数。用switch语句,控制玩游戏还是,退出游戏。

  1. int main()
  2. {
  3. int input = 0;
  4. srand((unsigned int)time(NULL));
  5. //邮戳
  6. //time - 函数可以返回一个时间戳
  7. //对应头文件#include<time.h>
  8. do
  9. {
  10. menu();
  11. printf("请选择>:");
  12. scanf("%d", &input);
  13. switch (input)
  14. {
  15. case 1:
  16. game();
  17. break;
  18. case 0:
  19. printf("退出游戏\n");
  20. break;
  21. default:
  22. printf("选择错误,重新选择\n");
  23. break;
  24. }
  25. } while (input);
  26. return 0;
  27. }

有时程序需要一个规定范围内的随机数。要将随机数的范围限制在 1 和某个最大值 max 之间的整数,可以使用以下公式:
number = rand() % max + 1;
例如,要生成 1-10 的随机数来代表骰子的点数,则可以使用以下语句:
dice = rand() % 610+ 1;

3.构建游戏函数

  1. void game()
  2. {
  3. //1. 生成1~100的随机数
  4. //rand函数生产的伪随机数
  5. //rand函数生产的随机数的范围是:0~RAND_MAX(32767)
  6. //rand函数在生产随机数之前,要使用srand函数设置随机数的生成器
  7. int ret = rand()%100+1;//0~99+1 --> 1~100
  8. //printf("%d\n", ret);
  9. //RAND_MAX;
  10. //2. 猜数字
  11. int guess = 0;
  12. while (1)
  13. {
  14. printf("请猜数字:>");
  15. scanf("%d", &guess);
  16. if (guess < ret)
  17. printf("猜小了\n");
  18. else if (guess > ret)
  19. printf("猜大了\n");
  20. else
  21. {
  22. printf("恭喜你,猜对了\n");
  23. break;
  24. }
  25. }
  26. }

三、总代码

  1. #include<stdio.h>
  2. #include <stdlib.h>
  3. #include <time.h>
  4. void menu()
  5. {
  6. printf("**************************\n");
  7. printf("****** 1. play ******\n");
  8. printf("****** 0. exit ******\n");
  9. printf("**************************\n");
  10. }
  11. void game()
  12. {
  13. int ret = rand()%100+1;
  14. int guess = 0;
  15. while (1)
  16. {
  17. printf("请猜数字:>");
  18. scanf("%d", &guess);
  19. if (guess < ret)
  20. printf("猜小了\n");
  21. else if (guess > ret)
  22. printf("猜大了\n");
  23. else
  24. {
  25. printf("恭喜你,猜对了\n");
  26. break;
  27. }
  28. }
  29. }
  30. int main()
  31. {
  32. int input = 0;
  33. srand((unsigned int)time(NULL));
  34. do
  35. {
  36. menu();
  37. printf("请选择>:");
  38. scanf("%d", &input);
  39. switch (input)
  40. {
  41. case 1:
  42. game();
  43. break;
  44. case 0:
  45. printf("退出游戏\n");
  46. break;
  47. default:
  48. printf("选择错误,重新选择\n");
  49. break;
  50. }
  51. } while (input);
  52. return 0;
  53. }

游戏效果演示 :

在这里插入图片描述
最后
博主初学者实力有限,内容仅供参考,欢迎大家在评论区和我交流!
以后会经常发有趣的小游戏,和学习心得,感兴趣的小伙伴可以点个关注支持一下!

发表评论

表情:
评论列表 (有 0 条评论,241人围观)

还没有评论,来说两句吧...

相关阅读

    相关 数字游戏

    猜数字游戏是令游戏机随机产生一个100以内的正整数,用户输入一个数对其进行猜测,需要你编写程序自动对其与随机产生的被猜数进行比较,并提示大了(“Too big”),还是小了(“

    相关 智力游戏(数字)

    一、说说小时候: 还记得,我小时候,成天跟着小伙伴疯玩,在那个时代,没有智能手机,没有王者农药,孩子们凑在一起,最喜欢的游戏除了丢手绢躲猫猫以外,猜中指游戏可谓独得宠爱,

    相关 [java]数字游戏

    \[java\]猜数字游戏 【问题描述】: (1)由计算机随机产生一个数字; (2)再提示用户输入数字,看计算机随机产生的数字与用户输入的是否一致; (