程序设计实习报告

程序设计实习报告

ID:39115077

大小:253.13 KB

页数:13页

时间:2019-06-25

程序设计实习报告_第1页
程序设计实习报告_第2页
程序设计实习报告_第3页
程序设计实习报告_第4页
程序设计实习报告_第5页
资源描述:

《程序设计实习报告》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、程序设计实习报告问题描述1.题目:推箱子游戏设计。2.目的:满足同学们对游戏的乐趣,同时锻炼自己对c++程序设计的熟练程度,特此用了一周时间做完了这个简单的推箱子游戏。3.游戏好处:可以放松心情,也有助于智力的提高。需求分析根据任务的要求,设计出不同的玩家,不同的地图,玩家可以通过自己的喜好随便选择关卡,当玩家把箱子完全推到目的地的时候,系统会提示玩家已经通关。由于时间紧急,只做了5个地图。输入:1.系统提示玩家输入自己的姓名2、其次会提示玩家所要选择的关卡3当通关的时候还会提示是否继续游戏(Y/N

2、){由玩家自己选择}输出/结果:根据玩家的操作会输出相应的地图,或提示。概要设计整个系统、模块(函数),以及他们之间的关系如下图Show绘图判断是否通关Move运行系统玩家操作系统确定人物位置推箱子游戏系统详细设计为了必要的一些函数的运用,所以增加了几个常用的头文件#include#include使用字符串#include#include#include使用清屏功能#include#inc

3、ludeusingnamespacestd;所使用的主要函数有:1显示地图函数voidshow(inta[14][16])2移动函数voidmove(intb[14][16])3判断是否通关函数intsuccess(intc[14][16])4确定人物坐标函数intfinda(intd[14][16])5主函数intmain()下面对这几个主要函数做一下具体分析首先玩家输入自己的信息后会直接进入到选择关卡的界面,由于时间问题,这里只做了5个地图,以后会更加完善。5个地图分别存放在

4、map1.txt,map2.txt,map3.txt,map4.txt,map5.txt,五个文本文档里面,假如玩家选择1的话,系统会自动调用map1文本文档读取数据。图1图2在这里要介绍一下,下面使用了一个for循环读取数据,然后将读取的字符数据转化成数字数据for(intj=0;j<16;j++){c=lines[j];a[i][j]=atoi(&c);//字符数据转化成数字数据}读取完地图记得要关闭地图,否则的话系统会出现错误…………in.close();即可。1.绘图函数在绘图函数里面我们定

5、义了一个整形14*16的二位数组inta[14][16],我们的目的只是为了绘图,所以并不需要什么返回值,可以把函数定义为void函数即可。voidshow(inta[14][16])一个简单的双重for循环,外加一switch()结构就能把地图显示出来,switch(a[i][j]){case0:printf("");break;case1:printf("■");break;case2:printf("");break;case3:printf("×");break;case4:printf("

6、◎");break;case6:printf("♀");break;default://printf("fdjg");break;我们用“”[空格0]代表周围的数据背景,“■”【1】代表墙,"×"【3】代表的目的地,"◎"【4】代表箱子,"♀"【】人物。2.玩家移动操作函数这个函数只是为了改变一些值而已,也没必要设置为返回值的int型函数,传参也是14*16的二微数组b[14][16]。voidmove(intb[14][16])同时为了确认位置定义了int型xy俩参数,xy的值由调用的find()

7、函数来确定。读取玩家操作定义一char型的t,t=getch()。然后对应玩家不同的操作选择不同的执行函数,【w(上)、s(下)a(左)d(右)】以上【w】下【s】为例来介绍….if(t=='s'){if(b[x+1][y]==1){}//墙elseif(b[x+1][y]==4&&b[x+2][y]!=1)//推箱子{b[x][y]=2;x+=1;b[x][y]=6;b[x+1][y]=4;}elseif(b[x+1][y]==4&&b[x+2][y]==3)//推箱子{b[x][y]=2;x+=

8、1;b[x][y]=6;b[x+1][y]=4;}elseif(b[x+1][y]==2)//前进{b[x][y]=2;b[x+1][y]=6;x++;}else{}//不推箱子system("cls");show(b);}if(t=='w'){if(b[x-1][y]==1){}//墙elseif(b[x-1][y]==4&&b[x-2][y]!=1)//推箱子{b[x][y]=2;x-=1;b[x][y]=6;b[x-1][y]=4;}elseif(b[x-1][

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

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

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