作为一个入门级的,学完循环和函数就可以敲打出来的小游戏;相信都是大家心中不可磨灭的回忆
接下来就让我们一起来实现(重温)吧;
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<stdlib.h> // srand 和rand 函数头文件;
#include<time.h> // time 函数头文件;
void menu() {
printf("**** 猜数字游戏 ***\n");
printf("**** 1. 开始游戏 ***\n");
printf("**** 0. 退出游戏 ***\n"); //菜单函数,打印菜单;
printf("**** 猜数字游戏 ***\n");
}
void game() {
int ret = 0; // 定义一个变量接受随机数;
int input = 0; // 定义一个变量接受猜的数;
ret = rand() % 100 + 1; // 缩小随机数范围至 1--100之间;
printf("数字范围 1 —— 100 \n");
while (1) {
printf("请猜数字->\n");
scanf("%d", &input);
if (input > ret) { // 把猜的数和随机数做比较; 循环此过程;
printf("猜大了->\n");
}
else if (input < ret) {
printf("猜小了->\n");
}
else {
printf("恭喜你,猜中了->\n"); // 直到猜中数字跳出循环;
break;
}
}
}
int main() { // main函数,即是开始,亦是结束;
int input = 0; // input ”输入“ 的意思; 也可以自己定义一个自己喜欢的变量;
srand((unsigned int)time(NULL)); // 生成随机数,后面会用到,现在可以不看;
do {
menu(); // menu:”菜单“的意思; 打印一个选择的菜单;滑到上面菜单函数上;
printf("请选择->\n"); // 提示 你选择;
scanf("%d", &input); // 输入选择;
switch (input) {
case 1: game(); // 选择 1 开始游戏 ;请跳到game函数处;game:”游戏“ 的意思;
break;
case 0: printf("退出成功->\n"); // 选择 0 退出游戏;
break;
default: printf("输入错误,请重新输入->\n"); // 不小心按错了;重新输入;
break;
}
} while (input); // 利用 do while 循环可以使得函数至少进行一次;玩完一把不过瘾可以继续完;
// 循环判定条件 input 刚好可以使得循环 菜单函数 游戏函数串联起来;
return 0; // 当输入 1 玩完又可以进入循环;
} // 当输入 0 为假 退出循环;
// 输入其他 非0 为真 还是进循环重输;
实现结果:如下
**** 猜数字游戏 ***
**** 1. 开始游戏 ***
**** 0. 退出游戏 ***
**** 猜数字游戏 ***
请选择->
1
数字范围 1 —— 100
请猜数字->
50
猜小了->
请猜数字->
75
猜小了->
请猜数字->
85
猜小了->
请猜数字->
95
猜大了->
请猜数字->
90
猜小了->
请猜数字->
93
恭喜你,猜中了->
**** 猜数字游戏 ***
**** 1. 开始游戏 ***
**** 0. 退出游戏 ***
**** 猜数字游戏 ***
相信大家遇见过怎么也猜不中的情况;
虽然比较简单,但是也有几个需要注意的点;
一 :注意不要把随机数生成放进循环里,不然你有可能怎么也猜不着,只有1%的概率中;
二 :注意不要把自己猜的数字和提示搞反了;如 :自己猜的数>随机数,你却提示猜小了;
三 :觉得太简单的可以点击下面三子棋游戏实现;