【发布时间】:2011-09-16 17:36:30
【问题描述】:
基本上我有一个控制游戏角色攻击的状态机,其时间基于动画长度。
例如:
我从默认状态开始,如果玩家点击攻击按钮,它会开始攻击,切换状态并根据攻击长度设置计时器。状态机变得更加复杂,但是当我考虑可以取消的冲锋攻击,可以根据击中的内容移动到不同状态的攻击,并且每个状态都有处理被攻击角色的独特方式时。 目前我有大量的 switch 语句。我考虑过多态性,但这需要为每个有很多状态的新类(例如,开始攻击、攻击和结束攻击都需要单独的状态)。
switch 语句有效,但它相当大,而且不像基于继承的系统那样容易修改。
对好看的实现有什么建议吗?
编辑: 这是使用java。
【问题讨论】:
标签: java switch-statement state-machine