简易九宫格游戏数据结构Word文档下载推荐.docx
《简易九宫格游戏数据结构Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《简易九宫格游戏数据结构Word文档下载推荐.docx(11页珍藏版)》请在冰豆网上搜索。
指导教师:
成绩:
哈尔滨华德学院电子与信息工程学院
2017年12月
《简易九宫格游戏》
基本功能:
1.游戏界面由一个3*3的宫格构成,初始界面数字全部为红色,点击任意数字,直到5为红色,其他为黄色即为通关。
2.界面右侧由步数边框,游戏说明边框。
3.打开游戏界面时,游戏即开始,不计时间,只记步数,从0开始,每点击任意数字一次步数加1,通关前的最后一步不算入步数内。
4.通关时跳出通知:
恭喜你已通关。
5.初始步数为0,当步数等于100时,跳出提示:
游戏结束。
教师评语:
评阅教师:
宋毅
评阅日期:
2017年12月30日
一、设计的目的
1.本软件设计的目的是:
通过编写程序,将操作系统部算法以可视化的方式模拟出来,最终达到对这些算法有一个比深的理解。
2.锻炼自己的编写程序的能力和独立的编程思维能力。
提高自己的编程能力。
3.九宫格游戏对人们的思维锻炼有着极大的作用,从古时候起人们便意识到九宫的教育意义。
在《射雕英雄传》中黄蓉曾破解九宫格,口诀:
“戴九履一,左三右七,二四有肩,八六为足,五居中央”。
还有口诀:
“一居上行正中央,依次斜填切莫忘;
上出框时向下放,右出框时向左放;
排重便在下格填,右上排重一个样。
”这口诀不仅适用于九宫,也适用于推广的奇数九宫,如五五图,七七图等等。
二、实训环境配置
Windows系统
VisualStudio2013
三、设计正文
1、需求分析
九宫格游戏采用用户活动的方式完成各个服务的罗就流程。
其功能主要包括以下几方面内容。
(1)开始游戏:
可以开始点击各个数字来完成游戏。
(2)结束游戏:
对当前的游戏结果不满意,不想重新开始,可以通过结束游戏来退出当前游戏。
(3)重置游戏:
对于当前游戏结果不满意,并且想要重新开始,单击重置,重新开始游戏。
(4)退出游戏:
游戏通关,不想继续游戏,点击退出。
2、功能框图
图1简易九宫格游戏
3、算法设计
(1)开始游戏:
添加9个textbox(可以写成控件数组),然后对于每个textbox的TextChange事件添加代码,检测如果每行每列都是15,则成功;
随机数就用Rnd函数嘛比如int(Rnd*10)。
不重复的话,就每取一次都保存起来,然后和前几次判断,有重复的就重新取。
privatevoidbutton1_Click(objectsender,EventArgse)
{
count=0;
this.button1.Enabled=false;
this.TXT_count.Text=count.ToString();
foreach(ControlconinControls)
if(con.Tag!
=null)
con.Enabled=true;
this.button2.Enabled=true;
this.button3.Enabled=true;
}
privatevoidbutton3_Click(objectsender,EventArgse)
this.TXT_count.Text="
0"
;
this.button1.Enabled=true;
this.button2.Enabled=false;
this.button3.Enabled=false;
con.Enabled=false;
con.BackColor=Color.Red;
privatevoidbutton2_Click(objectsender,EventArgse)
if(con.Text=="
重玩"
)
改变数字颜色:
privatevoidbtn_Click(objectsender,EventArgse)
stringnum=((Control)sender).Text;
stringstr=null;
switch(num)
case"
1"
:
str="
1245"
param(str);
break;
2"
123"
3"
2356"
4"
147"
5"
24568"
6"
369"
7"
4578"
8"
789"
9"
5689"
default:
}
4、界面设计
图2代码
5、系统测试
点击运行程序,运行界面结果如图3-1所示
3-1初始界面
3-2游戏通关
3-3点击确定通关后
3-4步数等于100且未通关时
四、小组成员分工说明
独立完成
五、总结
1、算法改进设想:
(1)在源程序要按照写程序的规则来编写。
要结构清晰,重点函数的重点变量,重点功能部分要加上清晰的程序注释列出测试结果,包括输入的数据和相应的输出数据。
这里的测试数据应该完整和严格,最好多于需求分析中所列。
(2)要有基本的容错功能。
尽量避免出现操作错误时出现死循环。
调试过程中遇到的问题并且是如何解决的以及对设计实现的回顾讨论和分析;
算法的时空分析(包括基本操作和主要算法的时空复杂度的分析)和改进设想;
经验和体会等
2、课程设计期间的主要收获:
通过这一次九宫格的设计,我收获了许多。
首先,这一次的的实验更让我了解了语言编程的多变性,语言和语言之间既相同有不同,更是充满了组合性。
对于需要在短时间内进行完整的设计及开发,这是一项很大的挑战。
不得不去网络找寻自己需要的东西以及解决问题的方法,通过借鉴以及修改最终得到了叫自己满意的结果。
通过本次的课程设计,我主要的体会是,无论任何程序,无论它们有多复杂,都是有它的基础和精密的算法思想结合起来实现的。
只要我们有坚实的基础理论和解决问题的信心以及耐心,便可以把它们分解为一个个功能的模块,在分解为实现功能模块的一些函数,甚至在分解为一些简单的基本操作。
把复杂的大问题转化为简单的易于上手的小问题。
我觉得这次的课程设计是很宝贵的,主要是在最初实验时虽会感到迷茫,但是我们能自己查找资料解决各种问题。
万事开头难,接下来好了,接下来遇到的问题只要耐心分析,认真思考,带着问题去寻找解决的方法,很多困难就会迎刃而解。
面对设计中出现的异常情况,不要恐惧,要善于运用网络和书籍来着手解决问题。
盲目的实验是不可行的,要在设计之前理出设计思维,有条理的进行,尽量减少操作的盲目性从而提高效率,详细记录设计中出现的现象并加以思考。
在写程序时要保持一定的耐心与细心,仔细分析错误,慢慢的仔细的检查并修改,直到程序运行成功。