本文介绍的是利用pyqt5实现井字棋,下面话不多说了,来一起看看详细的介绍
作者:袁少泽
代码如下(示例):
import random import sys import time from PyQt5.QtCore import * from PyQt5.QtWidgets import * start=time.time() class Ui_Form(object): def setupUi(self, Form): Form.setObjectName(\"Form\") Form.resize(415, 346) self.label_3 = QtWidgets.QLabel(Form) self.label_3.setGeometry(QtCore.QRect(30, 290, 241, 20)) self.label_3.setObjectName(\"label_3\") self.pushButton_10 = QtWidgets.QPushButton(Form) self.pushButton_10.setGeometry(QtCore.QRect(210, 310, 75, 23)) self.pushButton_10.setCheckable(False) self.pushButton_10.setDefault(False) self.pushButton_10.setObjectName(\"pushButton_10\") self.label_2 = QtWidgets.QLabel(Form) self.label_2.setGeometry(QtCore.QRect(20, 260, 241, 20)) self.label_2.setObjectName(\"label_2\") self.label = QtWidgets.QLabel(Form) self.label.setGeometry(QtCore.QRect(290, 10, 111, 31)) self.label.setObjectName(\"label\") self.layoutWidget = QtWidgets.QWidget(Form) self.layoutWidget.setGeometry(QtCore.QRect(70, 40, 191, 191)) self.layoutWidget.setObjectName(\"layoutWidget\") self.gridLayout = QtWidgets.QGridLayout(self.layoutWidget) self.gridLayout.setContentsMargins(0, 0, 0, 0) self.gridLayout.setObjectName(\"gridLayout\") self.pushButton = QtWidgets.QPushButton(self.layoutWidget) self.pushButton.setEnabled(True) self.pushButton.setToolTip(\"\") self.pushButton.setText(\"\") self.pushButton.setObjectName(\"pushButton\") self.gridLayout.addWidget(self.pushButton, 0, 0, 1, 1) self.pushButton_4 = QtWidgets.QPushButton(self.layoutWidget) self.pushButton_4.setText(\"\") self.pushButton_4.setObjectName(\"pushButton_4\") self.gridLayout.addWidget(self.pushButton_4, 0, 1, 1, 1) self.pushButton_7 = QtWidgets.QPushButton(self.layoutWidget) self.pushButton_7.setEnabled(True) self.pushButton_7.setText(\"\") self.pushButton_7.setObjectName(\"pushButton_7\") self.gridLayout.addWidget(self.pushButton_7, 0, 2, 1, 1) self.pushButton_2 = QtWidgets.QPushButton(self.layoutWidget) self.pushButton_2.setText(\"\") self.pushButton_2.setObjectName(\"pushButton_2\") self.gridLayout.addWidget(self.pushButton_2, 1, 0, 1, 1) self.pushButton_5 = QtWidgets.QPushButton(self.layoutWidget) self.pushButton_5.setText(\"\") self.pushButton_5.setObjectName(\"pushButton_5\") self.gridLayout.addWidget(self.pushButton_5, 1, 1, 1, 1) self.pushButton_8 = QtWidgets.QPushButton(self.layoutWidget) self.pushButton_8.setText(\"\") self.pushButton_8.setObjectName(\"pushButton_8\") self.gridLayout.addWidget(self.pushButton_8, 1, 2, 1, 1) self.pushButton_3 = QtWidgets.QPushButton(self.layoutWidget) self.pushButton_3.setText(\"\") self.pushButton_3.setObjectName(\"pushButton_3\") self.gridLayout.addWidget(self.pushButton_3, 2, 0, 1, 1) self.pushButton_6 = QtWidgets.QPushButton(self.layoutWidget) self.pushButton_6.setText(\"\") self.pushButton_6.setObjectName(\"pushButton_6\") self.gridLayout.addWidget(self.pushButton_6, 2, 1, 1, 1) self.pushButton_9 = QtWidgets.QPushButton(self.layoutWidget) self.pushButton_9.setText(\"\") self.pushButton_9.setObjectName(\"pushButton_9\") self.gridLayout.addWidget(self.pushButton_9, 2, 2, 1, 1) self.label_4 = QtWidgets.QLabel(Form) self.label_4.setGeometry(QtCore.QRect(70, 10, 131, 21)) self.label_4.setObjectName(\"label_4\") self.pushButton_11 = QtWidgets.QPushButton(Form) self.pushButton_11.setGeometry(QtCore.QRect(300, 310, 75, 23)) self.pushButton_11.setObjectName(\"pushButton_11\") self.retranslateUi(Form) self.pushButton_11.clicked.connect(Form.close) QtCore.QMetaObject.connectSlotsByName(Form) def retranslateUi(self, Form): _translate = QtCore.QCoreApplication.translate Form.setWindowTitle(_translate(\"Form\", \"Form\")) self.label_3.setText(_translate(\"Form\", \"TextLabel\")) self.pushButton_10.setText(_translate(\"Form\", \"重新开始\")) self.label_2.setText(_translate(\"Form\", \"TextLabel\")) self.label.setText(_translate(\"Form\", \"TextLabel\")) self.label_4.setText(_translate(\"Form\", \"TextLabel\")) self.pushButton_11.setText(_translate(\"Form\", \"退出\")) from PyQt5 import QtCore, QtWidgets class Ui_MainWindow(object): def setupUi(self, MainWindow): MainWindow.setObjectName(\"MainWindow\") MainWindow.resize(294, 167) self.centralwidget = QtWidgets.QWidget(MainWindow) self.centralwidget.setObjectName(\"centralwidget\") self.label = QtWidgets.QLabel(self.centralwidget) self.label.setGeometry(QtCore.QRect(110, 20, 161, 31)) self.label.setObjectName(\"label\") self.pushButton = QtWidgets.QPushButton(self.centralwidget) self.pushButton.setGeometry(QtCore.QRect(50, 80, 75, 23)) self.pushButton.setObjectName(\"pushButton\") self.pushButton_2 = QtWidgets.QPushButton(self.centralwidget) self.pushButton_2.setGeometry(QtCore.QRect(180, 80, 75, 23)) self.pushButton_2.setObjectName(\"pushButton_2\") self.pushButton_3 = QtWidgets.QPushButton(self.centralwidget) self.pushButton_3.setGeometry(QtCore.QRect(270, 10, 21, 23)) self.pushButton_3.setObjectName(\"pushButton_3\") MainWindow.setCentralWidget(self.centralwidget) self.statusbar = QtWidgets.QStatusBar(MainWindow) self.statusbar.setObjectName(\"statusbar\") MainWindow.setStatusBar(self.statusbar) self.retranslateUi(MainWindow) self.pushButton_3.clicked.connect(MainWindow.close) QtCore.QMetaObject.connectSlotsByName(MainWindow) def retranslateUi(self, MainWindow): _translate = QtCore.QCoreApplication.translate MainWindow.setWindowTitle(_translate(\"MainWindow\", \"井字棋-模式选择\")) self.label.setText(_translate(\"MainWindow\", \"模式选择\")) self.pushButton.setText(_translate(\"MainWindow\", \"双人\")) self.pushButton_2.setText(_translate(\"MainWindow\", \"单人\")) self.pushButton_3.setText(_translate(\"MainWindow\", \"X\")) class QIPAN(): def __init__(self): self.qi11 = \' \' self.qi12 = \' \' self.qi13 = \' \' self.qi21 = \' \' self.qi22 = \' \' self.qi23 = \' \' self.qi31 = \' \' self.qi32 = \' \' self.qi33 = \' \' qipan = QIPAN() class danren(QWidget): def __init__(self): super(danren, self).__init__() self.ui = Ui_Form() self.ui.setupUi(self) self.setWindowTitle(\'单人模式\') self.initUI() self.ui.label_4.setText(\"单人模式\") self.time = 0 self.setWindowFlags(QtCore.Qt.CustomizeWindowHint)### def initUI(self): self.ui.pushButton.setText(qipan.qi11) self.ui.pushButton_2.setText(qipan.qi12) self.ui.pushButton_3.setText(qipan.qi13) self.ui.pushButton_4.setText(qipan.qi21) self.ui.pushButton_5.setText(qipan.qi22) self.ui.pushButton_6.setText(qipan.qi23) self.ui.pushButton_7.setText(qipan.qi31) self.ui.pushButton_8.setText(qipan.qi32) self.ui.pushButton_9.setText(qipan.qi33) self.ui.pushButton.setToolTip(\'pushButton/qi11\') self.ui.pushButton_2.setToolTip(\'pushButton_2/qi12\') self.ui.pushButton_3.setToolTip(\'pushButton_3/qi13\') self.ui.pushButton_4.setToolTip(\'pushButton_4/qi21\') self.ui.pushButton_5.setToolTip(\'pushButton_5/qi22\') self.ui.pushButton_6.setToolTip(\'pushButton_6/qi23\') self.ui.pushButton_7.setToolTip(\'pushButton_7/qi31\') self.ui.pushButton_8.setToolTip(\'pushButton_8/qi32\') self.ui.pushButton_9.setToolTip(\'pushButton_9/qi33\') self.ui.label.setText(\'\') self.ui.label_2.setText(\'当前为O玩家VS电脑\') self.ui.label_3.setText(\'\') self.timer = QTimer() self.timer.timeout.connect(self.showtime) self.startTimer() self.CONNECT() def CONNECT(self): self.ui.pushButton.clicked.connect(self.change) self.ui.pushButton_2.clicked.connect(self.change2) self.ui.pushButton_3.clicked.connect(self.change3) self.ui.pushButton_4.clicked.connect(self.change4) self.ui.pushButton_5.clicked.connect(self.change5) self.ui.pushButton_6.clicked.connect(self.change6) self.ui.pushButton_7.clicked.connect(self.change7) self.ui.pushButton_8.clicked.connect(self.change8) self.ui.pushButton_9.clicked.connect(self.change9) self.ui.pushButton.clicked.connect(self.PANDUAN) self.ui.pushButton_2.clicked.connect(self.PANDUAN) self.ui.pushButton_3.clicked.connect(self.PANDUAN) self.ui.pushButton_4.clicked.connect(self.PANDUAN) self.ui.pushButton_5.clicked.connect(self.PANDUAN) self.ui.pushButton_6.clicked.connect(self.PANDUAN) self.ui.pushButton_7.clicked.connect(self.PANDUAN) self.ui.pushButton_8.clicked.connect(self.PANDUAN) self.ui.pushButton_9.clicked.connect(self.PANDUAN) self.ui.pushButton_10.clicked.connect(self.HUANYUAN) self.ui.pushButton_11.clicked.connect(self.HUANYUAN) def change(self): self.time = self.time + 1 if (self.time + 2) % 2 == 0: a = \"X\" self.ui.pushButton.setText(a) else: a = \"O\" self.ui.pushButton.setText(a) self.ui.pushButton.setEnabled(False) if self.time < 9: self.suiji() def change2(self): self.time = self.time + 1 if (self.time + 2) % 2 == 0: a = \"X\" self.ui.pushButton_2.setText(a) else: a = \"O\" self.ui.pushButton_2.setText(a) self.ui.pushButton_2.setEnabled(False) if self.time < 9: self.suiji() def change3(self): self.time = self.time + 1 if (self.time + 2) % 2 == 0: a = \"X\" self.ui.pushButton_3.setText(a) else: a = \"O\" self.ui.pushButton_3.setText(a) self.ui.pushButton_3.setEnabled(False) if self.time<9: self.suiji() def change4(self): self.time = self.time + 1 if (self.time + 2) % 2 == 0: a = \"X\" self.ui.pushButton_4.setText(a) else: a = \"O\" self.ui.pushButton_4.setText(a) self.ui.pushButton_4.setEnabled(False) if self.time < 9: self.suiji() def change5(self): self.time = self.time + 1 if (self.time + 2) % 2 == 0: a = \"X\" self.ui.pushButton_5.setText(a) else: a = \"O\" self.ui.pushButton_5.setText(a) self.ui.pushButton_5.setEnabled(False) if self.time < 9: self.suiji() def change6(self): self.time = self.time + 1 if (self.time + 2) % 2 == 0: a = \"X\" self.ui.pushButton_6.setText(a) else: a = \"O\" self.ui.pushButton_6.setText(a) self.ui.pushButton_6.setEnabled(False) if self.time < 9: self.suiji() def change7(self): self.time = self.time + 1 if (self.time + 2) % 2 == 0: a = \"X\" self.ui.pushButton_7.setText(a) else: a = \"O\" self.ui.pushButton_7.setText(a) self.ui.pushButton_7.setEnabled(False) if self.time<9: self.suiji() def change8(self): self.time = self.time + 1 if (self.time + 2) % 2 == 0: a = \"X\" self.ui.pushButton_8.setText(a) else: a = \"O\" self.ui.pushButton_8.setText(a) self.ui.pushButton_8.setEnabled(False) if self.time<9: self.suiji() def change9(self): self.time = self.time + 1 if (self.time + 2) % 2 == 0: a = \"X\" self.ui.pushButton_9.setText(a) else: a = \"O\" self.ui.pushButton_9.setText(a) self.ui.pushButton_9.setEnabled(False) if self.time<9: self.suiji() def showtime(self): end = time.time() self.ui.label.setText(f\'游戏开始{int(end - start)}秒\') def PANDUAN(self): if self.time<9: if ( self.ui.pushButton.text() == \'X\' and self.ui.pushButton_2.text() == \'X\' and self.ui.pushButton_3.text() == \'X\') \\ or ( self.ui.pushButton.text() == \'X\' and self.ui.pushButton_4.text() == \'X\' and self.ui.pushButton_7.text() == \'X\') \\ or ( self.ui.pushButton.text() == \'X\' and self.ui.pushButton_5.text() == \'X\' and self.ui.pushButton_9.text() == \'X\') \\ or ( self.ui.pushButton_4.text() == \'X\' and self.ui.pushButton_5.text() == \'X\' and self.ui.pushButton_6.text() == \'X\') \\ or ( self.ui.pushButton_7.text() == \'X\' and self.ui.pushButton_5.text() == \'X\' and self.ui.pushButton_3.text() == \'X\') \\ or ( self.ui.pushButton_3.text() == \'X\' and self.ui.pushButton_6.text() == \'X\' and self.ui.pushButton_9.text() == \'X\') \\ or ( self.ui.pushButton_2.text() == \'X\' and self.ui.pushButton_5.text() == \'X\' and self.ui.pushButton_8.text() == \'X\') \\ or ( self.ui.pushButton_7.text() == \'X\' and self.ui.pushButton_8.text() == \'X\' and self.ui.pushButton_9.text() == \'X\'): self.ui.label_3.setText(\"电脑获胜\") self.ui.label_2.setText(\"结束\") self.ui.pushButton.setEnabled(False) self.ui.pushButton_2.setEnabled(False) self.ui.pushButton_3.setEnabled(False) self.ui.pushButton_4.setEnabled(False) self.ui.pushButton_5.setEnabled(False) self.ui.pushButton_6.setEnabled(False) self.ui.pushButton_7.setEnabled(False) self.ui.pushButton_8.setEnabled(False) self.ui.pushButton_9.setEnabled(False) self.time=0 elif ( self.ui.pushButton.text() == \'O\' and self.ui.pushButton_2.text() == \'O\' and self.ui.pushButton_3.text() == \'O\') \\ or ( self.ui.pushButton.text() == \'O\' and self.ui.pushButton_4.text() == \'O\' and self.ui.pushButton_7.text() == \'O\') \\ or ( self.ui.pushButton.text() == \'O\' and self.ui.pushButton_5.text() == \'O\' and self.ui.pushButton_9.text() == \'O\') \\ or ( self.ui.pushButton_4.text() == \'O\' and self.ui.pushButton_5.text() == \'O\' and self.ui.pushButton_6.text() == \'O\') \\ or ( self.ui.pushButton_7.text() == \'O\' and self.ui.pushButton_5.text() == \'O\' and self.ui.pushButton_3.text() == \'O\') \\ or ( self.ui.pushButton_7.text() == \'X\' and self.ui.pushButton_8.text() == \'X\' and self.ui.pushButton_9.text() == \'X\') \\ or ( self.ui.pushButton_2.text() == \'X\' and self.ui.pushButton_5.text() == \'X\' and self.ui.pushButton_8.text() == \'X\') \\ or ( self.ui.pushButton_3.text() == \'O\' and self.ui.pushButton_6.text() == \'O\' and self.ui.pushButton_9.text() == \'O\'): self.ui.label_3.setText(\"O玩家获胜\") self.ui.label_2.setText(\"结束\") self.ui.pushButton.setEnabled(False) self.ui.pushButton_2.setEnabled(False) self.ui.pushButton_3.setEnabled(False) self.ui.pushButton_4.setEnabled(False) self.ui.pushButton_5.setEnabled(False) self.ui.pushButton_6.setEnabled(False) self.ui.pushButton_7.setEnabled(False) self.ui.pushButton_8.setEnabled(False) self.ui.pushButton_9.setEnabled(False) self.time=0 else: self.ui.label_3.setText(\"暂未分出胜负\") elif self.time==9: if ( self.ui.pushButton.text() == \'X\' and self.ui.pushButton_2.text() == \'X\' and self.ui.pushButton_3.text() == \'X\') \\ or ( self.ui.pushButton.text() == \'X\' and self.ui.pushButton_4.text() == \'X\' and self.ui.pushButton_7.text() == \'X\') \\ or ( self.ui.pushButton.text() == \'X\' and self.ui.pushButton_5.text() == \'X\' and self.ui.pushButton_9.text() == \'X\') \\ or ( self.ui.pushButton_4.text() == \'X\' and self.ui.pushButton_5.text() == \'X\' and self.ui.pushButton_6.text() == \'X\') \\ or ( self.ui.pushButton_7.text() == \'X\' and self.ui.pushButton_5.text() == \'X\' and self.ui.pushButton_3.text() == \'X\') \\ or ( self.ui.pushButton_3.text() == \'X\' and self.ui.pushButton_6.text() == \'X\' and self.ui.pushButton_9.text() == \'X\') \\ or ( self.ui.pushButton_2.text() == \'X\' and self.ui.pushButton_5.text() == \'X\' and self.ui.pushButton_8.text() == \'X\') \\ or ( self.ui.pushButton_7.text() == \'X\' and self.ui.pushButton_8.text() == \'X\' and self.ui.pushButton_9.text() == \'X\'): self.ui.label_3.setText(\"X玩家获胜\") self.ui.label_2.setText(\"结束\") self.ui.pushButton.setEnabled(False) self.ui.pushButton_2.setEnabled(False) self.ui.pushButton_3.setEnabled(False) self.ui.pushButton_4.setEnabled(False) self.ui.pushButton_5.setEnabled(False) self.ui.pushButton_6.setEnabled(False) self.ui.pushButton_7.setEnabled(False) self.ui.pushButton_8.setEnabled(False) self.ui.pushButton_9.setEnabled(False) self.time=0 elif ( self.ui.pushButton.text() == \'O\' and self.ui.pushButton_2.text() == \'O\' and self.ui.pushButton_3.text() == \'O\') \\ or ( self.ui.pushButton.text() == \'O\' and self.ui.pushButton_4.text() == \'O\' and self.ui.pushButton_7.text() == \'O\') \\ or ( self.ui.pushButton.text() == \'O\' and self.ui.pushButton_5.text() == \'O\' and self.ui.pushButton_9.text() == \'O\') \\ or ( self.ui.pushButton_4.text() == \'O\' and self.ui.pushButton_5.text() == \'O\' and self.ui.pushButton_6.text() == \'O\') \\ or ( self.ui.pushButton_7.text() == \'O\' and self.ui.pushButton_5.text() == \'O\' and self.ui.pushButton_3.text() == \'O\') \\ or ( self.ui.pushButton_7.text() == \'X\' and self.ui.pushButton_8.text() == \'X\' and self.ui.pushButton_9.text() == \'X\') \\ or ( self.ui.pushButton_2.text() == \'X\' and self.ui.pushButton_5.text() == \'X\' and self.ui.pushButton_8.text() == \'X\') \\ or ( self.ui.pushButton_3.text() == \'O\' and self.ui.pushButton_6.text() == \'O\' and self.ui.pushButton_9.text() == \'O\'): self.ui.label_3.setText(\"O玩家获胜\") self.ui.label_2.setText(\"结束\") self.ui.pushButton.setEnabled(False) self.ui.pushButton_2.setEnabled(False) self.ui.pushButton_3.setEnabled(False) self.ui.pushButton_4.setEnabled(False) self.ui.pushButton_5.setEnabled(False) self.ui.pushButton_6.setEnabled(False) self.ui.pushButton_7.setEnabled(False) self.ui.pushButton_8.setEnabled(False) self.ui.pushButton_9.setEnabled(False) self.time=0 else: self.ui.label_3.setText(\"平局\") self.time=0 def HUANYUAN(self): self.ui.label_2.setText(\'当前为O玩家回合\') self.ui.pushButton.setText(qipan.qi11) self.ui.pushButton_2.setText(qipan.qi12) self.ui.pushButton_3.setText(qipan.qi13) self.ui.pushButton_4.setText(qipan.qi21) self.ui.pushButton_5.setText(qipan.qi22) self.ui.pushButton_6.setText(qipan.qi23) self.ui.pushButton_7.setText(qipan.qi31) self.ui.pushButton_8.setText(qipan.qi32) self.ui.pushButton_9.setText(qipan.qi33) self.ui.pushButton.setEnabled(True) self.ui.pushButton_2.setEnabled(True) self.ui.pushButton_3.setEnabled(True) self.ui.pushButton_4.setEnabled(True) self.ui.pushButton_5.setEnabled(True) self.ui.pushButton_6.setEnabled(True) self.ui.pushButton_7.setEnabled(True) self.ui.pushButton_8.setEnabled(True) self.ui.pushButton_9.setEnabled(True) self.time=0 def suiji(self): Truelabel=[] labels=[self.ui.pushButton,self.ui.pushButton_2,self.ui.pushButton_3, self.ui.pushButton_4,self.ui.pushButton_5,self.ui.pushButton_6, self.ui.pushButton_7,self.ui.pushButton_8,self.ui.pushButton_9] for label in labels: if label.isEnabled()==True: Truelabel.append(label) luckylabel=random.choice(Truelabel) if luckylabel==self.ui.pushButton: self.time = self.time + 1 if (self.time + 2) % 2 == 0: a = \"X\" self.ui.pushButton.setText(a) else: a = \"O\" self.ui.pushButton.setText(a) self.ui.label_2.setText(\'当前为o玩家VS电脑\') self.ui.pushButton.setEnabled(False) self.PANDUAN() elif luckylabel==self.ui.pushButton_2: self.time = self.time + 1 if (self.time + 2) % 2 == 0: a = \"X\" b = \'O\' self.ui.pushButton_2.setText(a) else: a = \"O\" b = \'X\' self.ui.pushButton_2.setText(a) self.ui.label_2.setText(\'当前为o玩家VS电脑\') self.ui.pushButton_2.setEnabled(False) self.PANDUAN() elif luckylabel == self.ui.pushButton_3: self.time = self.time + 1 if (self.time + 2) % 2 == 0: a = \"X\" b = \'O\' self.ui.pushButton_3.setText(a) else: a = \"O\" b = \'X\' self.ui.pushButton_3.setText(a) self.ui.label_2.setText(\'当前为o玩家VS电脑\') self.ui.pushButton_3.setEnabled(False) self.PANDUAN() elif luckylabel==self.ui.pushButton_4: self.time = self.time + 1 if (self.time + 2) % 2 == 0: a = \"X\" b = \'O\' self.ui.pushButton_4.setText(a) else: a = \"O\" b = \'X\' self.ui.pushButton_4.setText(a) self.ui.label_2.setText(\'当前为o玩家VS电脑\') self.ui.pushButton_4.setEnabled(False) self.PANDUAN() elif luckylabel==self.ui.pushButton_5: self.time = self.time + 1 if (self.time + 2) % 2 == 0: a = \"X\" b = \"O\" self.ui.pushButton_5.setText(a) else: a = \"O\" b = \"X\" self.ui.pushButton_5.setText(a) self.ui.label_2.setText(\'当前为o玩家VS电脑\') self.ui.pushButton_5.setEnabled(False) self.PANDUAN() elif luckylabel==self.ui.pushButton_6: self.time = self.time + 1 if (self.time + 2) % 2 == 0: a = \"X\" b = \'O\' self.ui.pushButton_6.setText(a) else: a = \"O\" b = \"X\" self.ui.pushButton_6.setText(a) self.ui.label_2.setText(\'当前为o玩家VS电脑\') self.ui.pushButton_6.setEnabled(False) self.PANDUAN() elif luckylabel==self.ui.pushButton_7: self.time = self.time + 1 if (self.time + 2) % 2 == 0: a = \"X\" b = \'O\' self.ui.pushButton_7.setText(a) else: a = \"O\" b = \'X\' self.ui.pushButton_7.setText(a) self.ui.label_2.setText(\'当前为o玩家VS电脑\') self.ui.pushButton_7.setEnabled(False) self.PANDUAN() elif luckylabel == self.ui.pushButton_8: self.time = self.time + 1 if (self.time + 2) % 2 == 0: a = \"X\" b = \'O\' self.ui.pushButton_8.setText(a) else: a = \"O\" b = \'X\' self.ui.pushButton_8.setText(a) self.ui.label_2.setText(\'当前为o玩家VS电脑\') self.ui.pushButton_8.setEnabled(False) self.PANDUAN() elif luckylabel == self.ui.pushButton_9: self.time = self.time + 1 if (self.time + 2) % 2 == 0: a = \"X\" b = \'O\' self.ui.pushButton_9.setText(a) else: a = \"O\" b = \'X\' self.ui.pushButton_9.setText(a) self.ui.label_2.setText(\'当前为o玩家VS电脑\') self.ui.pushButton_9.setEnabled(False) self.PANDUAN() def startTimer(self): self.timer.start(1000) class shuangren(QWidget): def __init__(self): super(shuangren, self).__init__() self.ui = Ui_Form() self.ui.setupUi(self) self.setWindowTitle(\'双人模式\') self.ui.label_4.setText(\"双人模式\") self.ui.pushButton_11.clicked.connect(self.HUANYUAN) self.initUI() self.setWindowFlags(QtCore.Qt.CustomizeWindowHint) def initUI(self): self.ui.pushButton.setText(qipan.qi11) self.ui.pushButton_2.setText(qipan.qi12) self.ui.pushButton_3.setText(qipan.qi13) self.ui.pushButton_4.setText(qipan.qi21) self.ui.pushButton_5.setText(qipan.qi22) self.ui.pushButton_6.setText(qipan.qi23) self.ui.pushButton_7.setText(qipan.qi31) self.ui.pushButton_8.setText(qipan.qi32) self.ui.pushButton_9.setText(qipan.qi33) self.ui.pushButton.setToolTip(\'pushButton/qi11\') self.ui.pushButton_2.setToolTip(\'pushButton_2/qi12\') self.ui.pushButton_3.setToolTip(\'pushButton_3/qi13\') self.ui.pushButton_4.setToolTip(\'pushButton_4/qi21\') self.ui.pushButton_5.setToolTip(\'pushButton_5/qi22\') self.ui.pushButton_6.setToolTip(\'pushButton_6/qi23\') self.ui.pushButton_7.setToolTip(\'pushButton_7/qi31\') self.ui.pushButton_8.setToolTip(\'pushButton_8/qi32\') self.ui.pushButton_9.setToolTip(\'pushButton_9/qi33\') self.ui.label.setText(\'\') self.ui.label_2.setText(\'当前为O玩家回合\') self.ui.label_3.setText(\'\') self.timer = QTimer() self.timer.timeout.connect(self.showtime) self.startTimer() self.bangding() def bangding(self): self.ui.pushButton.clicked.connect(self.change) self.ui.pushButton_2.clicked.connect(self.change2) self.ui.pushButton_3.clicked.connect(self.change3) self.ui.pushButton_4.clicked.connect(self.change4) self.ui.pushButton_5.clicked.connect(self.change5) self.ui.pushButton_6.clicked.connect(self.change6) self.ui.pushButton_7.clicked.connect(self.change7) self.ui.pushButton_8.clicked.connect(self.change8) self.ui.pushButton_9.clicked.connect(self.change9) self.ui.pushButton.clicked.connect(self.PANDUAN) self.ui.pushButton_2.clicked.connect(self.PANDUAN) self.ui.pushButton_3.clicked.connect(self.PANDUAN) self.ui.pushButton_4.clicked.connect(self.PANDUAN) self.ui.pushButton_5.clicked.connect(self.PANDUAN) self.ui.pushButton_6.clicked.connect(self.PANDUAN) self.ui.pushButton_7.clicked.connect(self.PANDUAN) self.ui.pushButton_8.clicked.connect(self.PANDUAN) self.ui.pushButton_9.clicked.connect(self.PANDUAN) self.ui.pushButton_10.clicked.connect(self.HUANYUAN) self.time = 0 def change(self): self.time = self.time + 1 if (self.time + 2) % 2 == 0: a = \"X\" b = \'O\' self.ui.pushButton.setText(a) else: a = \"O\" b = \'X\' self.ui.pushButton.setText(a) self.ui.label_2.setText(f\'当前为{b}玩家回合\') self.ui.pushButton.setEnabled(False) def change2(self): self.time = self.time + 1 if (self.time + 2) % 2 == 0: a = \"X\" b = \'O\' self.ui.pushButton_2.setText(a) else: a = \"O\" b = \'X\' self.ui.pushButton_2.setText(a) self.ui.label_2.setText(f\'当前为{b}玩家回合\') self.ui.pushButton_2.setEnabled(False) def change3(self): self.time = self.time + 1 if (self.time + 2) % 2 == 0: a = \"X\" b = \'O\' self.ui.pushButton_3.setText(a) else: a = \"O\" b = \'X\' self.ui.pushButton_3.setText(a) self.ui.label_2.setText(f\'当前为{b}玩家回合\') self.ui.pushButton_3.setEnabled(False) def change4(self): self.time = self.time + 1 if (self.time + 2) % 2 == 0: a = \"X\" b = \'O\' self.ui.pushButton_4.setText(a) else: a = \"O\" b = \'X\' self.ui.pushButton_4.setText(a) self.ui.label_2.setText(f\'当前为{b}玩家回合\') self.ui.pushButton_4.setEnabled(False) def change5(self): self.time = self.time + 1 if (self.time + 2) % 2 == 0: a = \"X\" b = \"O\" self.ui.pushButton_5.setText(a) else: a = \"O\" b = \"X\" self.ui.pushButton_5.setText(a) self.ui.label_2.setText(f\'当前为{b}玩家回合\') self.ui.pushButton_5.setEnabled(False) def change6(self): self.time = self.time + 1 if (self.time + 2) % 2 == 0: a = \"X\" b = \'O\' self.ui.pushButton_6.setText(a) else: a = \"O\" b = \"X\" self.ui.pushButton_6.setText(a) self.ui.label_2.setText(f\'当前为{b}玩家回合\') self.ui.pushButton_6.setEnabled(False) def change7(self): self.time = self.time + 1 if (self.time + 2) % 2 == 0: a = \"X\" b = \'O\' self.ui.pushButton_7.setText(a) else: a = \"O\" b = \'X\' self.ui.pushButton_7.setText(a) self.ui.label_2.setText(f\'当前为{b}玩家回合\') self.ui.pushButton_7.setEnabled(False) def change8(self): self.time = self.time + 1 if (self.time + 2) % 2 == 0: a = \"X\" b = \'O\' self.ui.pushButton_8.setText(a) else: a = \"O\" b = \'X\' self.ui.pushButton_8.setText(a) self.ui.label_2.setText(f\'当前为{b}玩家回合\') self.ui.pushButton_8.setEnabled(False) def change9(self): self.time = self.time + 1 if (self.time + 2) % 2 == 0: a = \"X\" b = \'O\' self.ui.pushButton_9.setText(a) else: a = \"O\" b = \'X\' self.ui.pushButton_9.setText(a) self.ui.label_2.setText(f\'当前为{b}玩家回合\') self.ui.pushButton_9.setEnabled(False) def showtime(self): end = time.time() self.ui.label.setText(f\'游戏开始{int(end - start)}秒\') def PANDUAN(self): if self.time < 9: if ( self.ui.pushButton.text() == \'X\' and self.ui.pushButton_2.text() == \'X\' and self.ui.pushButton_3.text() == \'X\') \\ or ( self.ui.pushButton.text() == \'X\' and self.ui.pushButton_4.text() == \'X\' and self.ui.pushButton_7.text() == \'X\') \\ or ( self.ui.pushButton.text() == \'X\' and self.ui.pushButton_5.text() == \'X\' and self.ui.pushButton_9.text() == \'X\') \\ or ( self.ui.pushButton_4.text() == \'X\' and self.ui.pushButton_5.text() == \'X\' and self.ui.pushButton_6.text() == \'X\') \\ or ( self.ui.pushButton_7.text() == \'X\' and self.ui.pushButton_5.text() == \'X\' and self.ui.pushButton_3.text() == \'X\') \\ or ( self.ui.pushButton_3.text() == \'X\' and self.ui.pushButton_6.text() == \'X\' and self.ui.pushButton_9.text() == \'X\') \\ or ( self.ui.pushButton_2.text() == \'X\' and self.ui.pushButton_5.text() == \'X\' and self.ui.pushButton_8.text() == \'X\') \\ or ( self.ui.pushButton_7.text() == \'X\' and self.ui.pushButton_8.text() == \'X\' and self.ui.pushButton_9.text() == \'X\'): self.ui.label_3.setText(\"X玩家获胜\") self.ui.label_2.setText(\"结束\") self.ui.pushButton.setEnabled(False) self.ui.pushButton_2.setEnabled(False) self.ui.pushButton_3.setEnabled(False) self.ui.pushButton_4.setEnabled(False) self.ui.pushButton_5.setEnabled(False) self.ui.pushButton_6.setEnabled(False) self.ui.pushButton_7.setEnabled(False) self.ui.pushButton_8.setEnabled(False) self.ui.pushButton_9.setEnabled(False) self.time = 0 elif ( self.ui.pushButton.text() == \'O\' and self.ui.pushButton_2.text() == \'O\' and self.ui.pushButton_3.text() == \'O\') \\ or ( self.ui.pushButton.text() == \'O\' and self.ui.pushButton_4.text() == \'O\' and self.ui.pushButton_7.text() == \'O\') \\ or ( self.ui.pushButton.text() == \'O\' and self.ui.pushButton_5.text() == \'O\' and self.ui.pushButton_9.text() == \'O\') \\ or ( self.ui.pushButton_4.text() == \'O\' and self.ui.pushButton_5.text() == \'O\' and self.ui.pushButton_6.text() == \'O\') \\ or ( self.ui.pushButton_7.text() == \'O\' and self.ui.pushButton_5.text() == \'O\' and self.ui.pushButton_3.text() == \'O\') \\ or ( self.ui.pushButton_7.text() == \'X\' and self.ui.pushButton_8.text() == \'X\' and self.ui.pushButton_9.text() == \'X\') \\ or ( self.ui.pushButton_2.text() == \'X\' and self.ui.pushButton_5.text() == \'X\' and self.ui.pushButton_8.text() == \'X\') \\ or ( self.ui.pushButton_3.text() == \'O\' and self.ui.pushButton_6.text() == \'O\' and self.ui.pushButton_9.text() == \'O\'): self.ui.label_3.setText(\"O玩家获胜\") self.ui.label_2.setText(\"结束\") self.ui.pushButton.setEnabled(False) self.ui.pushButton_2.setEnabled(False) self.ui.pushButton_3.setEnabled(False) self.ui.pushButton_4.setEnabled(False) self.ui.pushButton_5.setEnabled(False) self.ui.pushButton_6.setEnabled(False) self.ui.pushButton_7.setEnabled(False) self.ui.pushButton_8.setEnabled(False) self.ui.pushButton_9.setEnabled(False) self.time = 0 else: self.ui.label_3.setText(\"暂未分出胜负\") elif self.time == 9: if ( self.ui.pushButton.text() == \'X\' and self.ui.pushButton_2.text() == \'X\' and self.ui.pushButton_3.text() == \'X\') \\ or ( self.ui.pushButton.text() == \'X\' and self.ui.pushButton_4.text() == \'X\' and self.ui.pushButton_7.text() == \'X\') \\ or ( self.ui.pushButton.text() == \'X\' and self.ui.pushButton_5.text() == \'X\' and self.ui.pushButton_9.text() == \'X\') \\ or ( self.ui.pushButton_4.text() == \'X\' and self.ui.pushButton_5.text() == \'X\' and self.ui.pushButton_6.text() == \'X\') \\ or ( self.ui.pushButton_7.text() == \'X\' and self.ui.pushButton_5.text() == \'X\' and self.ui.pushButton_3.text() == \'X\') \\ or ( self.ui.pushButton_3.text() == \'X\' and self.ui.pushButton_6.text() == \'X\' and self.ui.pushButton_9.text() == \'X\') \\ or ( self.ui.pushButton_2.text() == \'X\' and self.ui.pushButton_5.text() == \'X\' and self.ui.pushButton_8.text() == \'X\') \\ or ( self.ui.pushButton_7.text() == \'X\' and self.ui.pushButton_8.text() == \'X\' and self.ui.pushButton_9.text() == \'X\'): self.ui.label_3.setText(\"X玩家获胜\") self.ui.label_2.setText(\"结束\") self.ui.pushButton.setEnabled(False) self.ui.pushButton_2.setEnabled(False) self.ui.pushButton_3.setEnabled(False) self.ui.pushButton_4.setEnabled(False) self.ui.pushButton_5.setEnabled(False) self.ui.pushButton_6.setEnabled(False) self.ui.pushButton_7.setEnabled(False) self.ui.pushButton_8.setEnabled(False) self.ui.pushButton_9.setEnabled(False) self.time = 0 elif ( self.ui.pushButton.text() == \'O\' and self.ui.pushButton_2.text() == \'O\' and self.ui.pushButton_3.text() == \'O\') \\ or ( self.ui.pushButton.text() == \'O\' and self.ui.pushButton_4.text() == \'O\' and self.ui.pushButton_7.text() == \'O\') \\ or ( self.ui.pushButton.text() == \'O\' and self.ui.pushButton_5.text() == \'O\' and self.ui.pushButton_9.text() == \'O\') \\ or ( self.ui.pushButton_4.text() == \'O\' and self.ui.pushButton_5.text() == \'O\' and self.ui.pushButton_6.text() == \'O\') \\ or ( self.ui.pushButton_7.text() == \'O\' and self.ui.pushButton_5.text() == \'O\' and self.ui.pushButton_3.text() == \'O\') \\ or ( self.ui.pushButton_7.text() == \'X\' and self.ui.pushButton_8.text() == \'X\' and self.ui.pushButton_9.text() == \'X\') \\ or ( self.ui.pushButton_2.text() == \'X\' and self.ui.pushButton_5.text() == \'X\' and self.ui.pushButton_8.text() == \'X\') \\ or ( self.ui.pushButton_3.text() == \'O\' and self.ui.pushButton_6.text() == \'O\' and self.ui.pushButton_9.text() == \'O\'): self.ui.label_3.setText(\"O玩家获胜\") self.ui.label_2.setText(\"结束\") self.ui.pushButton.setEnabled(False) self.ui.pushButton_2.setEnabled(False) self.ui.pushButton_3.setEnabled(False) self.ui.pushButton_4.setEnabled(False) self.ui.pushButton_5.setEnabled(False) self.ui.pushButton_6.setEnabled(False) self.ui.pushButton_7.setEnabled(False) self.ui.pushButton_8.setEnabled(False) self.ui.pushButton_9.setEnabled(False) self.time = 0 else: self.ui.label_3.setText(\"平局\") self.time = 0 def HUANYUAN(self): self.ui.pushButton.setText(qipan.qi11) self.ui.pushButton_2.setText(qipan.qi12) self.ui.pushButton_3.setText(qipan.qi13) self.ui.pushButton_4.setText(qipan.qi21) self.ui.pushButton_5.setText(qipan.qi22) self.ui.pushButton_6.setText(qipan.qi23) self.ui.pushButton_7.setText(qipan.qi31) self.ui.pushButton_8.setText(qipan.qi32) self.ui.pushButton_9.setText(qipan.qi33) self.ui.pushButton.setEnabled(True) self.ui.pushButton_2.setEnabled(True) self.ui.pushButton_3.setEnabled(True) self.ui.pushButton_4.setEnabled(True) self.ui.pushButton_5.setEnabled(True) self.ui.pushButton_6.setEnabled(True) self.ui.pushButton_7.setEnabled(True) self.ui.pushButton_8.setEnabled(True) self.ui.pushButton_9.setEnabled(True) self.ui.label_3.setText(\"\") def startTimer(self): self.timer.start(1000) class MODLECHOSE(QMainWindow): def __init__(self): super(MODLECHOSE,self).__init__() self.ui=Ui_MainWindow() self.ui.setupUi(self) self.ui.pushButton.clicked.connect(self.caoshuang) self.ui.pushButton_2.clicked.connect(self.caodan) self.danwin = danren() self.shuangwin = shuangren() self.setWindowFlags(QtCore.Qt.CustomizeWindowHint)####### def caodan(self): self.danwin.show() def caoshuang(self): self.shuangwin.show() if __name__ == \'__main__\': app = QApplication(sys.argv) main = MODLECHOSE() main.show() sys.exit(app.exec_())
© 版权声明
THE END
暂无评论内容