Board-Game-Bot / backend-nest

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

功能需求:用户可以选择自己的代码来出战 #76

Closed SokuRitszZ closed 9 months ago

SokuRitszZ commented 9 months ago

用户可选择代码

需求背景

用户希望可以选择自己写好的博弈代码代自己出战。

需求分析

首先用户可以在前端找到一个入口选择自己的 bot 出战,通过传递 botId 来表示要出战哪个机器人。

其次,用户选择的机器人需要一个启动的时间,要等到后端把机器人全部启动起来,才能开始游戏。

然后,机器人需要等待轮到这个玩家的 turn 才能运行代码来获取决策结果,检测时机设定在AFTER_START, AFTER_STEP

其中,机器人需要获取局面信息,至于局面信息怎么获取,需要主站后端发送一个字符串给机器人,机器人代码中解析这个字符串,转化为结构化数据。

并且,需要有一个检验输入输出的合法性的步骤,如果机器人给了非法的输入,就要结束游戏,自己要扣分,并且给对方加分。

这就是整个链路过程。

重点需求方案

1. 后端与代码运行系统的通信

这里需要实现一个 soku-gamesGamePlugin统一任何游戏的核心与代码运行系统的通信链路。

因此,有如下的具体措施