本文最后更新于237 天前,其中的信息可能已经过时,如有错误请发送邮件到big_fw@foxmail.com
1.参与者管理:玩家队伍,敌人队伍,用容器记录
# 战斗参与者
var player_characters: Array[Character] = []
var enemy_characters: Array[Character] = []
2.回合系统(行动条,当前行动的人物)
# 回合顺序管理
var turn_queue: Array = []
var current_turn_character: Character = null
3.标记和信号
# 简单的战斗标记
var is_player_turn = false # 当前是否是玩家回合
var battle_finished = false # 战斗是否结束
var is_victory = false # 战斗结果是否为胜利
# 信号
signal turn_changed(character)
signal battle_ended(is_victory)
4.战斗初始化
# 启动顺序
_ready() → find_characters() → start_battle() → build_turn_queue() → next_turn()
将所有战斗人员加载->建立回合队列(行动条)->开始第一回合
5.战斗循环

1. 大回合开始 (ROUND_START)
↓
2. 构建所有存活角色的行动顺序 (build_turn_queue)
↓
3. 进入小回合循环:
├─ 小回合开始 (TURN_START) → 取出当前行动角色
├─ 玩家回合 (PLAYER_TURN) 或 敌人回合 (ENEMY_TURN)
└─ 小回合结束 (TURN_END)
↓
4. 当所有角色都行动完毕 (turn_queue为空)
↓
5. 大回合结束 (ROUND_END)
↓
6. 回到步骤1,开始新的大回合
