SLG游戏的执行和log构架问题
传统的SLG游戏里面,我经常会按照历史给一些指令,然后这些指令会根据指令代码生成log
log一般都是这样的:某某国组织了会盟,参与国家有某某国。或者某国的某某开始担任某职位
这些我都会像paradox的游戏一样显示在界面里
我在发布指令的时候,不是马上执行的,而是放到一个执行列表中,当一个回合结束的时候,所有发布的指令依次执行,所以执行出了问题,打断点不是在发布指令的地方
而且log和执行也不是在一起,而是在执行之前,根据当前情况生成一个log,然后进入程序执行的代码
因为生成log不是很方便,比如某某国的某某开始担任某职位,这时候还会到系统里找他之前的职位是什么,还显示出来
比如某某国占领了某块领地,还会自动去系统里找,这块领地之前的主人是哪个国家,作为Log里的信息
现在我遇到一些情况,就是执行一个指令的时候,会变化衍生出其他各种指令,需要输出很多log,比如某某国家主持了会盟之后,它的声望要增加,它和参与国家的友好度要增加等等。某某国家占领了某块地之后,它消灭了另外一个国家,因为消灭国家和占领领地在我这里是分开的,但是每次执行“占领领地”的时候,都要去领地所属国家里看,如果是最后一块领地则判定消灭国家等等,但是我的log生成往往只根据“占领领地”来生成
其中一个国家有N个职位,是依次递进的,比如老二死了之后,老三接替老二的位置,老四接替老三的位置这样递进的
本来我的一个指令对象里包含一个log对象,在执行前先让log对象生成log信息打印出来
而现在我可能一个指令会衍生出很多条指令
不知系统构架怎么改比较好,
感觉,头都大了,语无伦次,望理解!!
没分了所以发非技术区