如何用抽象工厂模式改写星际争霸中的种族单位生产机制?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1270个文字,预计阅读时间需要6分钟。
原文示例讲述了PHP设计模式中的抽象工厂模式。以下是简化后的内容:
本文实例介绍了PHP设计模式中的抽象工厂模式。分享给广大开发者参考,具体如下:
+ 星际争霸是一款策略游戏,其中的兵种种类繁多,但敌对双方的显示是不一样的。+ 典型的就是鼠标的指针颜色,点中自己物件的显示是不同的。
本文实例讲述了php设计模式之抽象工厂模式。分享给大家供大家参考,具体如下:
星际争霸是战略游戏,所以同样的兵种,敌我显示是不同的。
典型的就是鼠标的颜色,点中自己的物体的时候,鼠标颜色变成绿色,点中敌人的物体的时候,鼠标颜色变成红色。
还有就是每个物体的状态,点中自己的物体的时候,状态区显示完整的状态,点中敌人的物体的时候,状态区显示一部分信息。
我们假设只考虑鼠标和人族的运输船,玩家自己的运输船点中后状态区会显示里面装载的部队,而点中敌人的则不会显示里面是否装载部队。
这样我们就有四种对象:点中自己的鼠标,点中敌人的鼠标,自己的运输船状态,敌人的运输船状态。
如果用工厂方法模式,就要建立四个具体工厂(或者子工厂),这样的代码不便于维护和修改,因为我们以后要增加另一种情况:盟友。
待解决的问题:我们希望将这些对象联系起来,使得工厂的操作更加有逻辑性。
本文共计1270个文字,预计阅读时间需要6分钟。
原文示例讲述了PHP设计模式中的抽象工厂模式。以下是简化后的内容:
本文实例介绍了PHP设计模式中的抽象工厂模式。分享给广大开发者参考,具体如下:
+ 星际争霸是一款策略游戏,其中的兵种种类繁多,但敌对双方的显示是不一样的。+ 典型的就是鼠标的指针颜色,点中自己物件的显示是不同的。
本文实例讲述了php设计模式之抽象工厂模式。分享给大家供大家参考,具体如下:
星际争霸是战略游戏,所以同样的兵种,敌我显示是不同的。
典型的就是鼠标的颜色,点中自己的物体的时候,鼠标颜色变成绿色,点中敌人的物体的时候,鼠标颜色变成红色。
还有就是每个物体的状态,点中自己的物体的时候,状态区显示完整的状态,点中敌人的物体的时候,状态区显示一部分信息。
我们假设只考虑鼠标和人族的运输船,玩家自己的运输船点中后状态区会显示里面装载的部队,而点中敌人的则不会显示里面是否装载部队。
这样我们就有四种对象:点中自己的鼠标,点中敌人的鼠标,自己的运输船状态,敌人的运输船状态。
如果用工厂方法模式,就要建立四个具体工厂(或者子工厂),这样的代码不便于维护和修改,因为我们以后要增加另一种情况:盟友。
待解决的问题:我们希望将这些对象联系起来,使得工厂的操作更加有逻辑性。

