超级玛丽详细设计文档

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

超级玛丽详细设计文档

超级玛丽JA V A小游戏详细设计

目录

1.导言 ............................................................................................ 错误!未定义书签。

1.1编写目的 .................................................................... 错误!未定义书签。

1.2项目范围 .................................................................... 错误!未定义书签。

1.3参考资料 .................................................................... 错误!未定义书签。

1.4缩写说明 .................................................................... 错误!未定义书签。

1.5术语定义 .................................................................... 错误!未定义书签。

2.功能需求 .................................................................................... 错误!未定义书签。

2.1界面设计技术............................................................ 错误!未定义书签。

2.2游戏功能划分............................................................ 错误!未定义书签。

2.3功能划分的架构图.................................................... 错误!未定义书签。

2.4具体的功能模块........................................................ 错误!未定义书签。

2.5功能描述 .................................................................... 错误!未定义书签。

2.6程序的总体架构........................................................ 错误!未定义书签。

2.7程序的三层结构图 (6)

3.面向对象设计 (7)

3.1主要类图 (7)

3.2各个模块的方法或类名类表示 (8)

3.3地图绘制中的坐标说明 (8)

4.程序的详细设计 (9)

4.1主要人物玛丽的实现 (9)

4.2核心类 (9)

◆分离。

◆业务逻辑层。主要是游戏的人物和敌人的动作,碰撞的判断,这个与表现层

无关,需要表示层调用定义好的接口与逻辑层的通信

◆数据持久层。保存游戏中的数据,载入游戏中需要的资源,与程序逻辑层无

关,用XML文档存储数据

2.7程序的三层结构图

表现层(绘制屏

逻辑层(程序的

数据持久层(数

3.面向对象设计3.1主要类图

3.2各个模块的方法或类名类表示

3.3地图绘制中的坐标说明

4.程序的详细设计

部分源代码如下:

4.1主要人物玛丽的实现

package org.liky.mario;

import java.awt.image.BufferedImage;

public class Mario implements Runnable {

//坐标

private int x;

private int y;

//定义一个场景对象来保存mario当前所处的场景对象

private BackGround bg;

//加入线程

private Thread t=null;

//移动速度

private int xmove=0;

private int ymove=0;

//状态

private String status;

//显示的图片

private BufferedImage showImage;

//生命数和分数

private int life;

private int score;

//当前移动中显示的图片数

private int moving=0;

private int upTime=0;

//标记mario是否死亡

private boolean isDead=false;

//标记玩家是否完成了全部的游戏

private boolean isClear=false;

public Mario(int x,int y){

this.x=x;

this.y=y;

//初始化Mario图片

this.showImage=StaticValue.allMarioImage.get(0);

this.score=0;

this.life=3;

t=new Thread(this);

this.status="right--standing";

t.start();

}

public void leftMove(){

//改变速度

this.xmove=-30;

//改变状态

//如果当前已经是跳跃状态,应该保留原有状态,不应该改变状态if(this.status.indexOf("jumping")!=-1){

this.status="left--jumping";

}

else{

this.status="left--moving";

}

}

public void rightMove(){

this.xmove=30;

//如果当前已经是跳跃状态,应该保留原有状态,不应该改变状态if(this.status.indexOf("jumping")!=-1){

this.status="right--jumping";

}

else{

this.status="right--moving";

}

}

public void leftStop(){

this.xmove=0;

//如果当前已经是跳跃状态,应该保留原有状态,不应该改变状态if(this.status.indexOf("jumping")!=-1){

this.status="left--jumping";

}

else{

this.status="left--standing";

}

}

public void rightStop(){

this.xmove=0;

//如果当前已经是跳跃状态,应该保留原有状态,不应该改变状态if(this.status.indexOf("jumping")!=-1){

this.status="right--jumping";

}

else{

相关文档
最新文档