一個原生 Windows 桌面版中國象棋(象棋)程式,使用 WinUI 3 / Windows App SDK 打造,相容 Windows 10(1809 以上)與 Windows 11。
前往 Releases 頁面下載:
- XiangqiWinUI-Setup.msi — 安裝檔,雙擊安裝到 Program Files、建立開始功能表捷徑,可從「新增或移除程式」解除安裝。
- XiangqiWinUI-Portable.zip — 免安裝版,解壓縮後直接執行
XiangqiWinUI.exe即可,整個資料夾可攜帶到別台電腦(同樣需要 Windows 10/11 x64)。
兩者都是 self-contained 部署,不需要事先安裝 .NET 或 Windows App SDK Runtime。
因為沒有數位簽章,第一次執行時 Windows SmartScreen 可能會顯示「未知發行者」的警告,這是正常現象,選擇「仍要執行」即可。
- 完整象棋規則引擎:七種棋子的正確走法(蹩馬腿、塞象眼、炮架吃子、過河兵、將帥照面禁手)、將軍/被將死判定
- 電腦對手:negamax + alpha-beta + 迭代加深 + 靜態搜尋(quiescence search),可設定思考時間
- 開局可自由選擇執紅棋或黑棋、玩家先手或電腦先手
- 悔棋:可連續悔棋回到起始局面
- 每步限時:可開關、可自訂秒數(預設 30 秒),逾時判負
- 存檔:手動儲存、自動存檔、開啟時偵測未完成對局並詢問是否讀取、匯出/匯入獨立 JSON 存檔檔案
- 100 局著名殘局挑戰:隨機讀取古譜《適情雅趣》的實用殘局
- 深色/淺色模式自動配色
- WinUI 3(Windows App SDK 1.5),unpackaged + self-contained 部署
- .NET 8
- 棋盤用原生 XAML
Canvas動態繪製(線條/棋子),不依賴 SVG 或 WebView - WiX Toolset v5 打包 MSI 安裝檔
src/XiangqiWinUI/
Engine/ 規則引擎、AI、100 局殘局資料
Services/ 存檔服務、計時器服務
Controls/ 棋盤繪製與互動控制項
Views/ 開局設定畫面、對局畫面
MainWindow.* 遊戲流程控制
tests/ 規則引擎與 AI 的迴歸測試(.NET console 專案)
packaging/ WiX MSI 打包專案
需要:Visual Studio 2022(含「使用 C++ 的 Windows 應用程式開發」與 .NET 桌面開發工作負載)或 .NET 8 SDK + Windows SDK。
# 建置
msbuild src\XiangqiWinUI\XiangqiWinUI.csproj /t:Build /p:Configuration=Release /p:Platform=x64
# 發佈 self-contained 執行檔
msbuild src\XiangqiWinUI\XiangqiWinUI.csproj /t:Publish /p:Configuration=Release /p:Platform=x64 /p:RuntimeIdentifier=win-x64 /p:SelfContained=true
# 打包 MSI(需要 WiX v5,dotnet build 即可,不需要額外裝 wix CLI)
dotnet build packaging\XiangqiWinUI.Package.wixproj -c Release注意:由於 Windows App SDK 1.5 的資源打包工具鏈依賴 Visual Studio 附帶的 MSBuild 擴充套件,一般建議用 Visual Studio 的
MSBuild.exe(而非dotnet build)來建置/發佈主程式專案;WiX 打包專案則用dotnet build即可。
100 局殘局全部出自明清古譜《適情雅趣》,FEN 資料數位化整理自 kuiba1949/xiangqi-tools(BSD-3-Clause License),僅轉換棋子代號以配合本專案的記法,局面內容未更動。
本專案採用 MIT License。殘局資料另依上述來源之 BSD-3-Clause License 條款。
