课程设计---猫抓老鼠的模拟

课程设计---猫抓老鼠的模拟

ID:11140530

大小:266.50 KB

页数:12页

时间:2018-07-10

课程设计---猫抓老鼠的模拟_第1页
课程设计---猫抓老鼠的模拟_第2页
课程设计---猫抓老鼠的模拟_第3页
课程设计---猫抓老鼠的模拟_第4页
课程设计---猫抓老鼠的模拟_第5页
资源描述:

《课程设计---猫抓老鼠的模拟》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、信息科学与技术学院程序设计基础课程设计报告题目名称:猫抓老鼠的模拟学生姓名:周相学号:2011508002专业班级:2011级计算机与科学技术1班指导教师:高攀2012年6月29日目录1课程设计题目与要求31.1设计题目31.2设计要求32总体设计43详细设计53.1数据结构设计53.2主模块设计54运行结果85课程设计总结101课程设计题目与要求1.1设计题目猫抓老鼠的模拟1.2设计要求1)设计一个迷宫:猫,老鼠的位置随机生成;2)猫,老鼠每移动一次,都重新计算最短路径.3)分别模拟猫的速度大于老鼠,猫的速度等于老鼠两种情形.4)迷宫可用数组表示,最短路径可用队列表示.1.3功能

2、扩展(自己定制)1.可增加猫的数量;2.可随机生成迷宫墙壁的位置;3.设计老鼠应该用何策略才有可能逃脱被抓的命运用C++语言,或者c语言2总体设计在猫捉老鼠的模拟中,用到了二维指针。利用二维指针建立了迷宫,并且通过0代表通路,用1代表墙。在建立迷宫函数中,利用引用传递参数使迷宫自动生成。(自动是利用srand(time(NULL))来“播种子”后利用rand()%9来确定这些随机数是0~9之间,判断随即数大于6,则生成墙,否则为通路。这样就建立了迷宫。)其次是利用结构体数组来作为栈,将老鼠和猫的每一步存入到栈中(也就是数组),当到达出口时则进行输出。老鼠的走法是猫寻找迷宫的最短路径

3、,寻找最短的出路,先将出口压入到栈中,并判断上、左、右斜上、左斜下单元的情况,并每次判断后将可行的路加入栈中,直到栈中的元素与迷宫中老鼠的初始位置相同的时候则将栈(数组)进行输出。猫的走法是每一次老鼠走完后,都将老鼠的位置作为终点,进行判断,取最短的路径经行行走,每走一次将所走位置压入堆栈,最后输出。猫捉老鼠的模拟二维数组代替迷宫(0代表通路,1代表墙。其中加入了随机数,并判断大于6让0和1随即的产生)将做好的迷宫作为参数传入到函数中去初始老鼠的起始位置初始猫的起始位置老鼠的走法猫的走法输出最后老鼠和猫所走路线图1猫捉老鼠的模拟3详细设计StructMark(迷宫结构体){intx

4、;inty;}迷宫结构体3.1结构体设计Structzhan{inth;intz;}用来存放猫和老鼠的路径3.2模块设计迷宫建立完成开始随机数>6?输入迷宫行数和列数m,ninti;intj;i

5、是i1--;j1--否判断是否为来路是累加器加一累加器是否为4否否i1++;j1--累加器不是1,2,3,4否是将坐标设为不可通行在回到上一次可通行道路老鼠栈不为空输出路径结束3.3主模块设计开始建立迷宫函数猫捉老鼠函数结束图4主函数模块4运行结果输入迷宫的行数输入迷宫的列数,并随即生成迷宫,输出迷宫。判断老鼠和猫的位置是否为墙,此时为猫为墙。完成函数操作。输入迷宫出口,若老鼠位置及老鼠位置及出口位置不为墙,则老鼠和猫自动判断最短路径。猫捉老鼠函数结束后判断是否重新开始。5课程设计总结在2个多星期的课题设计周中,我发现了自己许多的不足之处。就拿二维数组迷宫的自动创建为例,其中加入的

6、cstdlib这个库函数,如果不翻阅资料是不会知道的。我从不同的书籍中查阅到了这点,自己的知识也有所长进。编写代码的时候有许多的繁琐之处,这些繁琐的地方都是通过不断的自我修改才不断完善,并且这种能力在不断的加强。学会了自己分段调试程序,不断在错误中改正自己犯的小细节错误。就这样在自己的错误中不断的提升了自己的能力,本打着挑战下自己的心态但最后还是发现自己做的c++太少了,以至于这套程序的不完整性。因此,这次的课题设计让我认识到了自己的不足,并且让我知道了自己的能力还是欠缺,需要在不断的学习中进步。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。