type
Post
status
Published
date
Jul 8, 2023
slug
screeps_creeps_scheduler
summary
Screeps[GCL1,RCL3]时对于工种调度 使用适配器模式+状态模式 的自研方案
tags
设计模式
游戏
效率
category
技术分享
icon
password
截止到2023-7-8本人在GCL1,RCL3的阶段,代码还在建设ing,思考有限
背景
在Screeps中,对于每个工种,都需要其有自己的行为模式
同时如果当工种自己的事情做完了,可以去帮着其他的工种做事
同时由于调用工种都从Creeps调用,耦合度高,编码不方便,需要整合为一个单独的工种类
需求
- 对于工种的调用需要使用Creeps类的方法进行调用,需要将其封装为一个工种类
- 同时需要支持工种间的相互切换
设计
首先将状态模式的变化顺序进行明确
之后判断变化条件,通过transform方法进行状态变更
由于Creeps为Screeps官方提供的接口,无法变化,所以需要通过适配器模式,进行适配
然后将工种继承这个适配器,调用工种即可
结果
现在只需要通过继承CreepsAdapter类,实现work方法即可进行新工种的行为使用
之后通过在transform方法里传递进需要变化的CreepsAdapter即可
- 作者:txuw
- 链接:https://txuw.top/article/screeps_creeps_scheduler
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。