-
Notifications
You must be signed in to change notification settings - Fork 2
/
game.h
125 lines (86 loc) · 2.18 KB
/
game.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
#ifndef GAME_H
#define GAME_H
#include<map>
#include <QWidget>
#include<QLabel>
#include<QMessageBox>
#include <queue>
#include "banker.h"
QT_BEGIN_NAMESPACE
namespace Ui { class Game; }
QT_END_NAMESPACE
using namespace std;
class Game : public QWidget
{
Q_OBJECT
signals:
//用于设置第几个步骤
void numChanged(int newNum);
//用于设置为第几局
void NumChanged(int newNUM);
public:
Game(QWidget *parent = nullptr);
~Game();
//初始化所有信息,开始新的游戏
void startGame(int personNum, int AINum);
//在目前的玩家信息下,继续一轮游戏
void continueGame();
//结束游戏
void endGame();
private:
Ui::Game *ui;
QString url=QString(":/new/prefix1/poke/");
QString end=QString(".png");
//花色对应图片命名
map<QString,QString>color;
//步骤数
int num=1;
//局数
int Num=1;
//当对局因为有一方弃牌而结束时的胜利者的id
int easyWinner;
QMessageBox m;
QMessageBox res;
QMessageBox next;
Banker banker; //庄家
vector<Player> players;//玩家
QList<QLabel*>Labels;
Table desk; //牌局
PokerHeap pokerHeap; //扑克牌堆
int personnum;
int outnum;
static const int starMoney = 20000;
/**
* @brief 下注函数
* @param playersNeedtoBet
* @param isRoundOne
*/
void round(queue<Player> &playersNeedtoBet,bool isRoundTwo);
//第一轮下注
void firstRound();
//其他轮下注
void otherRound(bool isRoundTwo);
//最终牌局判断
void judgeWin();
//清空公共牌
void clearPublicPic();
//加载公共牌到容器中
void initPublicPoker();
//花色与图片名称对应
void initColor();
//显示公共牌
void viewPublicPoker(PokerHeap Public,int size);
//显示余额
void viewMoney();
//选择跟注,加注,弃牌
void choose(bool isRoundOne);
//清除手牌
void clearHandPic();
//用于发送num改变的信号
void setNum(int newNum);
//用于发送Num改变的信号
void setNUM(int newNUM);
void viewAicard();
void viewCard();
};
#endif // GAME_H