如何为我自己的基于国际象棋的网站使用Python,Python-chess和Flask创建类似Lichess的引擎到玩家通信API?

问题描述

因此,这是针对一个大型大学项目,我正在尝试创建一个网站,使玩家能够登录,使用引擎(该引擎将在队友的PC或服务器上本地运行)玩然后显示输出,让播放器播放动作并将其再次传递给引擎,并获取引擎的输出,并将其显示在浏览器中。

这就是我的想法:The user plays a move -> the move response gets displayed locally ->Goes to the engine as an input to the wrapper function via an API -> Engine plays move -> Gets displayed at the user's endpoint and so on.

我考虑过要使用Python-chess基本上为我的团队创建的国际象棋引擎创建一个包装函数,以便获得最好的动作,当前的FEN等。

接下来,我正在考虑使用Chess.js和Chessboard.js / chessboard3.js来显示基本动作并让玩家玩。

但是现在,我无法考虑如何在本地存储为“ .exe”文件(带有python-chess包装器)的引擎和Web浏览器之间建立通信桥。我无法考虑如何编写API。我能想到的最好的方法就是使用Flask框架,该框架将从Firebase数据库获取新动作,在该数据库中将存储和记录用户的动作。类似地,带有引擎的服务器PC将播放动作,并将其存储在Firebase数据库中,然后再次显示在客户端。

客户端处理将由Chess库(如Chess.js,chessboard.js)完成,服务器端将由大多数python,python-chess和其他一些基于Firebase的通信库完成。

我真的需要一些帮助来解决这个问题,因为我确实是设计API的新手,这对我来说很晦涩。这是我能想到的最接近的方法,但我知道整个对Firebase DB的获取和检索调用将花费大量时间和吞吐量。

谢谢大家!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)