aglaia-resident/chess.php

基于 ryanhs/chess.php 的分支。chess.php 是一个用于棋子移动生成/验证、棋子放置/移动以及检查/被将军/逼和检测的 PHP 棋库——基本上是一切,除了 AI。注意:这是 chess.js 的 PHP 版本。

v2.2.0 2022-06-21 21:41 UTC

This package is auto-updated.

Last update: 2024-09-22 02:11:45 UTC


README

此项目是 ryanhs/chess.php 的分支,该项目已被放弃。chess.php 本身是 chess.js 的移植。与原始 ryanhs 项目相比的主要变化是

  • 它兼容 PHP 8.1。
  • PHP 单元测试已更新到版本 9
  • 文档已直接导入项目

chess.php 是一个用于棋子移动生成/验证、棋子放置/移动以及检查/被将军/逼和检测的 PHP 棋库——基本上是一切,除了 AI。

注意:这是 chess.js 的 PHP 版本。

安装

composer require aglaia-resident/chess.php

示例代码

以下代码随机播放一局完整的象棋游戏...

<?php

require 'vendor/autoload.php';
use \Ryanhs\Chess\Chess;

$chess = new Chess();
while (!$chess->gameOver()) {
	$moves = $chess->moves();
	$move = $moves[mt_rand(0, count($moves) - 1)];
	$chess->move($move);
}

echo $chess->ascii() . PHP_EOL;

文档摘要

常见

FEN

其他

移动

PGN

棋子放置

状态