在程式設計論壇中,常能見到採用 MFC 開發的圖形化介面遊戲,這類程式功能強大、介面美觀且互動便利,非控制台程式所能比擬。然而,對於剛接觸 C/C++ 的初學者或大一、大二學生而言,短期內掌握 MFC 遊戲開發確有難度。因此,筆者採用 Win32 控制台專案,實作一個簡易的 C++ 小遊戲,期望能為初學者撰寫字元介面程式提供參考與啟發。
此遊戲命名為 Hi-Low,核心玩法如下:
2 < 3 < ... < 10 < J < Q < K < A。Club (梅花) < Diamond (方塊) < Heart (紅心) < Spade (黑桃)。系統採用三大核心類別封裝邏輯:
定義牌面屬性(花色、點數)與顯示操作。關鍵屬性為 index(0~53),作為唯一標識:
0~12:梅花 A~K13~25:方塊 A~K26~38:紅心 A~K39~51:黑桃 A~K52:小王、53:大王index / 13 可得花色,index % 13 可得點數(大小王除外)。顯示屬性 face 以字串儲存,如 "C-A" 表梅花 A、"H-10" 表紅心 10。
封裝積分計算所需屬性與操作。核心為 sequence 連續標記:
sequence > 0:連續猜中次數sequence < 0:連續猜錯次數sequence = 0:無連續狀態依據玩法規則設計,管理撲克牌集合與輔助屬性:
usedIndex:已用牌索引,盤初始為 0,每取一牌遞增,範圍 0~51。playIndex:玩家當前操作牌索引,局初始為 usedIndex+1,每次猜點後遞增,範圍 0~51。
圖一 Hi-Low 遊戲介面

圖二 Hi-Low 系統類別圖
完整原始碼實作請參考文末下載連結。