面向对象文档 班级:0111030 学号:20030008 姓名:孙永生
面向对象文档 班级:01110301 学号:20030008 姓名:孙永生
源码正确编译的条件,软件运行的环境要求: Java: jdk5 eclipse?30开发开发环境: windows xpo运行需要 java. re5支持 数据结构 People类的主要数据结构。 mage bigImage, biglmagel, biglmage 2, biglmage3, biglmage4 放四幅可以替换的人物的素材图片 int girlInMapX=l, girlInMapY=I ∥人物在地图格子上的定位 int girlEnterx-0, girlEntery=0; ∥人物在大背景上的初始定位 int girlsX-0, girls=0, picX=O, beginPic=9, nowPic: ∥人物在大背景上移动时的贴图定位 int girls Xa=20, girls Ya=0 辅助定位指令(看得不顺眼时对位置的调整) Map Func类的主要数据结构 int enter=200, entery=0y/地图开始的横纵坐标 int grid X=5 grid=5/地图格子数 int印maze= new int[30J[30/地图数组 Int enter=300, width=20/对25D斜角地图的定位 mage walll wal/25dD墙的壁纸 Image walll2,wall2∥2D墙的壁纸 Graphics gwl,gw2/2d墙画面 intw=106h=85/墙的大小 double wa=0.53ha=0175wb=049,hb=024/∥构建单个地图坐标的加权值(辛 辛苦苦的试出来的,得到教训,数学不好就是不行) ApplemAn类的主要数据结构。 Med ia Tracker mt∥监测图片的下载 boolean initbool== false; complete= false mouseclick;/状态参量 Map Func mapl/地图对象 People peoplel/人物对象 Image buffer;利用双缓冲是的缓存图片 Graphics buffer上面的缓存的操作 三.算法分析 这个程序中主要运用到的算法就是地图的动态生成算法 个地图的结构,利用上墙和右墙就可以表述。也就是说,地图的就是下图 的集合。 个的:
一. 源码正确编译的条件,软件运行的环境要求: java:jdk1.5,eclipse3.0 开发,开发环境:windows xp。运行需要 java:jre1.5 支持。 二. 数据结构 People 类的主要数据结构。 Image bigImage,bigImage1,bigImage2,bigImage3,bigImage4; //存放四幅可以替换的人物的素材图片 int girlInMapX=1,girlInMapY=1; //人物在地图格子上的定位 int girlEnterx=0,girlEntery=0; //人物在大背景上的初始定位 int girlsX=0,girlsY=0,picX=0,beginPic=9,nowPic; //人物在大背景上移动时的贴图定位 int girlsXa=20,girlsYa=0; //辅助定位指令(看得不顺眼时对位置的调整) MapFunc 类的主要数据结构。 int enterx=200,entery=0;//地图开始的横纵坐标 int gridX=5,gridY=5;//地图格子数 int[][] maze=new int[30][30];//地图数组 int enter=300,width=20;//对 2.5D 斜角地图的定位 Image wall1,wall2;// 2.5dD 墙的壁纸 Image wall12,wall22;//2D 墙的壁纸 Graphics gw1,gw2;//2d 墙画面 int w=106,h=85;//墙的大小 double wa=0.53,ha=0.175,wb=-0.49,hb=0.24;//构建单个地图坐标的加权值(辛 辛苦苦的试出来的,得到教训,数学不好就是不行) AppletMain 类的主要数据结构。 MediaTracker MT;//监测图片的下载 boolean initbool=false,complete=false,mouseclick;//状态参量 MapFunc map1;//地图对象 People people1;//人物对象 Image bufferI;//利用双缓冲是的缓存图片 Graphics buffer;//对上面的缓存的操作 三. 算法分析 这个程序中主要运用到的算法就是地图的动态生成算法。 一个地图的结构,利用上墙和右墙就可以表述。也就是说,地图的就是下图 的集合。 一个的:
多个的 ■■■■■■■■■■ ■■■■■ 这样的图,只需加画左,下两边,在加开出口,在加算法就可以成为2维地 图 铺垫完成,言归正传 存储地图用的是int30[30]的数组,用第四位来表示边界(java中我没看到2 进制怎么用……是1000B),用第三位表示已经设置过(0100B),用第二位 表示当前位置右边的墙存在(0010B),用第二位表示当前位置上边的墙存在 (0001B)。 主要思想:当我站在上图中的任意点,我都有四种方向可选,当我选定要进 入的新格子,就拆除旧格子与新格子之间的墙。此算法开始于左上角点,终 止于右下角点。 以图说明:
多个的: 这样的图,只需加画左,下两边,在加开出口,在加算法就可以成为 2 维地 图 铺垫完成,言归正传。 存储地图用的是 int[30][30]的数组,用第四位来表示边界(java 中我没看到 2 进制怎么用……是 1000B),用第三位表示已经设置过(0100B),用第二位 表示当前位置右边的墙存在(0010B),用第二位表示当前位置上边的墙存在 (0001B)。 主要思想:当我站在上图中的任意点,我都有四种方向可选,当我选定要进 入的新格子,就拆除旧格子与新格子之间的墙。此算法开始于左上角点,终 止于右下角点。 以图说明:
左上角(0,0)开始 断是不是最 结束 随机取(1,4)的数 代表不同方向 向右则将本格子的右 墙置空 判断不同方向 向上则将本格子的 墙置空 向左则将左面格子的 右墙置空 下则将下面格子的 上墙置空 四.UML描述系统: UseCase描述系统功能 对各用例的描述: 1.控制人物行动 取得地图冲突信息 f左键then 人物向左移动 elseif右键then 人物向右移动 elseif上键then 人物向上移动 lef下键then 人物向下移动 end if 重绘窗口内所有元素 2.控制 applet流程 if人点击鼠标then 开始游戏 endif f到达结尾或有换人请求then
左上角(0,0)开始 随机取(1,4)的数 代表不同方向 判断不同方向 向左则将左面格子的 右墙置空 向右则将本格子的右 墙置空 向上则将本格子的上 墙置空 向下则将下面格子的 上墙置空 判断是不是最后 一个格子 No 结束 四. UML 描述系统:UseCase 描述系统功能 对各用例的描述: 1.控制人物行动 取得地图冲突信息 if 左键 then 人物向左移动 elseif 右键 then 人物向右移动 elseif 上键 then 人物向上移动 elseif 下键 then 人物向下移动 endif 重绘窗口内所有元素。 2.控制 applet 流程: if 人点击鼠标 then 开始游戏 endif if 到达结尾或有换人请求 then
电脑决策者控制 ndif 3.对地图作用 f用户行动then 地图进行碰撞检测分析 反馈 end if 重绘界面上所有元素。 结束4 制人物行动 结束3 结束1 对地图作用 用户 结束7 控制 applet流程 电脑决策者 五.类图和包图
电脑决策者控制 endif 3.对地图作用 if 用户行动 then 地图进行碰撞检测分析 反馈 endif 重绘界面上所有元素。 控制人物行动 用户 控制applet流程 -结束1 * -结束2 * -结束3 * -结束4 * 电脑决策者 对地图作用 -结束5 * -结束6 * -结束7 * * -结束8 -结束9 * -结束10 * 五. 类图和包图