-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathstore.cpp
More file actions
122 lines (107 loc) · 3.49 KB
/
Copy pathstore.cpp
File metadata and controls
122 lines (107 loc) · 3.49 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
112
113
114
115
116
117
118
119
120
121
122
#include "store.h"
#include "ui_store.h"
#include <QPainter>
#include <QPen>
#include <QFile>
#include <QTextStream>
#include <QDebug>
//todo:与task中的value联动
Store::Store(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::Store)
{
ui->setupUi(this);
setFixedSize(1600,900);
connect(ui->toolButtonHubBigger,&QToolButton::clicked,[=](){
value_ -= 500;
isHubBiggered = 1;
ui->toolButtonHubBigger->setEnabled(false);
emit hubBigger();
update();
});
connect(ui->toolButtonMoneyDouble,&QToolButton::clicked,[=](){
value_ -= 500;
isMoneyDoubled = 1;
ui->toolButtonMoneyDouble->setEnabled(false);
emit moneyDouble();
update();
});
connect(ui->toolButtonMoreRes,&QToolButton::clicked,[=](){
value_-=500;
isMoreResed = 1;
ui->toolButtonMoreRes->setEnabled(false);
emit moreRes();
update();
});
connect(ui->toolButtonBack, &QToolButton::clicked,[=](){
this->hide();
emit back();
});
//todo:读取value和全局升级
QFile f("archive.txt");
if (!f.open(QIODevice::ReadOnly | QIODevice::Text)) {
qDebug() << "无法打开文件:" << f.errorString();
}
QTextStream in(&f);
QString line = in.readLine();
QStringList numberStrings = line.split(QRegExp("\\s+"), QString::SkipEmptyParts);
//读取全局升级
int number1[6] = {0}; int index1 = 0;
for (const QString &numberStr : numberStrings) {
bool ok;
number1[index1] = numberStr.toInt(&ok); // 尝试将字符串转换为整数
index1++;
}
isHubBiggered = number1[0];
isMoneyDoubled = number1[1];
isMoreResed = number1[2];
line = in.readLine();
numberStrings = line.split(QRegExp("\\s+"), QString::SkipEmptyParts);
int number2[5] = {0}; int index2 = 0;
for (const QString &numberStr : numberStrings) {
bool ok;
number2[index2] = numberStr.toInt(&ok); // 尝试将字符串转换为整数
index2++;
}
value_ = number2[4];
if(value_ < 500){
ui->toolButtonHubBigger->setEnabled(false);
ui->toolButtonMoneyDouble->setEnabled(false);
ui->toolButtonMoreRes->setEnabled(false);
}else{
ui->toolButtonHubBigger->setEnabled(!isHubBiggered);
ui->toolButtonMoneyDouble->setEnabled(!isMoneyDoubled);
ui->toolButtonMoreRes->setEnabled(!isMoreResed);
}
}
Store::~Store()
{
delete ui;
}
void Store::paintEvent(QPaintEvent *event){
QPainter painter(this);
painter.setPen(QPen(Qt::black,24));
painter.setFont(QFont("Arial", 24));
painter.drawText(220,150,"交付平台变为4*4");
painter.drawText(220,280,"交付一个矿物,获得的金币翻倍");
painter.drawText(220,410,"获得更多矿源");
painter.setFont(QFont("Arial",50));
painter.drawText(730,75,"商店");
painter.setFont(QFont("Arial",12));
painter.drawText(900,75,"(全局升级,$500一项)");
currentString = QString("余额:%1").arg(value_);
painter.drawText(900,100,currentString);
}
void Store::getValueUpdated(int value)
{
value_ = value;
if(value_ < 500){
ui->toolButtonHubBigger->setEnabled(false);
ui->toolButtonMoneyDouble->setEnabled(false);
ui->toolButtonMoreRes->setEnabled(false);
}else{
ui->toolButtonHubBigger->setEnabled(!isHubBiggered);
ui->toolButtonMoneyDouble->setEnabled(!isMoneyDoubled);
ui->toolButtonMoreRes->setEnabled(!isMoreResed);
}
}