帮我实现一个狼人杀的上帝服务,包括:
- 一个python客户端,负责游戏调度
- 玩家的简单web页面,负责通知,交互,展示状态
该服务主要用于线下的辅助工具,所有玩家都是面对面操作的
服务端要求
- 玩家通过websockt链接,不需要区分房间,所有加入玩家都在一起玩
- 通过配置文件设置角色,可以设置预置的角色组,也可以自由组合角色
- 玩家加入房间后设置座位号和昵称,并从角色池里随机分配角色,同时角色从角色池去掉
- 使用面向对象编程,主要包含角色类和技能类,技能包含优先级和可用性等,不同技能组成不同角色,行动顺序由技能优先级决定,这样方便扩展角色和技能
- 游戏流程还没想好,你先看着写吧,后边再优化
- 与所有玩家通信,负责更新客户端页面的状态、玩家信息等
- 能够选择某一个客户端用于播放语音,语音由服务端提供
- 图片和语音资源暂未提供,先用空文件代替,后续我会进行替换
- 用logger在终端打印所有事件和id,id用连续数字记录即可,可以随时回退
客户端要求
- 一个简单的,由服务端返回的html页面,用javascript实现通信逻辑
- 主要负责
- 当前游戏状态
- 数字按钮,用于投票,警长选择发言,玩家选择,标识当前进行到哪个玩家
- 玩家的角色和技能展示
- 发言结束按钮,仅用作通知
- 播放语音
- 操作菜单,用于修正游戏进度