-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathSymbolsModeWindow.py
128 lines (110 loc) · 6.27 KB
/
SymbolsModeWindow.py
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
126
127
128
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'SymbolModeWindow.ui'
#
# Created by: PyQt5 UI code generator 5.15.9
#
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.
from PyQt5 import QtCore, QtGui, QtWidgets
import csv
import random
with open('Periodic Table of Elements.csv', mode='r+') as f:
reader = csv.reader(f)
name = []
score = int()
hp = 3
for data in reader:
name.append([data[2],data[1]])
name.remove(['Symbol', 'Element'])
class Ui_SymbolsModeWindow(object):
def setupUi(self, SymbolsModeWindow):
SymbolsModeWindow.setObjectName("SymbolsModeWindow")
SymbolsModeWindow.resize(1000, 800)
SymbolsModeWindow.setMaximumSize(QtCore.QSize(1000, 800))
icon = QtGui.QIcon()
icon.addPixmap(QtGui.QPixmap("icon.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
SymbolsModeWindow.setWindowIcon(icon)
SymbolsModeWindow.setStyleSheet("background-image: url(:/images/SymbolsModeWindow.png);")
self.centralwidget = QtWidgets.QWidget(SymbolsModeWindow)
self.centralwidget.setObjectName("centralwidget")
SymbolsModeWindow.setCentralWidget(self.centralwidget)
self.centralwidget.setObjectName("centralwidget")
self.lcd_score = QtWidgets.QLCDNumber(self.centralwidget)
self.lcd_score.setGeometry(QtCore.QRect(850, 50, 101, 41))
self.lcd_score.setStyleSheet("background-image: url(:/images/white screen.jpg);")
self.lcd_score.setObjectName("lcd_score")
self.lcd_hp = QtWidgets.QLCDNumber(self.centralwidget)
self.lcd_hp.setGeometry(QtCore.QRect(850, 110, 101, 41))
self.lcd_hp.setStyleSheet("background-image: url(:/images/white screen.jpg);")
self.lcd_hp.setDigitCount(5)
self.lcd_hp.setProperty("intValue", 3)
self.lcd_hp.setObjectName("lcd_hp")
self.Element_name = QtWidgets.QLabel(self.centralwidget)
self.Element_name.setGeometry(QtCore.QRect(400, 200, 161, 81))
self.Element_name.setStyleSheet("background-image: url(:/images/white screen.jpg);")
self.Element_name.setObjectName("Element_name")
self.input_element_name = QtWidgets.QPlainTextEdit(self.centralwidget)
self.input_element_name.setGeometry(QtCore.QRect(350, 350, 261, 31))
self.input_element_name.setStyleSheet("background-image: url(:/images/white screen.jpg);")
self.input_element_name.setObjectName("input_element_name")
self.input_element_name.setPlainText("Example : H or h")
self.summit_button = QtWidgets.QPushButton(self.centralwidget)
self.summit_button.setGeometry(QtCore.QRect(440, 400, 91, 31))
self.summit_button.setObjectName("summit_button")
self.summit_button.setStyleSheet("color: rgb(255, 255, 255);")
self.start_button = QtWidgets.QPushButton(self.centralwidget)
self.start_button.setGeometry(QtCore.QRect(200, 200, 91, 31))
self.start_button.setStyleSheet("color: rgb(255, 255, 255);")
self.start_button.setObjectName("start_button")
# Send signal t StartGame function.
self.start_button.clicked.connect(self.StartGame)
self.summit_button.clicked.connect(self.CheckAnswer)
self.retranslateUi(SymbolsModeWindow)
QtCore.QMetaObject.connectSlotsByName(SymbolsModeWindow)
def retranslateUi(self, SymbolsModeWindow):
_translate = QtCore.QCoreApplication.translate
SymbolsModeWindow.setWindowTitle(_translate("SymbolsModeWindow", "Elementium"))
self.start_button = QtWidgets.QPushButton(self.centralwidget)
self.start_button.setGeometry(QtCore.QRect(200, 200, 91, 31))
self.start_button.setStyleSheet("color: rgb(255, 255, 255);")
self.start_button.setObjectName("start_button")
# Send signal t StartGame function.
self.start_button.clicked.connect(self.StartGame)
self.summit_button.clicked.connect(self.CheckAnswer)
SymbolsModeWindow.setCentralWidget(self.centralwidget)
self.retranslateUi(SymbolsModeWindow)
QtCore.QMetaObject.connectSlotsByName(SymbolsModeWindow)
def retranslateUi(self, SymbolsModeWindow):
_translate = QtCore.QCoreApplication.translate
SymbolsModeWindow.setWindowTitle(_translate("SymbolsModeWindow", "Elementium"))
self.summit_button.setText(_translate("SymbolsModeWindow", "SUMMIT"))
self.start_button.setText("START")
def StartGame(self):
global hp, score, random_element
_translate = QtCore.QCoreApplication.translate
if hp > 0 :
random_element = random.choice(name) # Choose a random element name from your list
self.Element_name.setText(_translate("SymbolsModeWindow", f"<html><head/><body><p align=\"center\"><span style=\" font-size:12pt; font-weight:600;\">{random_element[1]}</span></p></body></html>"))
else:
self.Element_name.setText(_translate("SymbolsModeWindow", f"<html><head/><body><p align=\"center\"><span style=\" font-size:12pt; font-weight:600;\">Game Over</span></p></body></html>"))
print(random_element)
def CheckAnswer(self):
global hp, score, random_element
answer = self.input_element_name.toPlainText()
if answer.lower() == random_element[0].lower():
score += 1
self.lcd_score.display(score)
else:
hp -= 1
self.lcd_hp.display(hp)
self.input_element_name.setPlainText('')
self.StartGame()
import SymbolsModeWindow_rc
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
SymbolsModeWindow = QtWidgets.QMainWindow()
ui = Ui_SymbolsModeWindow()
ui.setupUi(SymbolsModeWindow)
SymbolsModeWindow.show()
sys.exit(app.exec_())