我认为数据结构应该在程序整体设计时考虑好。既然是战略游戏,城池、武将等都是对象,那么在安排好某月所有任务并开始执行后,它们都应存在一个表示当月操作状态的统一结构。
简单举例:城池的操作状态结构
Type CityOperate
Dim Command As Integer '命令编号:例如武将移动为15
Dim Character() As Integer '执行者编号表:例如武将张飞为3、赵云为4
Dim Object As Integer '目标城池编号
......
所带兵、粮、物品等数量
......
End Type
这一结构需要适应城池的所有月命令操作,只不过在某些命令(如耕作等)中,结构里的某些属性(如所带兵、粮等)为空即可。
同理,武将也应存在一个统一的月操作状态结构,在该结构中只要存在任务城池和任务类别属性即可满足楼主问题的需求,但设计该结构时则需要适应武将的所有其它月操作。