编写自主机器人:综合实践
在游戏自动化开发中,将控制理论与状态机结合,能让机器人实现自主行为。下面将详细介绍如何实现这一过程,以及相关的技术和代码。
1. 结合控制理论和状态机
为了将状态与反馈循环联系起来,需要为每个StateDefinition对象提供一种通用方式来访问已实现的传感器和执行器。修改后的StateDefinition类如下:
class StateDefinition { public: StateDefinition(){} ~StateDefinition(){} bool condition(GameSensors* sensors); void reach(GameSensors* sensors, GameActuators* actuators); };此修改使condition()和reach()函数接受GameSensors和GameActuators类的实例作为参数。GameSensors包含从游戏中拦截的内存读取、网络钩子等数据源的结果,而GameActuators是一组能在游戏内执行动作的执行器函数。
也可以使用std::function在类定义外部实现condition() <