首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> VC >> 關於VC++

Hi-Lo 撲克牌遊戲:Win32 主控台 C++ 物件導向完整實作

     編輯:關於VC++

遊戲規則摘要

  • 洗牌 → 發 5 張明牌 → 莊家暗牌 → 玩家猜大小 → 翻牌計分
  • 連猜 3 對/錯 獎懲 1 分、全對/全錯 獎懲 3 分、分數不低於 0
  • 點數大小:2<3<...<K<A;同點數比花色:梅花<方塊<紅心<黑桃

三大核心類別設計

1. Card - 單張撲克牌

class Card {
    int m_index; // 0-53:0-12♣A-K, 13-25♦, 26-38♥, 39-51♠, 52小王, 53大王
    char m_face[8]; // "C-A", "D-10", "H-Q"...
public:
    void SetIndex(int idx); // 自動計算花色、點數、面字串
    int GetIndex() const;
    const char* GetFace() const;
    int Compare(const Card& other) const; // 回傳 1/0/-1
};

2. Counter - 計分邏輯封裝

class Counter {
    int m_score, m_sequence; // sequence>0連對, <0連錯, =0中斷
    int m_roundCorrect, m_roundTotal;
public:
    void OnGuess(bool correct);
    void OnRoundEnd();
    int GetScore() const;
};

3. HiLow - 遊戲主控流程

class HiLow {
    Card m_deck[54];
    int m_usedIdx, m_playIdx;
    Counter m_counter;
public:
    void Shuffle();
    void PlayRound();
    void PlayGame();
};

類別關係圖

Hi-Lo 類別圖

介面展示

遊戲畫面

教學價值

  • 純 C++ 標準庫實作,無 MFC/STL 依賴,適合大一/二學生
  • 展示物件導向封裝:資料與行為綁定、單一職責原則
  • 亂數洗牌、狀態機流程控制、主控台文字介面排版
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved