使用 chess.uci 更改鱼的技能水平

问题描述

我们的国际象棋游戏项目使用 chess.uci 和 Stockfish 引擎。我们使用 engine = chess.uci.popen_engine("/some_address/stockfish") 启动引擎。不过,我想知道有没有办法改变这个引擎的技能等级。我可以通过将参数传递给 engine.go() 来实现吗?我看到有移动时间和深度等选项。一些 Stack Overflow 帖子说 Stockfish 中有一个“技能级别”选项,但我没有找到。我想要实现的是将引擎的技能与玩家的技能相匹配。谢谢!

解决方法

你读过documentation吗?都在里面。

以下是文档中关于如何在给定固定搜索时间的情况下限制级别的示例:

正在播放

示例:让 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()