此包提供了标准国际象棋游戏的 UI 组件和游戏逻辑。该代码使用 Combine 和 SwiftUI,为游戏交互提供了一个统一的模式。
您可以在 "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 找到更多信息。