-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathgametargets.cpp
More file actions
111 lines (86 loc) · 2.57 KB
/
Copy pathgametargets.cpp
File metadata and controls
111 lines (86 loc) · 2.57 KB
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
#include "gametargets.h"
#include "gameitem.h"
#include "gamestock.h"
////////////////////////////////////////////////////////////////////////////////
QPixmap* GameBasicTarget::pixOn = 0;
QPixmap* GameBasicTarget::pixOff = 0;
GameBasicTarget::GameBasicTarget() : GameTarget(pixOn, pixOff)
{
}
void GameBasicTarget::init()
{
GameTarget::init("base", &pixOn, &pixOff);
}
////////////////////////////////////////////////////////////////////////////////
QPixmap* GameNumberTarget::pixOn = 0;
QPixmap* GameNumberTarget::pixOff = 0;
GameNumberTarget::GameNumberTarget(int id) : GameTarget(pixOn, pixOff), myId(id)
{
}
void GameNumberTarget::init()
{
GameTarget::init("number", &pixOn, &pixOff);
}
void GameNumberTarget::repaint()
{
GameTarget::repaint();
QPainter p(&myPixmapBuffer);
p.setPen(Qt::white);
p.setFont(gameStock->Font20);
p.setOpacity(0.8);
p.drawText(0,0,myPixmapBuffer.width(),myPixmapBuffer.height(),
Qt::AlignCenter, QString("%1").arg(myId));
p.end();
}
GameTarget::CheckResult GameNumberTarget::checkChain(int size, int id, int score)
{
if (size >= myId)
{
return GameTarget::checkChain(size,id,score);
}
return Ignored;
}
////////////////////////////////////////////////////////////////////////////////
QPixmap* GameColorTarget::pixOn[6] = {0};
QPixmap* GameColorTarget::pixOff[6] = {0};
GameColorTarget::GameColorTarget(int id) :
GameTarget(pixOn[id], pixOff[id]),
myId(id)
{
}
void GameColorTarget::init()
{
GameTarget::init("blue", &pixOn[0], &pixOff[0]);
GameTarget::init("yellow", &pixOn[1], &pixOff[1]);
GameTarget::init("red", &pixOn[2], &pixOff[2]);
GameTarget::init("green", &pixOn[3], &pixOff[3]);
GameTarget::init("magenta", &pixOn[4], &pixOff[4]);
GameTarget::init("cyan", &pixOn[5], &pixOff[5]);
}
GameTarget::CheckResult GameColorTarget::checkChain(int size, int id, int score)
{
if (id == myId)
{
return GameTarget::checkChain(size,id,score);
}
return Ignored;
}
////////////////////////////////////////////////////////////////////////////////
QPixmap* GameFallTarget::pixOn = 0;
QPixmap* GameFallTarget::pixOff = 0;
GameFallTarget::GameFallTarget() : GameTarget(pixOn, pixOff, FALLER_SCORE)
{
}
GameFallTarget::~GameFallTarget()
{
}
void GameFallTarget::init()
{
GameTarget::init("faller", &pixOn, &pixOff);
}
GameTarget::CheckResult GameFallTarget::checkChain(int size, int id, int score)
{
if (id != ITEM_FALLER)
return Ignored;
return GameTarget::checkChain(size,id,score);
}