谈谈游戏开发中用到设计模式
1. 单例模式。 不用多讲了
2. 观察者模式 class player { ... }
onPlayerHpChanged()
onPlayerMpChanged()
onPlayerPositionChanged()
...
3. 命令模式
class buff {
void do()
void undo()
}
4. 代理模式
客户端通常需要显示其它玩家,而又不需要知道其它玩家的全部信息,只需要代理其他玩家。
5. 工厂模式
XXFactory::createPlayer()
XXFactory::createMonster()
6. 适配器模式
曾经写的战斗系统, 需要从不同的游戏系统进入战斗,例如副本 秘诀 决斗
FightFromQuest()
FightFromSercret()
FightFromDuel()
7. 状态机模式
控制游戏物体移动时,会遇到各种移动方式 移动策略(策略模式?笔者分不清了,笔者认为设计模式只是一种思想,当代码更加优雅,清晰)
SliderMove()
FlyMove()
FreeFallMove()
PathMove()