一 实现思路
1、游戏模块
(1)计算机给出四位随机数,要求数字不重复
(2)用户从键盘输入四位数,要求与计算机给出的四位数数字和位数均相同
(3)每猜一次,提示信息(x ,y ),x 表示位置和数字均相同的个数,y 表示数字相同,位置 不同的个数。同时,给出得分「基础分1000分,猜错一次-100,猜对+20」c语言游戏编程题经典100例
(4)h 键作为帮助键,给出更为准确的信息,具体到某个数字是否正确,每使用一次帮助键
-100分;k 键作为答案给出键,得分归零,并结束游戏
(5)猜对答案后若选择继续游戏将会以你的得分为基础分进行第二轮游戏
2、记录模块
(1)每次游戏开始之前,将得分最高的前三名显示出来
(2)每次游戏结束后,将前三名分值存盘
二 流程图
三设计细节
(1)头文件的说明
stdio.h 包含标准输入输出函数定义的头文件
stdlib.h 包含最常用系统函数定义的头文件
time.h 包含日期和时间函数定义的头文件
conio.h包含通过控制台进行数据输入和数据输出函数定义的头文件string.h包含用字符数组函数定义的头文件
(2)自定义函数的说明
void start():绘制游戏的进入界面
intdifferentnumber():判断电脑生成的四位数字是否一样 void
makenumber():电脑随机产生四位数并存到一个一维数组中
voidinputnumber():用户输入一个四位数并把它们分开存入一个数组中void judge():比较两个数组并给出相关提示
voidhelph():帮助键h
void helpk():帮助键k
int game():游戏主流程,详见流程图
void reclod():记录函数
四系统调试出现的问题
1、进入judge函数时,没有对初始的*x和*y重新赋值为0,导致x,y的值在做累加,
实数对数值偏大。
2、if-else 语句没有在if后加大括号,只执行到if后一条,第二条则不在if语句
的管辖范围内,导致if语句出错
3、当两个scanf函数连接较密时,应在第二的scanf里加入空格,以清除缓冲区的
内容,以便下一次存储数据(如:scanf(” %c”,&ch)
4、文件和源代码没有保存在同一地址下,导致打开文件失败
5、显示的内容没有看清楚就被清屏函数清屏,在清屏函数前加一个getch()即可
五测试数据及测试结果分析
图 1 说明游戏规则按任意键开始游戏
图 2 输入一个数字给出提示信息和注解
图3 按h键获得帮助
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论