Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

中國象棋 Xiangqi (WinUI 3)

一個原生 Windows 桌面版中國象棋(象棋)程式,使用 WinUI 3 / Windows App SDK 打造,相容 Windows 10(1809 以上)與 Windows 11。

screenshot

下載安裝

前往 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 條款。

About

Native WinUI3 Chinese Chess (Xiangqi) for Windows 10/11

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages