Board-Game-Bot / backend-nest

这是为 Board Game Bot App 提供的后端平台,旨在提供主要的C端业务后端服务。
0 stars 0 forks source link

后端需求:匹配模式对抗会记分 #60

Closed SokuRitszZ closed 10 months ago

SokuRitszZ commented 10 months ago

匹配模式对抗根据结果记分

用户故事

用户进行一局匹配模式下的对抗之后,根据结果来记分,然后同步到数据库里面。

SokuRitszZ commented 10 months ago

方案总结

请见如下的过程

1. 游戏模块改造

原因如下:

具体方式可以查看此 pr 的第一条 commit,无非就是把一些需要用到 RateService 的函数放到模块中,其余全局性质的不需要作为 static 放入。

除非是在 MatchPool 中调用 RoomService 的时候,是全局性质的同时还需要用 RoomService,可以在构造函数中将自动创建的 RoomService 实例传给 static 的 RoomService。

2. Room 中加入 mode 状态

原因如下:

在 Room 中的构造函数传参中新增一个 mode 即可,在 RoomService.makeRoomGameService.startGame 中也加入一个。

3. 监听游戏结束周期(LifeCycle.AFTER_END

soku-games 仓库中已经交由开发者去统一 validator 在结束游戏的时候,传给回调的参数为以下格式的字符串

+x;-y;-z...

这样就基本可以提供全面的信息了:谁赢/输了、计分基准。

开发者做好以上工作之后,就可以根据这个字符串去记分了,在这里放大 3 倍。