推箱子的最短路径-数据结构与C语言综合训练报告
数据结构与C语言综合训练实习报告
信息工程学院
数据结构与C语言综合训练报告
(2012~2013学年第 二学期)
报告题目:____推箱子的最短路径_ __
姓 名:_ __ ____ 专 业: 软件工程
年级班级:___2012级2班___
指导教师: 完成日期: 2013年7月21号
数据结构与C语言综合训练实习报告
一、综合训练目的和要求
本综合训练是计算机科学与技术、信息管理与信息系统、软件工程、电子商务专业重要的实践性环节之一,是在学生学习完《程序设计语言(C)》、《数据结构》课程后进行的一次全面的综合练习。本课综合训练的目的和任务:
1. 巩固和加深学生对C语言、数据结构课程的基本知识的理解和掌握 2. 掌握C语言编程和程序调试的基本技能 3. 利用C语言进行基本的软件设计 4. 掌握书写程序设计说明文档的能力
5. 提高运用C语言、数据结构解决实际问题的能力
二、综合训练任务内容 1.题目要求:
推箱子是一个很经典的游戏.今天我们来玩一个简单版本.在一个5×5的房间里有一个箱子和一个搬运工,搬运工的工作就是把箱子推到指定的位置,注意,搬运工只能推箱子而不能拉箱子,因此如果箱子被推到一个角上那么箱子就不能再被移动了,如果箱子被推到一面墙上,那么箱子只能沿着墙移动.同时,房间里头还有若干障碍物(用阴影部分表示)。
现在给定房间的结构,箱子的位置,搬运工的位置和箱子要被推去的位置,请你计算出搬运工至少要推动箱子多少格.
2.扩展实现的内容:
绘制图形界面,通过按钮实现推箱子的整个过程,整个过程中可以动态的看到箱子的移动。
游戏界面如下图:
1
数据结构与C语言综合训练实习报告
游戏动态移动的过程图如下:
2
数据结构与C语言综合训练实习报告
三、总体设计
所用算法主要是根据广度优先搜索,纪录路径,然后利用回溯法实现最短路径的查找并纪录保存下来。所用的数据结构主要为顺序结构。 选择游戏说明,了解游戏规则 返回开始界面 开始进入游戏界面 进行选择 选择游戏开始,进行游戏 进行游戏开 始 关卡(1) 按空格键进 行游戏 关卡(2) 选择关卡,或者返回游戏开始 3 关卡(3) 返回游戏开始后,可以单机鼠标右键退出游戏