因此,这是针对一个大型大学项目,我正在尝试创建一个网站,让玩家能够登录,使用引擎(将在队友的 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 的整个获取和检索调用将花费大量时间和吞吐量。
感谢大家!