国际象棋 (Chess)

此包提供了标准国际象棋游戏的 UI 组件和游戏逻辑。该代码使用 CombineSwiftUI,为游戏交互提供了一个统一的模式。

您可以在 "PlayChess" 文件夹中找到一个示例 Xcode 项目。

如果您想尝试,也可以在 App Store 中找到这个应用程序。

入门

使用 swift-chess 的主要起始点是 ChessStore

它包含一个国际象棋游戏、棋盘和玩家。它通过 reducer 模式提供游戏和环境接口。

这是一个创建 ChessStore 的示例,它允许两个人玩游戏。

let white = Chess.HumanPlayer(side: .white)
let black = Chess.HumanPlayer(side: . black)
let game = Chess.Game(white, against: black)
let store = ChessStore(game: game)

然后,您可以将该 store 用作 BoardView 的环境变量。

进一步探索

有很多内容可以探索,您可以在代码中找到预览,这对获得视觉指导很有帮助。

这是 XCode 显示的 SquareTargeted.swift 的预览。

当用户点击一个格子时,我们会显示棋盘上可能的移动位置。

联系方式

发现 Bug?需要文档方面的帮助?

请使用 此处 的 issue,或者打开一个 pull request

如果您对 App Store 版本有疑问,可以在 chess.toys 找到更多信息。