Micro-Max 在 Apple 芯片上 ♟️

.package(url: "https://github.com/mesqueeb/MicroMaxOnAppleSilicon", from: "2.1.0")

Micro-Max 在 Apple 芯片上是由 H.G. Muller 开发的 µ-Max C 国际象棋引擎,用于进行国际象棋对弈。它构建为适用于 iOS、macOS 和 visionOS 的多平台 XCframework。并被封装成现代化的 Swift 包,可以包含在任何 Swift 项目中,并在所有 Apple 平台上构建。

安装

您可以通过将 MicroMaxOnAppleSilicon 添加到您的 Package.swift 文件作为依赖项,或者通过 Xcode 搜索名称来添加它。

该库目前依赖于项目 Bundle Resources 中存在的特定文件,因此您需要手动添加该文件,引擎才能使用,否则您将遇到错误

在框架 bundle 中未找到 fmax.ini。

fmax.ini 文件与将随此软件包安装的文件捆绑在一起

然后您必须将此文件复制粘贴到您的项目目录中,并将其添加到您的目标的 Bundle Resources 中

就这样!现在您可以在您的项目中使用该引擎了。

用法

import MicroMaxOnAppleSilicon

let bridge = MicroMaxBridge()

bridge.connectToEngine()

/// You need to feed the engine FEN state strings to be able to request moves
let fenState: String = "rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1"

do {
  let (from, to) = try await bridge.requestAiMove(fenState: inputText)
  guard let from, let to else { throw fatalError("no result") }

  print("MicroMax moves from \(from) to \(to)") // Eg. from "B7" to "B6"
} catch {
  print("something went wrong... error:", error)
}

该库附带一些有用的类型和辅助函数,请务必查看 Swift 封装器的源代码

示例项目

仓库中提供了一个示例 Xcode 项目,您可以在这里参考:MicroMaxTestApp

文档

请参阅文档以获取更多信息。

其他项目

另请查看 Fuego on Apple Silicon ⚫️⚪️,为 Apple 芯片封装的 Fuego 围棋引擎。

github.com/mesqueeb/FuegoOnAppleSilicon