在上一篇開發日誌 《#2 - 我們有心跳了!》 中,我分享了那個只有黑底白字、充滿工程師浪漫的命令列工具。當時我們成功驗證了核心的解析引擎,證明了這個專案是有生命的。
但實話說,要讓大家(包括未來的我自己)願意每天打開它來覆盤,光有「心跳」是不夠的,它還需要一張好看、好用的「臉」。
經過了這幾個禮拜下班後的奮戰,與 C++、Qt 6 框架以及 SQLite 資料庫的無數次搏鬥,今天我非常興奮地向大家宣布:
我的 Rush & Cash 分析工具,終於有 GUI 圖形介面了!
【Alpha v0.1 介面搶先看】

【這個版本做到了什麼?】
雖然這只是早期的 Alpha 版本,但它標誌著這個專案從一個「腳本 (Script)」正式進化為一個「軟體 (Application)」。它已經具備了數據庫最核心的三大功能:
1. 視覺化的數據導入 (Data Import) 這是我最想解決的痛點之一。現在,只需要點擊左上角的「導入資料夾」,選擇從 PokerCraft 下載的手牌紀錄,程式就會自動在背景將它們解析並存入本地的資料庫中。
2. 核心數據儀表板 (The Dashboard) 在視窗的上方,你可以一眼看到目前數據庫中積累的總手數,以及最重要的兩個指標:VPIP (主動入池率) 與 PFR (翻前加注率)。看著這些數字隨著導入的手牌變多而跳動,有一種莫名的成就感。
3. 永久保存的手牌列表 (The Database) 中間的表格不再是暫存的顯示,而是直接連線到 SQLite 本地數據庫。這意味著,無論是一個月前還是一年前的牌局,只要導入過一次,就會永久保存在你的電腦裡。這正是 PokerCraft 目前最缺乏的——「長期數據的累積跟讀取」的能力。
【技術幕後:Qt 6 與 SQLite 的整合】
對於有在寫程式的朋友,稍微分享一下技術細節。
為了讓這個工具能處理未來可能達到數百萬手牌的數據量,我堅持使用 C++ 作為底層,並選擇了 Qt 6 來繪製介面。
雖然 Qt 的 Signal & Slot 機制和 Model/View 架構一開始讓我頭痛了一下,但它的效能表現真的沒話說。後端則整合了輕量級的 SQLite,這樣大家下載軟體後,不需要額外安裝複雜的 SQL Server,直接就能使用,這對使用者體驗來說至關重要。
【下一步:賦予靈魂】
有了「心跳」(解析器)和「臉」(GUI),這個軟體已經活過來了。下一步,我要賦予它「靈魂」。
我接下來的開發重心將放在 「進階篩選器」 上。我希望讓這套軟體能回答類似這樣的問題:
- 「我在 BTN (按鈕位) 的 VPIP 是多少?」
- 「篩選出所有我在 SB (小盲位) 輸掉的大底池。」
這才是這套工具能真正幫助我們抓出策略漏洞、提升勝率的關鍵,也是我開發這個工具的初衷。
【邀請你參與旅程】
這是一個「公開建造 (Building in Public)」的專案。看著它從幾行程式碼長成現在的樣子,如果你也覺得有趣,或者你是 Natural8 或是 GGPoker 的玩家,歡迎在下方留言告訴我:看到這個介面,你最希望下一個出現的功能是什麼?



















