欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Qt實現(xiàn)卡牌對對碰游戲(附demo)

 更新時間:2023年10月29日 15:11:28   作者:FreeLikeTheWind.  
本文主要介紹了Qt實現(xiàn)卡牌對對碰游戲,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

效果

閑來無事,實現(xiàn)一個對對碰游戲,卡牌樣式是火影動漫。

玩法

  • 啟動游戲,進入第一關卡,所有卡牌都為未翻開狀態(tài),即背面朝上;
  • 點擊卡牌,則將卡牌翻開;
  • 如果當前翻開的卡牌和上一次翻開的卡牌不一致,則1s后,將兩張卡牌再次背面朝上;
  • 如果當前翻開的卡牌和上一次翻開的卡牌一致,則兩張卡牌都會正面朝上;
  • 全部翻開,本官通關,則進去下一關卡。

UI

上一張初始UI圖:

再上一張通關圖:

示例

可以加個啟動界面;

根據分類原則,后期可以加一些菜單及快捷工具操作,比如選關卡,關卡通關耗時等操作,因此主窗口選擇QMainWidow,如果想樣式美觀,可自定義重寫QMainWidow;

因為是不同關卡,所以選擇??丶鳛橹醒氪绑w,可進行界面切換;

也可以只有一個頁面,根據關卡,動態(tài)刷新;將關卡作為一個類;

將關卡中的各個項作為一個類;

因為得創(chuàng)建,因此后來可以使用工廠模式進行關卡及項創(chuàng)建;

通過定時器與鼠標事件進行界面卡牌打開及關閉;通關后,提示。

由于界面展現(xiàn)效果不好,以下是部分實現(xiàn)代碼,代碼鏈接在下方1,可下載

item.h

#ifndef ITEM_H
#define ITEM_H

#include <QLabel>

class Step;

namespace Ui {
class Item;
}
// 在關卡中創(chuàng)建的項
class Item : public QLabel
{
    Q_OBJECT

public:
    explicit Item(const QString& strItem, Step* pStep, QWidget *parent = nullptr);
    ~Item();
	// 是否翻開
    void setOpen(bool b){m_bIsOpen = b;}
    bool open(){return m_bIsOpen;}

protected:
	// 觸發(fā)鼠標事件
    virtual void mouseReleaseEvent(QMouseEvent *ev) override;
    virtual void mousePressEvent(QMouseEvent *ev) override;

private:
    Ui::Item *ui;

    Step*       m_pStep;

    bool        m_bIsOpen = false;
};

#endif // ITEM_H

step.h

#ifndef STEP_H
#define STEP_H

#include <QWidget>
// 類前置
QT_FORWARD_DECLARE_CLASS(Item)

namespace Ui {
class Step;
}

class Step : public QWidget
{
    Q_OBJECT

public:
    explicit Step(const QString& strStepPath, QWidget *parent = nullptr);
    ~Step();
	// 設置上一個點擊的item
    void setPreviousItem(Item* pItem){m_pItemPrevious = pItem;}
    Item* item(){return m_pItemPrevious;}

    bool check();
private:
    // 初始化關卡
    QList<QStringList> initStep(const QString& strStepPath);

    // 初始化項
    void initItem(const QList<QStringList>& listSL);

    // 創(chuàng)建關卡內的項
    Item *createItem(const QString& strItem);

private:
    Ui::Step *ui;

    Item*       m_pItemPrevious = nullptr;    // 上一個Item
};

#endif // STEP_H

mainWindow.h

#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>

class QStackedWidget;

namespace Ui {
class MainWindow;
}

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    explicit MainWindow(QWidget *parent = nullptr);
    ~MainWindow();

private:
    // 初始化關卡配置文件
    void init();

private:
    Ui::MainWindow *ui;

    QStackedWidget*         m_pSW;
};

#endif // MAINWINDOW_H

代碼鏈接

卡牌對對碰: https://gitcode.net/MrHHHHHH/qt-_card/-/blob/master/FlipTheCardGame.rar  

到此這篇關于Qt實現(xiàn)卡牌對對碰游戲(附demo)的文章就介紹到這了,更多相關Qt 卡牌對對碰內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Linux線程同步之信號C語言實例

    Linux線程同步之信號C語言實例

    這篇文章主要介紹了Linux線程同步之信號C語言實例,本文直接給出代碼實例,需要的朋友可以參考下
    2015-04-04
  • 詳解C語言中return與exit的區(qū)別

    詳解C語言中return與exit的區(qū)別

    這篇文章主要介紹了詳解C語言中return與exit的區(qū)別的相關資料,希望通過本文能幫助到大家,讓大家理解這部分內容,需要的朋友可以參考下
    2017-10-10
  • c語言實現(xiàn)系統(tǒng)時間校正工具代碼分享

    c語言實現(xiàn)系統(tǒng)時間校正工具代碼分享

    這篇文章主要介紹了c語言實現(xiàn)系統(tǒng)時間校正工具,大家參考使用吧
    2014-01-01
  • 淺談C++類型轉化(運算符重載函數)和基本運算符重載(自增自減)

    淺談C++類型轉化(運算符重載函數)和基本運算符重載(自增自減)

    下面小編就為大家?guī)硪黄獪\談C++類型轉化(運算符重載函數)和基本運算符重載(自增自減)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-06-06
  • C++中std::tuple和std::pair的高級用法

    C++中std::tuple和std::pair的高級用法

    本文主要介紹了C++標準庫中std::pair和std::tuple的使用,包括它們的基本概念、使用場景、區(qū)別以及高級用法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2024-11-11
  • VC對自定義資源加密解密(AES)的詳解

    VC對自定義資源加密解密(AES)的詳解

    本篇文章是對VC對自定義資源加密解密(AES)進行了詳細的分析介紹,需要的朋友參考下
    2013-06-06
  • 淺談c++調用python鏈接的問題及解決方法

    淺談c++調用python鏈接的問題及解決方法

    下面小編就為大家?guī)硪黄獪\談c++調用python鏈接的問題及解決方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-03-03
  • C++語言基礎 命名空間

    C++語言基礎 命名空間

    一個中大型軟件往往由多名程序員共同開發(fā),會使用大量的變量和函數,當有兩個人都同時定義了一個名字相同的全局變量或函數的時候,若是把他們的代碼整合在一塊編譯,此時編譯器就會提示變量或函數重復定義,C++為了解決這個問題,便引用了命名空間(namespace)的概念
    2020-01-01
  • 使用C語言實現(xiàn)動態(tài)數組Vector

    使用C語言實現(xiàn)動態(tài)數組Vector

    這篇文章主要為大家詳細介紹了使用C語言實現(xiàn)動態(tài)數組Vector的相關知識,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下
    2024-01-01
  • C++符號優(yōu)先級(詳細整理)

    C++符號優(yōu)先級(詳細整理)

    C++符號優(yōu)先級,我詳細整理了一下。需要的朋友可以過來參考下。希望對大家有所幫助
    2013-10-10

最新評論