这个标签用于国际象棋游戏和让计算机玩它的问题。
我试图在我创建的棋盘上画一个棋子,但不断收到错误,似乎找不到我的图片。 线程“main”中的异常 java.lang.IllegalArgumentException:输入...
在此位置,zugzwang 位置为白色。他尝试使用 INF 的 beta 值进行空移动修剪,因为这是第一步。 在空移动之后调用函数将类似于...
我正在尝试导入 pgn 文件并引发错误,但是如果我将文件重命名为 txt 它可以工作,但我更喜欢它像 pgn 而不是重命名它。 // React 使用 Vite 创建应用程序:npm create vite@lates...
我写了两个程序: 将棋盘上的 n 个皇后放在一起,不会受到回溯算法的任何威胁。但这对于大 n 来说非常沉重。最后你可以运行 100 个皇后。 放在一起...
使用棋盘的2个输入坐标,识别它们是否交叉了彼此的路径(使用国际象棋游戏的皇后走法)
班级板 { 公共静态无效主(字符串参数[]) { 整数 i,j; int x1 = 0,y1 = 0; int x2 = 0,y2 = 0; int[][] 板 = 新 int[8][8]; x1 = 整数...
我们目前正在使用 keras 和张量流构建神经网络来评估国际象棋位置。我们遇到了单个样本预测速度的问题,它用于......
我目前正在使用 C#、Unity 开发我的国际象棋引擎。我的引擎在单独的线程中运行搜索,因此 Unity 主线程在计算时工作正常。为了阻止我的引擎计算得太低...
Stockfish 与 Symfony Process 一起使用时仅返回一招
我有这段代码,它使用 Stockfish 引擎返回最佳动作。我为它提供了引擎的技能水平和位置的分弦,它应该返回最佳的移动。 我有这段代码,它使用 Stockfish 引擎返回最佳动作。我为它提供了引擎的技能水平和位置的分弦,它应该返回最佳动作。 <?php namespace App; use Symfony\Component\Process\Process; class StockfishService { public function getBestMove(int $skillLevel, string $fen): string { $output = $this->runCommand("uci\nucinewgame\nposition startpos moves 10000\nsetoption name Skill Level value $skillLevel\nposition fen $fen\ngo movetime 10000\n"); $bestMove = $this->extractBestMove($output); return $bestMove; } private function runCommand(string $command): string { $process = new Process(['stockfish']); $process->setInput($command); $process->start(); $process->wait(); if (!$process->isSuccessful()) { throw new \RuntimeException($process->getErrorOutput()); } return $process->getIncrementalOutput(); } private function extractBestMove(string $output): string { $lines = explode("\n", $output); foreach ($lines as $line) { if (strpos($line, 'bestmove') !== false) { $parts = explode(' ', $line); return $parts[1]; // Assuming bestmove is the second part } } throw new \RuntimeException('Best move not found in engine output'); } } 但是每当执行此代码时,无论技能水平如何,它基本上都会返回该位置中最糟糕的动作之一。例如,对于 fen 位置 rnbqkbnr/pppppppp/8/8/4P3/8/PPPP1PPP/RNBQKBNR b KQqk e3 1 1(White pawn to e3),它返回 a7a6,这是一个糟糕的举动。我发现问题是进程结束得太快,所以我在 go 命令后添加了 movetime 10000,但这并没有解决任何问题。关于如何解决这个问题有什么想法吗? 我唯一尝试的就是使用 $process->start() 和 $process->wait() 而不是 $process->run() 这是对我有用的解决方案,希望对某人有所帮助: <?php namespace App; use Symfony\Component\Process\InputStream; use Symfony\Component\Process\Process; class StockfishService { public function getBestMove(int $skillLevel, string $fen): string { $commands = [ "ucinewgame", "setoption name Skill Level value $skillLevel", "position fen $fen", "go movetime 5000" ]; $output = $this->runCommand($commands); $bestMove = $this->extractBestMove($output); return $bestMove; } private function runCommand(array $commands): string { $process = new Process(['stockfish']); $input = new InputStream(); $process->setInput($input); $process->start(); foreach ($commands as $command) { $input->write($command . "\n"); } // Wait for the final output from the 'go' command while ($process->isRunning()) { if (strpos($process->getOutput(), 'bestmove') !== false) { break; } } $input->close(); $process->wait(); if (!$process->isSuccessful()) { throw new \RuntimeException($process->getErrorOutput()); } return $process->getOutput(); } private function extractBestMove(string $output): string { $lines = explode("\n", $output); foreach ($lines as $line) { if (strpos($line, 'bestmove') !== false) { $parts = explode(' ', $line); return $parts[1]; // Assuming bestmove is the second part } } throw new \RuntimeException('Best move not found in engine output'); } }
我正在尝试用 C 语言制作一款可以在终端中简单运行的 2 人国际象棋游戏。我在字体方面遇到了很多问题,所以我只是找到了一种好看的(最重要的是等宽的)字体并且只是广告......
使用 Java 中的递归将国际象棋骑士的移动模式放入二维数组中
公共课ChessComplete { 私有 int 大小; 私有 int[][] 板; 私有长callNum; public ChessComplete(int size)//以2D数组大小为参数的构造函数 {...
我正在unity2D中下棋,并尝试将棋子设置为方块的子代,如下面的函数所示,但是它并没有创建新的游戏对象,并且没有错误输出。 私人...
我正在编写一个国际象棋引擎,并且我正在了解国际象棋引擎如何存储游戏位置(在 64 位位板中)以及如何从它们生成移动。当你得到最终的棋步板时,你会如何...
chess.js 存在问题,重新加载正在进行的游戏后,不会通过 socket.io 显示有效的动作
我正在使用 chess.js、react-chessboard、socket.io 和 React 编写一个多人国际象棋应用程序,它应该允许用户互相下棋并存储游戏历史记录。我已经拿到了...
一个函数,返回指向网格上每个可能的骑士运动的指针的二维列表。 除了我的空间自由函数在随机位置崩溃之外,一切正常:
在 Galaxy S23 Ultra 上使用 chess.com 移动应用在线玩游戏时无法屏幕录制我的游戏
当我在 chess.com 移动应用程序上在线玩游戏时尝试屏幕录制游戏时,它不会录制屏幕。 当我检查录音时,它只显示黑屏。 我正在使用 Galaxy S23 Ultr...
一个函数,返回指向网格上每个可能的骑士运动的指针的二维列表。 除了我的空间自由函数在随机位置崩溃之外,一切正常:
我正在开发一些必须要快的东西。(国际象棋引擎)Unity 的 c# 比控制台 c# 慢很多吗? 尽管我实施了一些优化技术,但我的引擎却出奇地慢。它的速度...
我正在用 C# 开发我的小国际象棋引擎,我想让我的搜索功能在后台运行。 (这样用户界面仍然可以交互)我检查了一些其他的 stackoverflow 解决方案......
我的解决方案如下。 国际象棋中的象是一个棋子,它攻击同一条对角线上(两条对角线上)的所有方格。 Shakhriyar 将 m 个主教放在一个大小为 n * n 的棋盘上。现在他想要
所以我正在用 C++ 编写一个国际象棋引擎。该引擎使用通用国际象棋接口(UCI)。这意味着我可以通过控制台与它通信。我在控制台中输入一些命令,它会响应...