Design RPG yourself 4 -- 战斗

    战斗是RPG游戏最复杂的部分!刚开始设计战斗模块时,我以为不会很复杂,但是其复杂程度超出我的想像!一个回合的作战过程如下:
    ①活着的每位主角选择作战指令(可以是攻击、使用物品、使用魔法);
    ②活着的怪物选择要攻击的主角(怪物可以决定是否使用魔法);
    ③活着的每位主角执行攻击(可以使用物品、魔法);
    ④如果怪物全死,执行升级处理函数,切换回地图行走场景;
    ⑤活着的怪物攻击主角;
    ⑥如果主角全牺牲,切换回游戏选择画面,让玩家选择重玩或退出;
    ⑦修改相应变量,开始下一回合作战。
    主角选择作战指令到开始攻击,要执行很多函数,因此需要一个结构保存作战指令,代码如下:

    虽然战斗部分异常复杂,但是可以将战斗部分细分为许多小的状态,根据不同的战斗状态绘制相应的场景(大事化小,小事化了)。代码如下:

    戳了半天,看点实际的东西,下面是选择物品的函数代码:

    狼头软件工作室LoneLy写于2008-5-4