课程设计说明书--迷宫游戏.docVIP

  1. 1、本文档共11页,可阅读全部内容。
  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文档。上传文档
查看更多
苏 州 市 职 业 大 学 课程设计说明书 名称 迷宫游戏 2011年 1月 10日至 2011年 1月 16日共一周 院  系 计算机工程系    班 级 10软件技术(外包)1 姓 名 颜玲玲 系 主 任 李 金 祥 教研室主任 叶 良 指导教师 李爱军 殷凡  目 录 目 录 1 一、 题目说明 2 1.1程序开发背景 2 二、总体设计 2 2.1.系统开发平台 2 2.2.系统流程图 2 三、详细说明 3 3.1 系统实施 3 四、遇到的问题和解决方法 9 五、课程设计总结 10 六、参考文献 10 附录(源程序代码) 10 题目说明 1.1程序开发背景 迷宫是我们从小就开始有所接触的一种游戏,许多人都喜欢玩这个游戏。我们在C语言中可以用0、1数字组成的二维数组来表示。1代表迷宫的墙壁,0代表通过迷宫的通道,用右手搭墙法,把手放在右边的墙上开始前进,保持手不离开墙壁,身体随着通道拐弯或者旋转,最终就可以达到目的。迷宫是我们平时都很喜欢玩的一种游戏,在休闲的时候可以通过玩这种小游戏来适当的放松一下自己的心情。 二、总体设计 2.1.系统开发平台: 系统使用VC 6.0中文版设计 2.2.系统流程图: 图1 系统流程图 三、详细说明 1.在程序的前面用二维数组来表示迷宫的布局; 2.采取动态链表的方式来顺次记载每个步骤或者姿势; 3.在进入通道后,要随机确定站立的方位,方位按0~7等8个方位进行编码; 4.在行走的过程中,要判断是否走出了迷宫,并记录下每个动作。走出边界就退出。如果回到了原来的地方并且方位也回到了行走之初的情形,则意味着将所有通道都走了一遍,无法找到出口。 3.1 系统实施 1. void main() { int mz[12][12]={ {1,1,1,1,1,1,1,1,1,1,1,1}, {1,0,0,0,1,0,0,0,0,0,0,1}, {0,0,1,0,1,0,1,1,1,1,0,1}, {1,1,1,0,1,0,0,0,0,1,0,1}, {1,0,0,0,0,1,1,1,0,1,0,0}, {1,1,1,1,0,1,0,1,0,1,0,1}, {1,0,0,1,0,1,0,1,0,1,0,1}, {1,1,0,1,0,1,0,1,0,1,0,1}, {1,0,0,0,0,0,0,0,0,1,0,1}, {1,1,1,1,1,1,0,1,1,1,0,1}, {1,0,0,0,0,0,0,1,0,0,0,1}, {1,1,1,1,1,1,1,1,1,1,1,1} } 这是用二维数组来表示迷宫的布局; 2./*进入迷宫*/ rnd=rand(); if(rnd0) rnd=0; x0=rnd%m; rnd=rand(); if(rnd0) rnd=0; y0=rnd%n; 这段程序是为了随机确定起始位置; 3./*确定以当前位置为中心到四周的最大距离*/ rmax=x0; if(y0x0) rmax=y0; if(m-1-x0rmax) rmax=m-1-x0; if(n-1-y0rmax) rmax=n-1-y0; 如果在进入通道时该位置不是通道,那么就以此点为中心并以半径逐一增大的方式向四周辐射扫描,直至进入通道或者找遍所有位置没有通道为止。这样做既保证了随机性,又避免了由直接位置可能永远也无法进入通道的情况出现; 4.typedef struct _POSE { int i,j;/*身体位置*/ int dir;/*方向或者出口*/ struct _POSE *next; }POSE; 这段函数表示的是一个姿势或者状态; 5./*找第一个通道*/ noexit=1; if(mz[y0*m+x0]!=0) { for(r=1;r=rmax;r++) { x=x0; y=y0; dir=0; if(adjacent(mz,m,n,x,y,r,dir,0)==1) { noexit=0; x0=x; y0=y; break; } } } else { noexit=0; } if(noexit==1) { printf(

文档评论(0)

ze122230743 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档