1.要求:
(1)游戏开始页面可以选择是否开始游戏;
(2)将系统产生的随机数控制在1~100;
(3)根据玩家输入数字的大小进行提示;
(4)玩家可以一直游玩,不用重复运行游戏。
2.设计思路及知识点:
(1)首页实现:使用 printf 将符号及相关提示输出即可;
(2)功能实现:
rand():生成一个 0~32767 的随机数,将随机数 ret = rand() %100 + 1;即将系统生成随机数进行处理,转变成1~100的随机数;然而,调用rand() 函数前需要使用srand() 对生成器进行设置;
srand():设置一个随机起点;如果将括号内写入具体数字,每次生成随机数将一样,括号里也需要一个随机值,这时可以使用“时间戳”来完成,但是需要强制类型转换为 unsigned int 。因为我们只需要获取一次时间戳,所以将此函数调用放在主函数的循环外。
time():获取时间戳。
while()循环:设置一个循环,让玩家可以一直猜数字,直到猜对为止。
scanf("%d",&i):定义一个变量 i ,用于存储玩家输入的数字。
if...else...:用于判断玩家所猜数字是否正确,若正确则使用 break 语句跳出循环,不正确则提醒玩家猜大了还是猜小了。
(3)游戏实现:
do while() 循环:因为程序需要先执行一遍再进入循环。
scanf():让玩家根据提示输入数字决定是否进入游戏。
switch()分支语句:根据玩家输入的选项进行相应的操作。
3.代码展示:
#define _CRT_SECURE_NO_WARNINGS#include <stdio.h>#include <stdlib.h>#include <time.h>void menu() {printf("************************\n"); //首页printf("******按'1'进入游戏*****\n");printf("*******否则将退出*******\n");printf("************************\n");}void game() {int i = 0;int ret = rand()%100+1; //将随机数控制在1~100while (1) {printf("请输入数字:");scanf("%d", &i);//玩家输入数字,然后程序进行比较if (i < ret) {printf("猜小了,大胆点!!!\n");}else if (i > ret) {printf("猜大了,收敛点!!!\n");}else {printf("恭喜你猜对了!!!\n");break;//猜对之后结束本次游戏,回到首页}}}int main(){int k = 0;srand((unsigned int)time(NULL));//获取一次时间戳,生成随机值do {menu();//开始菜单页面printf("是否开始游戏:");//选择是否开始游戏,‘1’开始,任意键退出scanf("%d", &k);switch (k) {case 1:game();//开始游戏,调用游戏功能函数break;default:printf("您已退出游戏\n");break;}} while (k == 1); //可循环进行游戏return 0;}
4.运行结果
如果觉得《用C语言实现简单的猜数字小游戏》对你有帮助,请点赞、收藏,并留下你的观点哦!