迷宫游戏设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据结构与算法 课 程 设 计
题 目 迷宫游戏设计 学院(系) 信息技术学院 专 业 软件工程 班 级 软工
10班
姓 名 郑亮44;许新龙37;刘俊武25;李炬辉17
指导 教师
邓怡辰
2020 年 7 月 8 日
摘要
迷宫游戏是一个古典的心理学实验,具有很大的实验意义,即使放在今天的社会,也是一个让人难以置信的经典,无论是在数学界还是计算机学或者是现实游戏中都可以见到其存在。
本次课程设计主要是给定任意迷宫,求一条从入口到出口的通路,或得出没有通路的结论。可以使用链表、非递归程序及回溯法等方法来实现。本次课程设计帮助进一步理解和熟练掌握课本中做学的数据结构知识,学会如何把学到的知识用于解决实际问题,培养我们的动手能力。
回溯法是一种优先搜索法,又称试探法,是按优先条件向前搜索,以到达目标。但当探索到某一步时,发现原先并不优先或达不到目标,就退回一步重新选择,这种走不通就退回再走的技术为回溯法,而满足回溯条件的某个状态的点称为“回溯点”。
【关键词】:链表、迷宫、非递归程序、回溯法
Abstract
Labyrinth game is a classical psychological experiment, with great experimental significance, even in today's society, is an incredible classic, whether in mathematics, computer science or real-life games can see its existence. This course is designed to give any maze, to find a path from the entrance to the exit, or to draw the conclusion that there is no path. It can be implemented by linked list, non-recursive program and backtracking method. This course design helps to further understand and master the knowledge of data structure in textbooks, learn how to use the knowledge learned to solve practical problems, and develop our hands-on ability. Retrospective method is a kind of priority search method, also called test method, which is to search forward according to the priority condition to reach the target. But when a step is explored, it is found that the original does not take priority or can not reach the goal, so it is a step back to re-select.
【Key words】:linked list, maze, non recursive procedure, backtracking method
目录
第1章绪论 (1)
1.1 课程设计背景 (1)
1.2 课程设计的目的和意义 (1)
1.3 课程设计的主要内容及基本要求 (2)
第2章需求分析 (3)
2.1 信息需求分析 (3)
2.2 功能需求分析 (3)
第3章迷宫游戏设计的分析与设计 (4)
3.1 迷宫游戏的设计 (4)
3.1.1 功能设计 (4)
3.1.2 类的设计 (4)
第4章总结 (23)
第5章参考文献 (24)
致谢 (26)
第1章绪论
1.1 课程设计背景
《数据结构》在软件工程中是一门综合性的专业基础课。数据结构的研究性不仅涉及到计算机硬件(特别是编码理论、储存装置和存取方法等)的研究范围,而且和计算机软件的研究有着更密切的关系,无论是编程还是操作系统,都涉及到数据元素在存储器中的分配问题。在研究信息检索时也必须考虑如何组织数据,以便查找和存取数据元素更加方便。数据结构不仅是一般程序设计(特别是非数值的程序设计)的基础,而且是设计和实现编译程序、操作程序、数据系统及其它系统程序和大型应用程序的重要基础。
迷宫游戏是取自心理学的一个古典实验,最初的实验,是让一只老鼠从一个无顶大盒子门进入,在盒子里面设置了许多的墙对行进方向形成多出阻挡。出口设置在盒子的另一端,并放置了一块奶酪,来吸引老鼠在迷宫寻找道路以到达出口。对于一只老鼠重复进行上述实验,直到老鼠从入口走到出口,而不走错一步。本次课程设计取之于老鼠走迷宫的实验,不同的是,这次将一个虚拟目标取代老鼠,但还是大同小异。
1.2 课程设计的目的和意义
一、综合运用所学的数据结构知识完成对走迷宫的编程,达到加深对数据结构了解的目的,扩展数据结构方面的知识。二、通过本次课程设计,可以培养独立思考、综合运用所学有关相应知识的能力,能更好的巩固java数据结构课程学习的内容,学会理论与实践相结合。三、通过java数据结构课程设计,使学生了解高级程序设计语言的结构,掌握基本的程序设计过程和技巧,掌握基本的分析问题和利用计算机求解问题,具备初步的高级语言程序设计能力,为以后的课程和毕业设计做好准备。