C语言课程设计
题    目        三位猜数小游戏

1设计内容与设计要求………………………………………………1
1.1  设计要求……………………………………………………1
1.2  设计过程……………………………………………………1
1.3  程序流程图…………………………………………………1
1.4  游戏说明……………………………………………………2
2 查阅资料……………………………………………………………2
3 程序设计……………………………………………………………6
4调试与运行………………………………………………………8
5总结…………………………………………………………………11
附录:源程序清单……………………………………………………11

1 设计内容与设计要求
1.1设计要求
1) 随机给出的一个三位数,各位上的数字不可以重复,从0到9,每一位进行比较。
2)给用户一定的提示信息,以便游戏者根据信息来进行下一次的猜数游戏。
1.2设计过程
本次设计主要运用了循环、数组、随机数等语句。开始运用了随机数的出现,实现了随机的3位数出现,而且运用了For循环和While循环、Break语句,实现了数字重复出现。
第一步:随机数的产生
我们可以借助c提供的Random()函数来产生一个三位随机数,每一位都不相同,产生的随机数用数组保存起来。
第二步:拆分数字
将三位不同的数进行拆分,每一位都与用户输入的数字进行比较,如果错误系统给出提示错误,继续猜数,如果用户猜对了其中的一位,标记出这一位数的相关信息,其中包括数字和位置都是否正确,以便准确猜出正确的三位数字。
第三步:退出
如果用户猜错,系统会提示错误,并且继续猜数,直到猜对为止。如果用户猜对了这三位数,系统会告诉用户获得胜利,并且再结果显示5秒后返回到程序编辑窗口。
1.3程序流程图
程序流程图如下图1-1所示:
Y
图1-1程序流程图
1.4游戏说明
1)系统随机产生一位不重复的N(N为3)位数字。
2)游戏者输入所猜的不重复数字,并按回车提交。提交的数据数应与N的大小一致,当数据位数不是N位时,系统返回错误信息。
3)系统将提交的数与它自动产生的数进行比较,输出结果有这么几种情况一种情况是数字的某一位正确返回“1”,另一种情况是数字正确但位置不正确。系统返回“2”,以上两种情况都
没有(也就是用户输入的数顺序和数字都不对)返回“0”最后,通过提示输入的数字正确相应位置也正确,系统返回“you win!”。
2 查阅资料
1. 头部文件
文件名称:record.h
功    能:声明函数原型,包含文件及自定义宏和数据结构
要    求:报告是否能正常打开文件执行操作。
2. 设置游戏等级函数
函数原型:void Game_rank(void)
功    能:可由游戏者自行设置游戏等级
参    数:void
返 回 值:void
要    求:如果游戏者没有进行等级设定,则默认初级进行游戏。
3. 输出游戏说明函数
函数原型:void Game_ explain()
功    能:输出游戏规则说明
参    数:void
返 回 值:void
要    求:说明游戏相应的按键,保证游戏者按照说明。
4. 记录最高分函数:
函数原型:void Tiptop_register(int)
功    能:把从Get_player函数得到的游戏者信息和游戏的积分信息一同保存到指定路径的Tprintf直接输出数字iptop_register.dat文件中
参    数:int S;S为游戏积分
返 回 值:void
要  求:要求把T(初级最高分) T(中级最高分) T(高级最高分)原来有的信息替换为现在的信息,并且只有积分大于原有信息的第十名,才会被以替换的方式记录;并且是降序的方式排列的。
5. 输出最佳排行函数:
函数原型:void Tiptop_out()
功    能:输出最佳排行信息
参    数:void
返 回 值:void
要    求:没有信息的时候输出提示,有信息时按降序排列输出全部信息。
6. 开始游戏中心函数
函数原型:void Game_main()
功    能:调用Time_ control Build_number等函数,进行游戏的整体控制参    数:void
返 回 值:void
要    求:注意函数的完整性,保证游戏顺利进行,注意没有设置等级时候,默认C=1!
7. 获取系统随机数字函数
函数原型:int    *Build_number()
功    能:系统调用<time.h>文件,利用srand((unsigned) time(&)产生1个N位随机数字,供游戏者猜测
参    数:void
返 回 值:int 8=*i:指向产生的随机数字构成的数组的指针
要    求:产生的数字是随机的,并且是不重复的,总共产生N(依据游戏等级而定)位数字,组成数组[初级为3个数字]。
8. 获取游戏者游戏数据和输出游戏进程结果函数
函数原型:void Course_in_out()
功    能:把游戏者猜的数据读入内存,并且分析得出结果,并输出结果
参    数:void
返 回 值:void
要    求:用A或B的代码表示本次的结果,其中A表示数值对位置也对,B表示数值对,但位置错了!每次得到游戏者的猜测数据都要分析得出结果并输出结果,以便游戏者的下一次猜测。
9. 时间控制函数
函数原型:int Time_ control()
功    能:利用<dos.h>和<time.h>文件,得到玩游戏的总时间,计算游戏积分。
参    数:void
返 回 值:int Time:游戏前后的时间差异
要    求:得到的时间是以秒为单位,数据是整型数据。
10. 游戏结果处理输出函数
函数原型:void Game_result(int m )
功    能:计算,得出最后游戏积分
参    数:int m:整个游戏的时间
返 回 值:void
要    求:按照游戏等级,设置不同的游戏积分方式。
11. 主函数:
函数原型:void main()
功    能:调用各个子函数,实现整体程序的运行
参    数:void
返 回 值: void
要    求:控制整个游戏的顺利进行。
12. 选择菜单函数:
函数原型:void Menu_select()
功    能:得到Handle_menu的返回值,由一个switch语句选择开始,等级,最佳排行,游戏说明,结束等菜单操作

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。