ChessKit 1.3.7

ChessKit 1.3.7

Alexander Perechnev 维护。



ChessKit 1.3.7

  • Alexander Perechnev

ChessKit

codebeat badge docs badge Tests ChessKit pod

轻量级的快速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文件。