• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

基于python3 pyQt5 QtDesignner实现窗口化猜数字游戏功能

python 搞代码 4年前 (2022-01-08) 27次浏览 已收录 0个评论

这篇文章主要介绍了基于python3 pyQt5 QtDesignner实现窗口化猜数字游戏功能,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下

描述:使用QtDesignner设计界面,pyQt5+python3实现主体方法制作的猜数字游戏。

游戏规则:先选择游戏等级:初级、中级、高级、魔鬼级,选择完游戏等级后点击“确定”,然后后台会自动生成一个与游戏等级匹配的“神秘数字”,游戏玩家在文本框内输入数字,再点击文本框旁边的“确定”,即可比较玩家所猜数字是否就是“神秘数字”。

游戏界面:

 

源代码:

代码1: guessNumberGame.py (界面代码)

 # -*- coding: utf-8 -*- # Form implementation generated from reading ui file 'guessNumberGame.ui' # # Created by: PyQt5 UI code generator 5.11.3 # # WARNING! All changes made in this file will be lost! from PyQt5 import QtCore, QtGui, QtWidgets class Ui_Form(object): def setupUi(self, Form): Form.setObjectName("Form") Form.resize(555, 463) self.label = QtWidgets.QLabel(Form) self.label.setGeometry(QtCore.QRect(40, 90, 181, 31)) self.label.setObjectName("label") self.comboBox = QtWidgets.QComboBox(Form) self.comboBox.setGeometry(QtCore.QRect(230, 30, 171, 31)) self.comboBox.setObjectName("comboBox") self.comboBox.addItem("") self.comboBox.addItem("") self.comboBox.addItem("") self.comboBox.addItem("") self.pushButton_2 = QtWidgets.QPushButton(Form) self.pushButton_2.setGeometry(QtCore.QRect(420, 30, 91, 31)) self.pushButton_2.setObjectName("pushButton_2") self.pushButton = QtWidgets.QPushButton(Form) self.pushButton.setGeometry(QtCore.QRect(420, 90, 91, 31)) self.pushButton.setObjectName("pushButton") self.textBrowser = QtWidgets.QTextBrowser(Form) self.textBrowser.setGeometry(QtCore.QRect(40, 151, 471, 201)) self.textBrowser.setObjectName("textBrowser") self.lineEdit = QtWidgets.QLineEdit(Form) self.lineEdit.setGeometry(QtCore.QRect(230, 90, 171, 31)) self.lineEdit.setObjectName("lineEdit") self.label_3 = QtWidgets.QLabel(Form) self.label_3.setGeometry(QtCore.QRect(40, 30, 181, 31)) self.label_3.setObjectName("label_3") self.pushButton_3 = QtWidgets.QPushButton(Form) self.pushButton_3.setGeometry(QtCore.QRect(220, 380, 111, 41)) font = QtGui.QFont() font.setFamily("Agency FB") font.setPointSize(12)<strong style="color:transparent">来源gaodai#ma#com搞@@代~&码网</strong> self.pushButton_3.setFont(font) self.pushButton_3.setObjectName("pushButton_3") self.retranslateUi(Form) QtCore.QMetaObject.connectSlotsByName(Form) def retranslateUi(self, Form): _translate = QtCore.QCoreApplication.translate Form.setWindowTitle(_translate("Form", "猜数字游戏")) self.label.setText(_translate("Form", "<p><span style="font-size:14pt">请猜一个数字:</span></p>")) self.comboBox.setItemText(0, _translate("Form", "初级:数字小于20")) self.comboBox.setItemText(1, _translate("Form", "中级:数字小于30")) self.comboBox.setItemText(2, _translate("Form", "高级:数字小于50")) self.comboBox.setItemText(3, _translate("Form", "魔鬼级:数字小于100")) self.pushButton_2.setText(_translate("Form", "确定")) self.pushButton.setText(_translate("Form", "确定")) self.label_3.setText(_translate("Form", "<p><span style="font-size:14pt">请选择游戏难度:</span></p>")) self.pushButton_3.setText(_translate("Form", "再来一局"))

界面代码

代码2: runG uess.py (方法主体代码)

 # -*- coding: utf-8 -*- import sys,random,time from PyQt5.QtWidgets import QApplication, QWidget, QMainWindow from guessNumberGame import Ui_Form times=1 #声明一个模块内的全局变量;用于记录猜数字的次数 rand=20#声明一个模块内的全局变量;神秘数字的最大范围 allTimes=7#声明一个模块内的全局变量;游戏最大次数 class mwindow(QWidget, Ui_Form): def __init__(self): #初始化 super(mwindow, self).__init__() #这是对继承自父类的属性进行初始化。而且是用父类的初始化方法来初始化继承的属性。 self.setupUi(self) #定义一个方法:从下拉框选择游戏难度 def gameLevel(self): times=1 global rand,allTimes level=self.comboBox.currentIndex() if level==0: rand=20 allTimes=7 if level==1: rand=30 allTimes=10 if level==2: rand=50 allTimes = 15 if level==3: rand=100 allTimes = 20 #定义一个方法:选择游戏难度后生成一个随机的神秘数字 def getRandNum(self): global theNum,times times=1      #每次选择游戏难度并点击“确定”后,已猜数字次数都重新归为1 w.pushButton.setEnabled(True)  #设置pushButton可点击(即选择了游戏难度之后,pushButton才可点击) theNum=random.randint(1,rand) self.textBrowser.append('开始游戏吧,你有%d次机会,数字范围:1-%d' %(allTimes,rand)) # self.textBrowser.append(str(theNum)) #直接显示神秘数字,用于调试时使用 #定义一个方法:点击“确定”按钮的事件,用于比较所猜数字和神秘数字 def guess(self): global allTimes,times #使用全局变量times yourNum = int(self.lineEdit.text()) #从文本框获取到输入的数字,并转化为int型 if yourNum <thenum and times  theNum and times 

总结

如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

以上就是基于python3 pyQt5 QtDesignner实现窗口化猜数字游戏功能的详细内容,更多请关注gaodaima搞代码网其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:基于python3 pyQt5 QtDesignner实现窗口化猜数字游戏功能

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址