多人联机射击游戏中的设计模式应用(二)
图6 观察者模式实例类图
- for(Object
player : players) { -
if(player.getName().equals(name)) { -
this.detach(player); -
} -
else { -
if(player.getType().equals(type)) { -
player.displayTeam(name); //队友显示提示信息 -
} -
else { -
player.displayEnemy(name); //敌人显示提示信息 -
} -
} -
}
图7 单例模式实例类图
- class
SceneManager { -
private static SceneManager null;sManager = -
-
private SceneManager() { -
//初始化代码 -
} -
-
public synchronized static SceneManager getInstance() { -
if(sManager==null) { -
sManager = new SceneManager(); -
} -
return sManager; -
} -
-
public void manage() { -
//业务方法 -
} -
}
图8 状态模式实例类图
- class
NormalState extendsState -
{
-
public void pause() //游戏暂停 -
{ -
//暂停代码省略 -
player.setState(new PauseState( this)); -
} -
public void start() //游戏启动 -
{ -
//游戏程序正在运行中,该方法不可用 -
} -
public void beAttacked() //被攻击 -
{ -
//其他代码省略 -
if(lifeValue<=0) -
{ -
player.setState(new DeathState( this)); -
} -
} -
public void shot() //射击 -
{ -
//代码省略 -
} -
public void move() //移动 -
{ -
//代码省略 -
} -
}
图9 适配器模式实例类图
【作者:刘伟 http://blog.csdn.net/lovelion】