Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from PyQt5.QtWidgets import QApplication, QMainWindow, QPushButton,QSlider, QVBoxLayout,QComboBox,QHBoxLayout,QWidget, QLabel, QGroupBox, QDialog, QWhatsThis
- import sys
- from PyQt5 import QtGui, QtCore
- from PyQt5.QtCore import QRect, Qt
- class Plateau(QMainWindow):
- def __init__(self):
- super().__init__()
- self.menu()
- self.haut()
- self.window()
- self.tour = 1
- self.coup_prec = None
- self.decalage=[0]*4
- self.buttons=[[0]*4 for i in range(4)]
- self.plat = [[0]*4 for i in range(4)]
- self.flechesG=[0]*4
- self.flechesD=[0]*4
- acfleches = [self.acflechG0, self.acflechG1, self.acflechG2, self.acflechG3, self.acflechD0, self.acflechD1, self.acflechD2, self.acflechD3]
- actcases = [self.actcase00, self.actcase01, self.actcase02, self.actcase03, self.actcase10, self.actcase11, self.actcase12, self.actcase13,
- self.actcase20, self.actcase21, self.actcase22, self.actcase23, self.actcase30, self.actcase31, self.actcase32, self.actcase33]
- for i in range(4):
- for j in range(4):
- self.buttons[i][j]=QPushButton("_", self)
- self.buttons[i][j].setGeometry(QRect(285 + 60*j, 100+60*i , 60, 60))
- self.buttons[i][j].clicked.connect(actcases[4*i+j])
- self.flechesG[i]=QPushButton("<", self)
- self.flechesG[i].setGeometry(QRect(10, 100 + i*60, 25, 25))
- self.flechesG[i].clicked.connect(acfleches[i])
- self.flechesD[i]=QPushButton(">", self)
- self.flechesD[i].setGeometry(QRect(770, 100 + i*60, 25, 25))
- self.flechesD[i].clicked.connect(acfleches[4+i])
- self.show()
- def acflechG0(self):
- self.activation_fleche(0, -1)
- def acflechG1(self):
- self.activation_fleche(1, -1)
- def acflechG2(self):
- self.activation_fleche(2, -1)
- def acflechG3(self):
- self.activation_fleche(3, -1)
- def acflechD0(self):
- self.activation_fleche(0, 1)
- def acflechD1(self):
- self.activation_fleche(1, 1)
- def acflechD2(self):
- self.activation_fleche(2, 1)
- def acflechD3(self):
- self.activation_fleche(3, 1)
- def actcase00(self):
- self.activation_case(0, 0)
- def actcase01(self):
- self.activation_case(0, 1)
- def actcase02(self):
- self.activation_case(0, 2)
- def actcase03(self):
- self.activation_case(0, 3)
- def actcase10(self):
- self.activation_case(1, 0)
- def actcase11(self):
- self.activation_case(1, 1)
- def actcase12(self):
- self.activation_case(1, 2)
- def actcase13(self):
- self.activation_case(1, 3)
- def actcase20(self):
- self.activation_case(2, 0)
- def actcase21(self):
- self.activation_case(2, 1)
- def actcase22(self):
- self.activation_case(2, 2)
- def actcase23(self):
- self.activation_case(2, 3)
- def actcase30(self):
- self.activation_case(3, 0)
- def actcase31(self):
- self.activation_case(3, 1)
- def actcase32(self):
- self.activation_case(3, 2)
- def actcase33(self):
- self.activation_case(3, 3)
- def activation_fleche(self, num, direction):
- if self.coup_prec==-(num+1)*direction:
- print('tu peux pas annuler le coup prec')
- elif abs(self.decalage[num]+direction)>3:
- print('tu peux pas decaler plus que 3')
- else:
- self.decalage[num]+=direction
- for i in range(4):
- self.buttons[num][i].setGeometry(QRect(285 + 60*(i+self.decalage[num]), 100+60*num , 60, 60))
- self.tour = self.tour%2+1
- def activation_case(self, i, j):
- if self.plat[i][j]==self.tour:
- print('c ta case fdp')
- elif self.coup_prec==(i, j):
- print('tu peux pas annuler le coup prec')
- else:
- self.plat[i][j]=self.tour
- self.buttons[i][j].setText("X" if self.tour==1 else "O")
- self.tour = self.tour%2+1
- self.coup_prec=i,j
- def window(self):
- title = "le jeu"
- left = 500
- top = 200
- width = 800
- height = 600
- iconName = "icon.png"
- self.setWindowTitle(title)
- self.setWindowIcon(QtGui.QIcon(iconName))
- self.setGeometry(left, top, width, height)
- def haut(self):
- button = QPushButton("Valider vitess", self)
- button.setGeometry(QRect(710, 48, 80, 38))
- mySlider = QSlider(Qt.Horizontal, self)
- mySlider.setGeometry(105, 60, 600, 15)
- mySlider.valueChanged[int].connect(self.changeValue)
- combo = QComboBox(self)
- combo.setGeometry(QRect(105, 30, 600, 22))
- combo.addItem("Joueur1")
- combo.addItem("AI")
- self.qlabel = QLabel(self)
- self.qlabel.move(50, 16)
- combo.activated[str].connect(self.comboChanged)
- combo2 = QComboBox(self)
- combo2.setGeometry(QRect(105, 5, 600, 22))
- combo2.addItem("Joueur1")
- combo2.addItem("AI")
- self.qlabel = QLabel(self)
- self.qlabel.move(50, 16)
- combo.activated[str].connect(self.comboChanged)
- def menu(self):
- label = QLabel('Vitesse IA:', self)
- label.move(47, 50)
- label = QLabel('Combattant 1:', self)
- label.move(31, 0)
- label = QLabel('Combattant 2:', self)
- label.move(31, 25)
- def box(self):
- combo = QComboBox(self)
- combo.setGeometry(QRect(100, 295, 500, 25))
- combo.addItem("Apple")
- combo.addItem("Pear")
- combo.addItem("Lemon")
- self.qlabel = QLabel(self)
- self.qlabel.move(50, 16)
- combo.activated[str].connect(self.comboChanged)
- def changedValue(self):
- size = self.slider.value()
- self.label.setText(str(size))
- def changeValue(self, value):
- print(value)
- def comboChanged(self):
- print("ui")
- if __name__ == "__main__":
- App = QApplication(sys.argv)
- plateau=Plateau()
- sys.exit(App.exec())
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement