【C语言】“猜数字”游戏来了!
来源:互联网 发布:知乎 葛巾 真人照 编辑:程序博客网 时间:2024/06/08 14:29
大家肯定都爱玩游戏,今天我就来满足一下大家:实现一个“猜数字”小游戏。
实现思路:
每开始玩一个游戏,刚进去肯定有菜单供玩家选择,由于我们今天要实现的是个小游戏,所以在菜单中设计两个选项(“开始”和“退出”)即可。“猜数字”,所要猜的数字玩家肯定事先必须不知道(不然还猜什么),所以我们打算让电脑随机产生这个数字。当游戏开始,玩家从键盘上输入某个范围内的整数,如果输入的数字比随机产生的数字大,则输出“猜大了”,如果前者比后者小,则输出“猜小了”,当前者等于后者,则输出“猜对了”,并“弹出”菜单,选择继续玩或者退出。
参考代码:
#include<stdio.h>#include<time.h.>#include<stdlib.h>void menu()//菜单{ printf("*********************\n"); printf("****1.play 0.exit****\n");//选择“1”表示“玩游戏” printf("*********************\n");//选择“0”表示“退出”}void play_game()//玩游戏{ int rand_num = rand() % 100;//随机产生0~99范围内的整数 int tmp = 0; while (1) { printf("请输入你猜的数字:"); scanf("%d", &tmp); if (tmp == rand_num) { printf("猜对了\n"); break; } else if (tmp > rand_num) { printf("猜大了\n"); } else { printf("猜小了\n"); } }}int main(){ int input = 0; srand((unsigned int)time(NULL));//srand是随机数发生器的初始化函数 //为了防止每次玩游戏时随机产生的数字重复,常使用time函数获得系统时间以初始化 do { menu(); printf("请选择:"); scanf("%d", &input); switch (input) { case 1: play_game(); break; case 0: exit(EXIT_SUCCESS); break; default://当输入菜单中不存在选项时,提醒玩家“选择错误” printf("选择错误.\n"); break; } } while (input); system("pause"); return 0;}
Have a try !
游戏界面:
⑴选择“1”选项,开始玩游戏:
⑵因为随机产生的数字在0~99范围内,所以建议采用“折中法”,输入该范围数字的中位数,逐渐根据提示缩小范围。
⑶此时范围为50~75:
⑷此时范围为50~63:
⑸此时范围为57~63:
⑹此时范围为57~60:
⑺这次终于猜对了!结果是58:
是不是挺有意思的。当然,如果大家觉得0~99这个范围太小,你们可以设计成更大范围(更刺激了),但是还是建议每次猜数都采用“折中法”,这样可以最大限度地缩小范围,从而尽快地猜出目标数。
阅读全文
0 0
- 【C语言】“猜数字”游戏来了!
- 猜数字游戏(c语言)
- 【C语言】 猜数字游戏
- C语言 猜数字游戏
- 【C语言】猜数字游戏
- C语言 猜数字游戏
- C语言 猜数字游戏
- 猜数字游戏 C语言
- 猜数字游戏(c语言程序)
- 猜数字游戏C语言描述源代码
- c语言学习-猜数字游戏
- c语言之猜数字游戏
- c语言 猜数字大小游戏
- 猜数字游戏(C语言)
- c语言编写猜数字游戏
- c语言实现一个猜数字游戏。
- C语言实现猜数字游戏
- c语言实现猜数字游戏
- java多态中向上转化类型不能调用子类的变量
- LeetCode基础-图-DFS
- mulesoft 入门与实践-2(java, invoke)
- 将SQL查询结果作为查询条件进行查询
- Verilog的一些坑(一)
- 【C语言】“猜数字”游戏来了!
- ex2_2 韩信点兵 (中国剩余定理)
- leetcode008-Longest Substring Without Repeating Characters
- 如何制作OpenSuse USB live
- 机场生产运行数据统计指标-第四篇-机场运行保障类
- TCP链接关闭状态转移
- 进程的五种基本状态
- 使用git将项目上传到github(最简单方法)
- Django