Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Python、Python chess和Flask中为我自己的基于国际象棋的网站创建一个类似Lichess的引擎到玩家的通信API?_Flask_Api Design_Chessboard.js_Python Chess_Lichess - Fatal编程技术网

如何在Python、Python chess和Flask中为我自己的基于国际象棋的网站创建一个类似Lichess的引擎到玩家的通信API?

如何在Python、Python chess和Flask中为我自己的基于国际象棋的网站创建一个类似Lichess的引擎到玩家的通信API?,flask,api-design,chessboard.js,python-chess,lichess,Flask,Api Design,Chessboard.js,Python Chess,Lichess,因此,这是一个大型大学项目,我正在尝试创建一个网站,玩家可以登录,玩引擎(在队友的PC或服务器上本地运行),然后显示输出,让玩家玩动作,再次将动作传达给引擎,并获得引擎的输出,并在浏览器中显示它们 这就是我的想法:用户播放移动->移动响应在本地显示->通过API转到引擎作为包装函数的输入->引擎播放移动->在用户端点显示等等。 我考虑使用Python chess为我的团队创建的chess引擎创建一个包装器函数,以便获得最佳的移动、当前的FEN等等 接下来,我考虑使用Chess.js和chessb

因此,这是一个大型大学项目,我正在尝试创建一个网站,玩家可以登录,玩引擎(在队友的PC或服务器上本地运行),然后显示输出,让玩家玩动作,再次将动作传达给引擎,并获得引擎的输出,并在浏览器中显示它们

这就是我的想法:
用户播放移动->移动响应在本地显示->通过API转到引擎作为包装函数的输入->引擎播放移动->在用户端点显示等等。

我考虑使用Python chess为我的团队创建的chess引擎创建一个包装器函数,以便获得最佳的移动、当前的FEN等等

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

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

客户端处理将由Chess.js、chessboard.js等国际象棋库完成,服务器端处理将主要由python、python国际象棋和其他一些面向Firebase的通信库完成

我真的需要一些帮助来弄清楚这一点,因为我对设计API真的很陌生,而且对我来说它非常模糊。这是我所能想到的最接近的,但我知道对Firebase DB的整个获取和检索调用将花费大量时间和吞吐量

谢谢大家