迷宫 C语言课程设计.pdfVIP

  1. 1、本文档共17页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

经济与管理学院

《C高级语言程序设计》

课程设计报告

(2013/2014学年第一学期)

学生姓名:

专业班级:

学生学号:

指导教师:

2013年12月23日

目录

第一章课程设计目的和要求1

1.1目的1

1.2要求1

第二章课程设计任务内容1

2.1游戏简介2

2.2设计流程2

第三章详细设计说明3

3.1函数功能说明3

3.2参数说明3

3.3函数流程图4

第四章软件测试方案7

第五章软件使用说明12

第六章课程设计心得与体会13

附录一:参考文献10

附录二:程序清单11

第一章课程设计的目的与要求

1.1目的

通过本课程设计熟悉《C高级语言程序设计》的程序设计方法以及对“数据结构”

的掌握和运用,还有堆栈,文件和指针、变量等初级编程语言的熟练运用,将这些知

识进一步的掌握和运用到实践当中。

1)综合运用C高级语言课程和其他选修课程的知识,提高分析和解决实际问题的的

能力,进一步巩固、加深和拓宽所学的知识;进一步加强结构化程序设计的思想,加

深对高级语言基本语言要素和控制结构的理解。

2)掌握程序设计中的常用算法和C语言的编程技巧和上机调试程序的方法。

3)在实践过程中,提高如何综合运用所学知识解决实际问题的能力.

1.2功能要求

在本次设计中,主要实现以下系统系统功能菜单,主要有11项功能菜单,依次

为:

1)打开迷宫文件;

2)保存迷宫文件;

3)设置迷宫系统参数和数据结构;

4)运行迷宫路径搜索;

5)停止迷宫路径搜索;

6)帮助菜单;

7)设置迷宫入口位置(红旗);

8)设置迷宫出口位置(蓝旗);

9)设置迷宫中的障碍物,再次单击取消;

10)消除迷宫中的障碍物;

11)保存迷宫中的障碍物设置;

第二章课程设计任务内容

2.1游戏简介

本报告主要是运用C++语言,编写一个小型的游戏—迷宫(一人完成)。迷宫的

结构布局可自定义设置,骑士从迷宫入口走进迷宫,迷宫中设置很多墙壁,对前进方

1

向形成了多处障碍,骑士需要在迷宫中寻找通路以到达出口。

2.2设计流程

本次设计将迷宫的结构设计布局设计成由起点(红旗,深色),终点(蓝旗,灰

色),围墙(最外一圈),障碍(黑色)和可通过点(空白处,表示可通过)这五部分

组成,其中,迷宫起点,终点和障碍物可由玩家自定义设置。

在搜索迷宫时,从起点出发,若遇到围墙或障碍则表示不能通过。只有当下一个

路径是可通过的时候,才能继续往下搜索,否则尝试下一个方向。本系统主要使用堆

栈的算法,实现了路径试探查询和最快路径查询这两种路径查询方法,包括了四方向

和八方向两种路径探寻方向。

为了搜索一条通往终点的路径,玩家从起点开始出发,对途中经过的每一个位置

的四个方向进行探索,如果有一个方向可通,既往那个方向前进一步,然后搜索新位

置的每个方向,直到搜索到终点为止,若一个位置的四个方向均不通,则返回这个位

置的上一个方向,搜索上一个位置的下一个方向的路径。

堆栈算法在迷宫的求解过程主要采用回溯法,即在一定的约束条件下试探地搜索

前进若前进中受阻(碰上围墙)或障碍或是已经走过的路则返回并向下一个方

向进行新的搜索。

1)运用堆栈进行搜索时,按照一个既定的方向顺序进行搜索,每搜索到一个可通

过点,即将该点的位置压入堆栈,直到探索到终点位置时结束搜索。

2)如果在搜索中发现该方向不通,既尝试下一个方向。

3)如果所有的方向都不通,则表示这个位置是个不可通过点,可以为该点设置一

个“脚印”标志,然后将该位置出栈,返回到上一个位置进行它的下一个方向的搜索。

4)最终当堆栈为空时(连起点也出栈了),就表明该迷宫不能出去。当

您可能关注的文档

文档评论(0)

199****2589 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档