资源描述:
《数据结构二维数组实验报告》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、数据结构(2013)实验报告04班级:XXXX姓名:XXX实验方式:上机成绩:教师批阅处:一、实验名称二维数组基本操作的编程实现二、实验目的二维数组基本操作的编程实现,掌握二维数组的建立、读取数据、压缩存储等基本操作的编程实现,存储结构可以在顺序结构或链接结构中任选,也可以全部实现。也鼓励学生利用基本操作进行一些应用的程序设计。三、实验内容修改程序补充推箱子游戏的遗缺的部分,使之能正常运行,逻辑结果正确。之后增加至少一关自己的关数,墙体,箱子的最初位置,人的最初位置由自己设定,要求必须有解,而且有一定的破解难度。主要的问题是部分移动方向的代码没有给出
2、,另外计数器的整体工作不正常,更完善的修改包括启用栈结构实现后悔的机制。1、补充左方向和上方向移动根据源程序提供的右方向和下方向移动的原码,只需将原码稍作修改就能完成移动功能了。很明显上和下、左和右是两两对应的两个方向,所以只需将原码的‘+’、‘-’号相应修改即可。但是,抵消人不动的情况中的“count--”不能改动。2、计数器的改正刚开始游戏的时候,计数器的值应该为0,所以用以计数的变量应初始化为0。当运行程序时,发现计数器的初始值为111。所以找到计数器变量并将其致值为0。而且,当修改好四个方向后,向左和上移动时,计数器的值没变化。这里,要在条用
3、左方向和上方向的下面,添加计数器,使每调用一次(走一步),计数器加1。3、添加关数在原来的基础上,我添加了第四和第五两关。地图原码及截图如下:intmap4[roomsize+2][roomsize+2]=4/4{//0,1,2,3,4,5,6,7,8,9,10{-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1},//0{-1,0,1,1,1,1,1,1,1,-1,-1},//1{-1,0,1,0,4,2,2,2,1,-1,-1},//2{-1,0,1,0,0,0,1,1,1,1,-1},//3{-1,1,1,1,3,0,0,0,0,
4、1,-1},//4{-1,1,0,0,0,1,3,1,0,1,-1},//5{-1,1,0,3,0,1,0,0,0,1,-1},//6{-1,1,0,0,0,1,1,1,1,1,-1},//7{-1,1,1,1,1,1,0,0,0,-1,-1},//8{-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1},//9{-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1}//10};intmap5[roomsize+2][roomsize+2]={//0,1,2,3,4,5,6,7,8,9,10{-1,-1,-1,-1,-1,-
5、1,-1,-1,-1,-1,-1},//0{-1,1,1,1,1,1,1,1,1,-1,-1},//1{-1,1,0,0,0,0,0,0,1,-1,-1},//2{-1,1,0,0,1,1,1,0,0,1,-1},//3{-1,1,3,4,3,0,0,3,0,1,-1},//4{-1,1,2,2,1,1,3,0,0,1,-1},//5{-1,1,2,2,1,1,0,0,0,1,-1},//6{-1,1,1,1,1,1,1,1,1,1,-1},//7{-1,1,1,1,1,1,1,1,1,-1,-1},//8{-1,-1,-1,-1,-1,-1,-1,
6、-1,-1,-1,-1},//9{-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1}//10};第四关:游戏前游戏完成时图14/4第五关:游戏前游戏完成时图24、添加后退功能在本实验中添加的后退功能,只能后退一步。重新定义一个二维全局数组,用来记录前一步的情况,在back函数中记录上一步的位置,当要后退时,按‘b’完成。代码如下:voidbox::back(intstep){inti,j;switch(step){case1:for(i=0;i7、p[i][j]=map[i][j];newpositionh=positionh;newpositionl=positionl;break;case2:for(i=0;i8、q’选项才能退出。我认为不好,所以在主界面增加了“退出游戏”选项,以便突然不想玩时,可以正常退出。4/4图3