目录结构
2024/10/8约 443 字
java# Java代码
card# 卡牌相关代码
gm# GM命令,见服务器代码仓库的README
handler# 客户端发来的协议处理(协议层)
network# 网络层代码(基于netty框架)
phase# 各个阶段的逻辑
skill# 角色技能
Config.kt # 配置文件的解析
Game.kt # 游戏的主要逻辑
HumanPlayer.kt # 真人玩家
Image.kt # 生成图像相关的代码
MessageCardValue.kt # 情报分数计算逻辑(AI用)
Player.kt # 玩家
QQPusher.kt # 推送到QQ群相关代码
Recorder.kt # 录像相关代码
RobotPlayer.kt # 机器人玩家
ScoreFactory.kt # 分数与段位系统
Statistics.kt # 统计玩家的一些数据
…# 其它文件:框架相关代码
common.proto # 一些枚举定义、卡牌结构体定义等需要在其它文件都使用到的通用定义
errorcode.proto # 目前只存放了一条协议error_message_toc
fengsheng.proto # 与角色技能无关的大部分游戏协议
record.proto # 服务器存储录像使用protobuf进行序列化和反序列化(与客户端无关)
role.proto # 角色技能协议
resources# 资源文件
test# 单元测试代码
…# 其它文件:工程相关文件
机器人的逻辑分为三种:
- 在空闲时点使用的卡牌和主动技能:写在对应卡牌或技能文件最下方的
ai函数中。 - 卡牌和主动技能的后续效果、所有触发类技能:写在对应卡牌或技能文件下的名为
executeXXX子类的resolve方法中。 - 其它AI(例如是否接收情报、如何传递情报、是否救濒死等):写在
RobotPlayer.kt中。
