ryanhs/chess.php

该包已被弃用,不再维护。未建议替代包。

chess.php 是一个用于棋子移动生成/验证、棋子放置/移动、以及王后/将死/无法动弹检测的 PHP 棋库 - 基本上是一切除了人工智能的功能。注意:这是一个为 PHP 端移植的 chess.js。

v1.0.3 2017-08-25 08:56 UTC

This package is not auto-updated.

Last update: 2020-03-20 17:26:42 UTC


README

chess.php 是一个用于棋子移动生成/验证、棋子放置/移动、以及王后/将死/无法动弹检测的 PHP 棋库 - 基本上是一切除了人工智能的功能。

注意:这是一个从 chess.js 端移植到 PHP 的版本。

Latest Stable Version Build Status MIT License

安装

使用 composer,执行 composer require ryanhs/chess.php
或者在您的 composer.json 中添加

"require": {
	"ryanhs/chess.php": "^1.0"
}

如果您不了解 composer,它是一个在 PHP 中用于包管理的非常有用的工具,
您可以在这里学习 composer:这里

代码风格

关于代码风格、命名系统等,因为这是一个 PHP 项目,我尽量遵循 PHP-PSR 标准,例如 game_over() 变成 gameOver()。

记住,任何函数名都应该转换为驼峰式命名法。

示例代码

下面的代码随机玩一局完整的棋局。

<?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;

Chess.js

您可以在 这里 检查原始的 chess.js。

Chess.php 文档

您可以在 这里 查看。

BUGS

TODO

需要维护者/合作者

由于该项目目前处于非活跃开发状态,需要维护者/合作者。
如果您有兴趣成为合作者,请告诉我。:-)