问题标签 [stockfish]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
250 浏览

python - Python 国际象棋数据 (FEN) 到 Stockfish for Python

我正在尝试使用 stockfish 来评估使用 FEN 符号的国际象棋位置,所有这些都在 Python 中。我主要使用两个库(我在 github 上找到的 pgnToFen:https ://github.com/SindreSvendby/pgnToFen和 Stockfish,MIT 在这里获得了许可:https ://github.com/zhelyabuzhsky/stockfish )。在许多错误之后,我遇到了一个又一个问题。Stockfish不仅无法分析这个FEN位置(3b2k1/1p3pp1/8/3pP1P1/pP3P2/P2pB3/6K1/8 b f3 -),而且它无限循环!“不用担心!” 并认为更改源代码是可以完成的。更改为 _put(),但基本上我无法放入虚拟值,因为一旦我给它这些值,stdin.flush() 就不会执行!这意味着我什至不认为我可以跳到数据框中的下一行。:( 我更改的代码如下。



最后但并非最不重要的更改为下面的init _ 构造函数:

下面是我要导入此代码的代码,这是弹出错误的地方。

因此,详细的问题是让 stockfish.get_evalution() 跳过,或者更好地解决问题,为此( 3b2k1/1p3pp1/8/3pP1P1/pP3P2/P2pB3/6K1/8 b f3 - )FEN 位置。我一直在研究这个问题很长一段时间,所以任何对此的见解都将非常感激。

我的规格是 Windows 10、Python 3.9、处理器:Intel(R) Core(TM) i9-10980XE CPU @ 3.00GHz 3.00 GHz,RAM 为 64.0 GB。

谢谢 :)

0 投票
0 回答
153 浏览

python - Stockfish Google Colab PermissionError:[Errno 13] 权限被拒绝

我正在将我的代码从我的 ide 转移到 google colab,但是在尝试使用 stockfish 时我不断收到以下错误。

我只在 colab 中运行以下 3 行,文件位置在我安装的驱动器内

驱动器中文件路径的图像

我已经尝试使用 !chmod +x '/content/drive/MyDrive/Colab Notebooks/stockfish/stockfish_14_win_x64_avx2/stockfish_14_x64_avx2.exe' 这导致我出现以下错误

关于我应该做什么的任何建议?

0 投票
0 回答
68 浏览

python - Python 运行并输入到 .exe 终端 -StockFish-

如果我打开一个 .exe 文件,我正在做一个项目。该文件将打开一个终端,我想在其中输入命令并保存输出。我现在正在使用的代码返回一个错误,即 ActiveEngine2.stdin.write("go depth 5") 需要类似字节的对象而不是 'str'。

我能够打开该文件,但我不知道如何将输入放入其中,并且就此而言,从中获取输出。Stack Overflow( Stockfish 和 Python )上还有一篇关于此类问题的帖子,我已经尝试过他们使用的代码,但由于某种原因它不起作用。公平地说,我确实改变了路径,当然,也许还有一两件事(在尝试了原来的之后),但它不起作用并且没有完成 while 循环(或者,据我所知,迭代它完全没有。)

作为参考,输出是

另一个可能对人们有所帮助的消息是,我手动关闭了打开它的 Stock Fish 终端,它将永远重复,据我所知

我无法理解子流程的工作原理以及如何提供/获取输入/输出。我正在使用 Windows 10、Python 3.10.0 和 StockFish 14.1。

0 投票
1 回答
40 浏览

pyinstaller - Pyinstaller 在控制台中打开 Stockfish

我制作了一个 GUI(使用 PySimpleGUI),您可以在其中与 Stockfish 对战(我使用了 python-chess 模块)。我使用 Pyinstaller --noconsole 创建了一个 .exe 文件,但是当我运行它时,它会在控制台中打开 Stockfish。当我从源代码运行它时,在 PyCharm 中,Stockfish 在后台静默运行。

相关的代码行是(我猜):

engine = chess.engine.SimpleEngine.popen_uci(engine_filename, shell = False)

稍后,

best_move = engine.play(board, chess.engine.Limit(depth=20)).move

关于如何让 Stockfish 在后台静默运行的任何建议也形成 .exe 文件?

0 投票
1 回答
27 浏览

html - 为 Stockfishjs 工作的 http 响应添加标头

我正在尝试编写一个包含 stockfish.js 的 html 页面。(我的目标是创建一个网站,让您可以在某些位置上对抗鳕鱼。)

问题是 stockfish.js 使用 SharedArrayBuffer,所以当我加载 html Firefox 控制台输出“ReferenceError:SharedArrayBuffer 未定义”。

stockfishjs git-page上说,为了避免这个问题,我需要在顶级响应中添加“这些 HTTP 标头:

跨域嵌入策略:require-corp

Cross-Origin-Opener-Policy:同源

以及包含文件的以下标题:

Cross-Origin-Embedder-Policy:require-corp"

但是我该怎么做呢?(我是网络开发新手,不熟悉 php。我在工作时使用 py -m server.http 来“模仿”服务器。)

0 投票
0 回答
31 浏览

ios - 在 xCode 中尝试构建项目时出现错误“找不到 incbin 文件 'nn-13406b1dcbe0.nnue'”

我有 xCode 13.2.1,我正在开发一个项目,我正在其中集成 StockFish SDK/库。

现在,当我尝试构建一个项目时,我收到如下错误

“找不到 incbin 文件 'nn-133c07540b69.nnue'”

如果有人遇到类似问题并解决,那么如果我错过了修复此错误的任何步骤,请指导我。

0 投票
0 回答
12 浏览

docker - 在heroku上运行Cutechess-cli

是否可以在 heroku 上运行可爱的国际象棋锦标赛。顺便说一句,我可以在 heroku 上正常运行 fishtest。

我用 docker 试过,但它给了我 qt5 错误。我尝试从 docker 内部的源代码安装 cutchess,复制了 cutchess-cli 文件以运行它的 repo,但给了我 uci 或 xboard 错误。

0 投票
0 回答
22 浏览

c++ - exc_bad_access (code=1 address=0x0) StockFish Swift 集成

当我们按照以下步骤集成stockfish引擎时

1)。设置 Stockfish 引擎库:原始 CPP 库:https ://github.com/official-stockfish/Stockfish

2)。在项目和文件夹中设置“nn-axxxX2.nnue”文件

3)。创建用于调用 iOS Swift 语言到 Objective-C(Wrapper 类)和从 Objective-C 到 CPP 类方法的封装类

4)。一旦它构建并运行应用程序,就会出现运行时错误(EXC_BAD_ACCESS(代码=1,地址=0x0))

正如你所看到的截图: 在此处输入图像描述