ChessKit
轻量级的快速Chess框架,使用Swift编写。
ChessKit 被用作 assessment_ladoga 风格的基础框架。
安装
ChessKit框架可以通过 Swift Package Manager 和 CocoaPods 安装。
Swift Package Manager
通过 Xcode 添加依赖项,链接到 https://github.com/aperechnev/ChessKit
,或者在您自己的 Package.swift
文件中直接添加。
import PackageDescription
let package = Package(
name: "MyPackage",
platforms: [
.macOS(.v10_12),
],
dependencies: [
.package(url: "https://github.com/aperechnev/ChessKit.git", from: "1.2.10"),
],
targets: [
.target(name: "MyPackage", dependencies: ["ChessKit"]),
]
)
CocoaPods
要使用CocoaPods安装ChessKit,只需在您的Podfile
中添加一个依赖项。
target 'MyApp' do
pod 'ChessKit'
end
入门
请参阅文档以获取 ChessKit 的全面说明。但无论如何,这里您可以找到如何快速开始使用ChessKit的示例。
import ChessKit
let italianGameFen = "r1bqk1nr/pppp1ppp/2n5/2b1p3/2B1P3/5N2/PPPP1PPP/RNBQK2R w KQkq - 4 4"
let italianGamePosition = FenSerialization.default.deserialize(fen: italianGameFen)
let game = Game(position: italianGamePosition)
print("Number of available moves: \(game.legalMoves.count)")
game.make(move: "b2b4")
let evansGambitFen = FenSerialization.default.serialize(position: game.position)
print("Evans gambit fen: \(evansGambitFen)")
game.make(move: Move(string: "c5b4"))
let evansGambitAcceptedFen = FenSerialization.default.serialize(position: game.position)
print("Evans gambit accepted fen: \(evansGambitAcceptedFen)")
print("List of moves in game: \(game.movesHistory)")
print("List of pieces on board: \(game.position.board.enumeratedPieces())")
如何贡献
请遵循git-flow 语法,并在贡献前确保所有测试通过。您的疑问和Pull请求都欢迎。
版本控制
我们使用语义化版本控制。
许可证
ChessKit遵循MIT许可证发布。详情请见LICENSE文件。