我们的国际象棋游戏项目使用chess.uci
和stockfish 引擎。我们曾经engine = chess.uci.popen_engine("/some_address/stockfish")
启动引擎。但是,我想知道是否有办法改变这个引擎的技能水平。我可以通过传递参数来实现engine.go()
吗?我看到有诸如移动时间和深度之类的选项。一些 Stack Overflow 帖子说,stockfish 中有一个“技能级别”选项,但我没有找到。我想要实现的是将引擎的技能与玩家的技能相匹配。谢谢!
问问题
565 次
1 回答
3
你读过文档吗?都在里面。
以下是文档中有关如何在给定固定搜索时间的情况下限制级别的示例:
播放
示例:让 Stockfish 与自己对战,每步 100 毫秒。
import chess import chess.engine engine = chess.engine.SimpleEngine.popen_uci("/usr/bin/stockfish") board = chess.Board() while not board.is_game_over(): result = engine.play(board, chess.engine.Limit(time=0.1)) board.push(result.move) engine.quit()
于 2021-02-01T14:06:22.577 回答