RPG角色生成器—Python
-
功能描述
用户进入游戏,输入昵称,选择种族与职业,随机生成力量、敏捷、体力、智力、智慧、生命值和魔法值等属性。 -
职业限制
-
初始属性比例
-
功能实现
-
种族不同,可选职业不同
关联了种族控件,和职业空间,首先各职业控件初始化,下拉菜单会显示所有职业,然后利用if语句,对种族控件的内容进行接受并且监听,当用户选择一个种族时,触发监听事件,然后首先清空职业菜单栏所有的职业,然后再对接受的种族再进行判断,根据不同种族添加不同的职业,从而实现不同种族不同职业的功能
代码实现如下:def CareerChange(self):#实现种族不同,可选职业不同 if self.Race.currentText()=="人类": self.RACE="人类" self.INTELLIGENCE=random.randint(5, 10) self.WISDOM=random.randint(5, 10) self.Career.clear()#清除原有职业 self.Career.addItems(['请选择','狂战士', '圣骑士', '刺客','猎手', '祭司', '巫师'])#添加不同种族对应的职业 return self.INTELLIGENCE,self.WISDOM,self.RACE#返回不同种族的特定初始化属性加成 elif self.Race.currentText()=="精灵": self.RACE = "精灵" self.SPEED=random.randint(5,10) self.WISDOM=random.randint(5,10) self.INTELLIGENCE=random.randint(5,10) self.Career.clear() self.Career.addItems(['请选择','刺客','猎手', '祭司', '巫师']) elif self.Race.currentText()=="兽人": self.POWER=random.randint(5,10) self.STRENGTH=random.randint(5,10) self.RACE = "兽人" self.Career.clear() self.Career.addItems(['请选择','狂战士', '猎手', '祭司']) elif self.Race.currentText()=="矮人": self.STRENGTH=random.randint(5,10) self.SPEED=random.randint(5,10) self.RACE = "矮人" self.Career.clear() self.Career.addItems(['请选择','狂战士', '圣骑士', '祭司']) else: self.INTELLIGENCE=random.randint(5,10) self.WISDOM=random.randint(5,10) self.RACE = "元素" self.Career.clear() self.Career.addItems(['请选择','狂战士', '祭司', '巫师'])
-
属性的算法
属性的算法首先是更据表中的值,利用随机函数,给定一个包含或者邻近表中值的范围生成的,同时为了满足5项属性之和为100,最后一项属性,是由100减去前几项属性生成的。部分代码如下:def AttriBute(self):#属性生成 if self.Career.currentText()=='狂战士': self.CARRER='狂战士' self.STRENGTH=self.STRENGTH+random.randint(28,35) self.SPEED = self.SPEED+random.randint(10,20) # 敏捷 self.INTELLIGENCE = self.INTELLIGENCE+random.randint(1,5) # 智力 self.WISDOM = self.WISDOM+random.randint(1,5) # 智慧 self.POWER = (self.POWER + 100 )- self.STRENGTH - self.SPEED - self.INTELLIGENCE - self.WISDOM self.LIFE = self.STRENGTH*20 # 生命 self.MAGIC = (self.INTELLIGENCE+self.WISDOM)*10 # 魔法 elif self.Career.currentText()=='圣骑士': self.CARRER = '圣骑士' self.STRENGTH = self.STRENGTH + random.randint(25, 35) self.SPEED = self.SPEED + random.randint(10, 20) # 敏捷 self.INTELLIGENCE = self.INTELLIGENCE + random.randint(20, 25) # 智力 self.WISDOM = self.WISDOM + random.randint(5, 10) # 智慧 self.POWER = (self.POWER + 100) - self.STRENGTH - self.SPEED - self.INTELLIGENCE - self.WISDOM self.LIFE = self.STRENGTH * 20 # 生命 self.MAGIC = (self.INTELLIGENCE + self.WISDOM) * 10 # 魔法 elif self.Career.currentText()=='刺客': self.CARRER = '刺客' self.STRENGTH = self.STRENGTH + random.randint(15, 20) self.SPEED = self.SPEED + random.randint(30, 40) # 敏捷 self.INTELLIGENCE = self.INTELLIGENCE + random.randint(10, 15) # 智力 self.WISDOM = self.WISDOM + random.randint(5, 10) # 智慧 self.POWER = (self.POWER + 100) - self.STRENGTH - self.SPEED - self.INTELLIGENCE - self.WISDOM self.LIFE = self.STRENGTH * 20 # 生命 self.MAGIC = (self.INTELLIGENCE + self.WISDOM) * 10 # 魔法 elif self.Career.currentText()=='猎手': self.CARRER = '猎手' self.STRENGTH = self.STRENGTH + random.randint(10, 15) self.SPEED = self.SPEED + random.randint(35, 45) # 敏捷 self.POWER = self.POWER + random.randint(10, 15) # 力量 self.WISDOM = self.WISDOM + random.randint(15, 25) # 智慧 self.INTELLIGENCE = (self.INTELLIGENCE + 100) - self.STRENGTH - self.SPEED - self.INTELLIGENCE - self.WISDOM self.LIFE = self.STRENGTH * 20 # 生命 self.MAGIC = (self.INTELLIGENCE + self.WISDOM) * 10 # 魔法 elif self.Career.currentText()=='祭司': self.CARRER = '祭司' self.STRENGTH = self.STRENGTH + random.randint(10, 15) self.SPEED = self.SPEED + random.randint(15, 20) # 敏捷 self.POWER = self.POWER + random.randint(8, 12) # 力量 self.WISDOM = self.WISDOM + random.randint(10, 15) # 智慧 self.INTELLIGENCE = (self.INTELLIGENCE + 100) - self.STRENGTH - self.SPEED - self.INTELLIGENCE - self.WISDOM self.LIFE = self.STRENGTH * 20 # 生命 self.MAGIC = (self.INTELLIGENCE + self.WISDOM) * 10 # 魔法 elif self.Career.currentText()=='巫师': self.CARRER = '巫师' self.STRENGTH = self.STRENGTH + random.randint(5, 10) self.SPEED = self.SPEED + random.randint(15, 20) # 敏捷 self.INTELLIGENCE = self.INTELLIGENCE + random.randint(15, 20) # 智力 self.POWER = self.POWER + random.randint(5, 10) # 力量 self.WISDOM = (self.WISDOM + 100) - self.STRENGTH - self.SPEED - self.INTELLIGENCE - self.WISDOM self.LIFE = self.STRENGTH * 20 # 生命 self.MAGIC = (self.INTELLIGENCE + self.WISDOM) * 10 # 魔法 return self.POWER, self.SPEED, self.STRENGTH, self.INTELLIGENCE, self.WISDOM, self.LIFE, self.MAGIC
-
-
运行效果
-
完整代码
from PyQt5.QtCore import Qt
from PyQt5.QtGui import QFont,QBrush
from PyQt5 import QtCore, QtWidgets
from PyQt5.QtWidgets import *
import random
import sys
class hero(object):#英雄类
def __init__(self):
# self.NAME=''#昵称
# self.SEX=''#性别
# self.RACE=''#种族
# self.CARRER=''#职业
self.POWER=0#力量
self.STRENGTH=0#体力
self.SPEED=0#敏捷
self.INTELLIGENCE=0#智力
self.WISDOM=0#智慧
self.LIFE=0#生命
self.MAGIC=0#魔法
def pp(self):
self.NAME = '' # 昵称
self.SEX = '' # 性别
self.RACE = '' # 种族
self.CARRER = '' # 职业
class Ui_MainWindow(QtWidgets.QDialog,hero):
def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow")
MainWindow.resize(1284, 781)
MainWindow.setStyleSheet("#MainWindow{border-image: url(612.jpg);}")
self.centralwidget = QtWidgets.QWidget(MainWindow)
self.centralwidget.setObjectName("centralwidget")
self.Sex = QtWidgets.QComboBox(self.centralwidget)
self.Sex.setGeometry(QtCore.QRect(340, 190, 231, 22))
self.Sex.setObjectName("Sex")
self.Sex.addItem("")
self.Sex.addItem("")
self.Sex.addItem("")
self.label = QtWidgets.QLabel(self.centralwidget)
self.label.setGeometry(QtCore.QRect(280, 180, 51, 31))
self.label.setMinimumSize(QtCore.QSize(51, 0))
self.label.setObjectName("label")
self.Name = QtWidgets.QLineEdit(self.centralwidget)
self.Name.setGeometry(QtCore.QRect(340, 140, 231, 21))
self.Name.setObjectName("Name")
self.Race = QtWidgets.QComboBox(self.centralwidget)
self.Race.setGeometry(QtCore.QRect(340, 240, 231, 22))
self.Race.setObjectName("Race")
self.Race.addItem("")
self.Race.addItem("")
self.Race.addItem("")
self.Race.addItem("")
self.Race.addItem("")
self.Race.addItem("")
self.Career = QtWidgets.QComboBox(self.centralwidget)
self.Career.setGeometry(QtCore.QRect(340, 290, 231, 22))
self.Career.setObjectName("Career")
self.Career.addItem("")
self.Career.addItem("")
self.Career.addItem("")
self.Career.addItem("")
self.Career.addItem("")
self.Career.addItem("")
self.Career.addItem("")
self.label_2 = QtWidgets.QLabel(self.centralwidget)
self.label_2.setGeometry(QtCore.QRect(280, 230, 51, 31))
self.label_2.setMinimumSize(QtCore.QSize(51, 0))
self.label_2.setObjectName("label_2")
self.label_3 = QtWidgets.QLabel(self.centralwidget)
self.label_3.setGeometry(QtCore.QRect(280, 130, 51, 31))
self.label_3.setMinimumSize(QtCore.QSize(51, 0))
self.label_3.setObjectName("label_3")
self.label_5 = QtWidgets.QLabel(self.centralwidget)
self.label_5.setGeometry(QtCore.QRect(280, 280, 51, 31))
self.label_5.setMinimumSize(QtCore.QSize(51, 0))
self.label_5.setObjectName("label_5")
self.Ability = QtWidgets.QTableWidget(self.centralwidget)
self.Ability.setGeometry(QtCore.QRect(60, 410, 1151, 61))
self.Ability.setObjectName("Ability")
self.Ability.setColumnCount(11)
self.Ability.setRowCount(1)
self.item = QtWidgets.QTableWidgetItem()
self.Ability.setVerticalHeaderItem(0,self.item)
self.item = QtWidgets.QTableWidgetItem()
self.Ability.setHorizontalHeaderItem(0,self.item)
self.item = QtWidgets.QTableWidgetItem()
self.Ability.setHorizontalHeaderItem(1,self.item)
self.item = QtWidgets.QTableWidgetItem()
self.Ability.setHorizontalHeaderItem(2,self.item)
self.item = QtWidgets.QTableWidgetItem()
self.Ability.setHorizontalHeaderItem(3,self.item)
self.item = QtWidgets.QTableWidgetItem()
self.Ability.setHorizontalHeaderItem(4,self.item)
self.item = QtWidgets.QTableWidgetItem()
self.Ability.setHorizontalHeaderItem(5,self.item)
self.item = QtWidgets.QTableWidgetItem()
self.Ability.setHorizontalHeaderItem(6,self.item)
self.item = QtWidgets.QTableWidgetItem()
self.Ability.setHorizontalHeaderItem(7,self.item)
self.item = QtWidgets.QTableWidgetItem()
self.Ability.setHorizontalHeaderItem(8,self.item)
self.item = QtWidgets.QTableWidgetItem()
self.Ability.setHorizontalHeaderItem(9,self.item)
self.item = QtWidgets.QTableWidgetItem()
self.Ability.setHorizontalHeaderItem(10, self.item)
self.QueDing = QtWidgets.QPushButton(self.centralwidget)
self.QueDing.setGeometry(QtCore.QRect(670, 140, 75, 23))
self.QueDing.setObjectName("QueDing")
self.Exit = QtWidgets.QPushButton(self.centralwidget)
self.Exit.setGeometry(QtCore.QRect(670, 220, 75, 23))
self.Exit.setObjectName("Exit")
self.Again = QtWidgets.QPushButton(self.centralwidget)
self.Again.setGeometry(QtCore.QRect(670, 180, 75, 23))
self.Again.setObjectName("Again")
MainWindow.setCentralWidget(self.centralwidget)
self.menubar = QtWidgets.QMenuBar(MainWindow)
self.menubar.setGeometry(QtCore.QRect(0, 0, 1284, 23))
self.menubar.setObjectName("menubar")
MainWindow.setMenuBar(self.menubar)
self.statusbar = QtWidgets.QStatusBar(MainWindow)
self.statusbar.setObjectName("statusbar")
MainWindow.setStatusBar(self.statusbar)
self.retranslateUi(MainWindow)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
def retranslateUi(self, MainWindow):
_translate = QtCore.QCoreApplication.translate
MainWindow.setWindowTitle(_translate("MainWindow", "角色生成器"))
self.Sex.setItemText(0, _translate("MainWindow", "请选择"))
self.Sex.setItemText(1, _translate("MainWindow", "男"))
self.Sex.setItemText(2, _translate("MainWindow", "女"))
self.label.setText(_translate("MainWindow", " 性别"))
self.Race.setItemText(0, _translate("MainWindow", "请选择"))
self.Race.setItemText(1, _translate("MainWindow", "人类"))
self.Race.setItemText(2, _translate("MainWindow", "精灵"))
self.Race.setItemText(3, _translate("MainWindow", "兽人"))
self.Race.setItemText(4, _translate("MainWindow", "矮人"))
self.Race.setItemText(5, _translate("MainWindow", "元素"))
self.Career.setItemText(0, _translate("MainWindow", "请选择"))
self.Career.setItemText(1, _translate("MainWindow", "狂战士"))
self.Career.setItemText(2, _translate("MainWindow", "圣骑士"))
self.Career.setItemText(3, _translate("MainWindow", "刺客"))
self.Career.setItemText(4, _translate("MainWindow", "猎手"))
self.Career.setItemText(5, _translate("MainWindow", "祭司"))
self.Career.setItemText(6, _translate("MainWindow", "巫师"))
self.label_2.setText(_translate("MainWindow", " 种族"))
self.label_3.setText(_translate("MainWindow", " 昵称"))
self.label_5.setText(_translate("MainWindow", " 职业"))
self.label_2.setFont(QFont("宋体",12,QFont.Bold))
self.label_5.setFont(QFont("宋体", 12, QFont.Bold))
self.label_3.setFont(QFont("宋体",12,QFont.Bold))
self.label.setFont(QFont("宋体", 12, QFont.Bold))
self.item = self.Ability.verticalHeaderItem(0)
self.item.setText(_translate("MainWindow", "信息表"))
self.item = self.Ability.verticalHeaderItem(0)
self.item.setFont(QFont("song", 9, QFont.Bold))
self.item.setForeground(QBrush(Qt.gray))
self.item = self.Ability.horizontalHeaderItem(0)
self.item.setText(_translate("MainWindow", "昵称"))
self.item = self.Ability.horizontalHeaderItem(1)
self.item.setText(_translate("MainWindow", "性别"))
self.item = self.Ability.horizontalHeaderItem(2)
self.item.setText(_translate("MainWindow", "种族"))
self.item = self.Ability.horizontalHeaderItem(3)
self.item.setText(_translate("MainWindow", "职业"))
self.item = self.Ability.horizontalHeaderItem(4)
self.item.setText(_translate("MainWindow", "力量"))
self.item = self.Ability.horizontalHeaderItem(5)
self.item.setText(_translate("MainWindow", "敏捷"))
self.item = self.Ability.horizontalHeaderItem(6)
self.item.setText(_translate("MainWindow", "体力"))
self.item = self.Ability.horizontalHeaderItem(7)
self.item.setText(_translate("MainWindow", "智力"))
self.item = self.Ability.horizontalHeaderItem(8)
self.item.setText(_translate("MainWindow", "智慧"))
self.item = self.Ability.horizontalHeaderItem(9)
self.item.setText(_translate("MainWindow", "生命"))
self.item = self.Ability.horizontalHeaderItem(10)
self.item.setText(_translate("MainWindow", "魔法"))
self.QueDing.setText(_translate("MainWindow", "确定"))
self.Exit.setText(_translate("MainWindow", "退出"))
self.Again.setText(_translate("MainWindow", "重新生成"))
for index in range(self.Ability.columnCount()):#初始化表头样式
self.item = self.Ability.horizontalHeaderItem(index)
self.item.setFont(QFont("song", 11, QFont.Bold))
self.item.setForeground(QBrush(Qt.gray))
self.Race.currentIndexChanged.connect(self.CareerChange)#种族选择触发器
self.Career.currentIndexChanged.connect(self.AttriBute)#职业选择触发器
self.QueDing.clicked.connect(self.Na_me)#接受姓名触发器
self.QueDing.clicked.connect(self.S_SEX)#接受性别触发器
self.QueDing.clicked.connect(self.Show)#显示属性触发器
self.Again.clicked.connect(self.ag_Ain)#重新选择触发器
self.Exit.clicked.connect(self.Ex_It)#退出触发器
# def SEX(self):
# if self.Sex.setItemText()
def Ex_It(self):#退出事件
reply = QMessageBox.question(self, '退出提示', '您是否要退出', QMessageBox.Yes | QMessageBox.No)
if reply == QMessageBox.Yes:
self.sz = QApplication.instance()
self.sz.quit()
def ag_Ain(self):#重新选择事件
self.AttriBute()
self.Show()
def CareerChange(self):#实现种族不同,可选职业不同
if self.Race.currentText()=="人类":
self.RACE="人类"
self.INTELLIGENCE=random.randint(5, 10)
self.WISDOM=random.randint(5, 10)
self.Career.clear()#清除原有职业
self.Career.addItems(['请选择','狂战士', '圣骑士', '刺客','猎手', '祭司', '巫师'])#添加不同种族对应的职业
return self.INTELLIGENCE,self.WISDOM,self.RACE#返回不同种族的特定初始化属性加成
elif self.Race.currentText()=="精灵":
self.RACE = "精灵"
self.SPEED=random.randint(5,10)
self.WISDOM=random.randint(5,10)
self.INTELLIGENCE=random.randint(5,10)
self.Career.clear()
self.Career.addItems(['请选择','刺客','猎手', '祭司', '巫师'])
elif self.Race.currentText()=="兽人":
self.POWER=random.randint(5,10)
self.STRENGTH=random.randint(5,10)
self.RACE = "兽人"
self.Career.clear()
self.Career.addItems(['请选择','狂战士', '猎手', '祭司'])
elif self.Race.currentText()=="矮人":
self.STRENGTH=random.randint(5,10)
self.SPEED=random.randint(5,10)
self.RACE = "矮人"
self.Career.clear()
self.Career.addItems(['请选择','狂战士', '圣骑士', '祭司'])
else:
self.INTELLIGENCE=random.randint(5,10)
self.WISDOM=random.randint(5,10)
self.RACE = "元素"
self.Career.clear()
self.Career.addItems(['请选择','狂战士', '祭司', '巫师'])
def Na_me(self):#结束输入的姓名
self.NAME=self.Name.text()
return self.NAME
def S_SEX(self):#性别下拉框,返回性别
if self.Sex.currentText()=='男':
self.SEX='男'
elif self.Sex.currentText()=='女':
self.SEX = '女'
return self.SEX
def QSS(self):#自定义动态产生的属性的样式,如水平垂直居中
self.A_NAME=QTableWidgetItem(self.NAME)
self.A_NAME.setTextAlignment(Qt.AlignCenter)
self.A_SEX = QTableWidgetItem(self.SEX)
self.A_SEX.setTextAlignment(Qt.AlignCenter)
self.A_RACE = QTableWidgetItem(self.RACE)
self.A_RACE.setTextAlignment(Qt.AlignCenter)
self.A_CARRER = QTableWidgetItem(self.CARRER)
self.A_CARRER.setTextAlignment(Qt.AlignCenter)
self.A_POWER = QTableWidgetItem(str(self.POWER))
self.A_POWER.setTextAlignment(Qt.AlignCenter)
self.A_SPEED = QTableWidgetItem(str(self.SPEED))
self.A_SPEED.setTextAlignment(Qt.AlignCenter)
self.A_STRENGTH = QTableWidgetItem(str(self.STRENGTH))
self.A_STRENGTH.setTextAlignment(Qt.AlignCenter)
self.A_INTELLIGENCE = QTableWidgetItem(str(self.INTELLIGENCE))
self.A_INTELLIGENCE.setTextAlignment(Qt.AlignCenter)
self.A_WISDOM = QTableWidgetItem(str(self.WISDOM))
self.A_WISDOM.setTextAlignment(Qt.AlignCenter)
self.A_LIFE = QTableWidgetItem(str(self.LIFE))
self.A_LIFE.setTextAlignment(Qt.AlignCenter)
self.A_MAGIC = QTableWidgetItem(str(self.MAGIC))
self.A_MAGIC.setTextAlignment(Qt.AlignCenter)
def Show(self):#将属性显示在表单中
self.QSS()#调用自定义的字体样式
self.Ability.setItem(0, 0,self.A_NAME)
self.Ability.setItem(0, 1, self.A_SEX)
self.Ability.setItem(0, 2, self.A_RACE)
self.Ability.setItem(0, 3, self.A_CARRER)
self.Ability.setItem(0, 4, self.A_POWER)
self.Ability.setItem(0, 5, self.A_SPEED)
self.Ability.setItem(0, 6, self.A_STRENGTH)
self.Ability.setItem(0, 7, self.A_INTELLIGENCE)
self.Ability.setItem(0, 8, self.A_WISDOM)
self.Ability.setItem(0, 9, self.A_LIFE)
self.Ability.setItem(0, 10,self.A_MAGIC)
self.__init__()
def AttriBute(self):#属性生成
if self.Career.currentText()=='狂战士':
self.CARRER='狂战士'
self.STRENGTH=self.STRENGTH+random.randint(28,35)
self.SPEED = self.SPEED+random.randint(10,20) # 敏捷
self.INTELLIGENCE = self.INTELLIGENCE+random.randint(1,5) # 智力
self.WISDOM = self.WISDOM+random.randint(1,5) # 智慧
self.POWER = (self.POWER + 100 )- self.STRENGTH - self.SPEED - self.INTELLIGENCE - self.WISDOM
self.LIFE = self.STRENGTH*20 # 生命
self.MAGIC = (self.INTELLIGENCE+self.WISDOM)*10 # 魔法
elif self.Career.currentText()=='圣骑士':
self.CARRER = '圣骑士'
self.STRENGTH = self.STRENGTH + random.randint(25, 35)
self.SPEED = self.SPEED + random.randint(10, 20) # 敏捷
self.INTELLIGENCE = self.INTELLIGENCE + random.randint(20, 25) # 智力
self.WISDOM = self.WISDOM + random.randint(5, 10) # 智慧
self.POWER = (self.POWER + 100) - self.STRENGTH - self.SPEED - self.INTELLIGENCE - self.WISDOM
self.LIFE = self.STRENGTH * 20 # 生命
self.MAGIC = (self.INTELLIGENCE + self.WISDOM) * 10 # 魔法
elif self.Career.currentText()=='刺客':
self.CARRER = '刺客'
self.STRENGTH = self.STRENGTH + random.randint(15, 20)
self.SPEED = self.SPEED + random.randint(30, 40) # 敏捷
self.INTELLIGENCE = self.INTELLIGENCE + random.randint(10, 15) # 智力
self.WISDOM = self.WISDOM + random.randint(5, 10) # 智慧
self.POWER = (self.POWER + 100) - self.STRENGTH - self.SPEED - self.INTELLIGENCE - self.WISDOM
self.LIFE = self.STRENGTH * 20 # 生命
self.MAGIC = (self.INTELLIGENCE + self.WISDOM) * 10 # 魔法
elif self.Career.currentText()=='猎手':
self.CARRER = '猎手'
self.STRENGTH = self.STRENGTH + random.randint(10, 15)
self.SPEED = self.SPEED + random.randint(35, 45) # 敏捷
self.POWER = self.POWER + random.randint(10, 15) # 力量
self.WISDOM = self.WISDOM + random.randint(15, 25) # 智慧
self.INTELLIGENCE = (self.INTELLIGENCE + 100) - self.STRENGTH - self.SPEED - self.INTELLIGENCE - self.WISDOM
self.LIFE = self.STRENGTH * 20 # 生命
self.MAGIC = (self.INTELLIGENCE + self.WISDOM) * 10 # 魔法
elif self.Career.currentText()=='祭司':
self.CARRER = '祭司'
self.STRENGTH = self.STRENGTH + random.randint(10, 15)
self.SPEED = self.SPEED + random.randint(15, 20) # 敏捷
self.POWER = self.POWER + random.randint(8, 12) # 力量
self.WISDOM = self.WISDOM + random.randint(10, 15) # 智慧
self.INTELLIGENCE = (self.INTELLIGENCE + 100) - self.STRENGTH - self.SPEED - self.INTELLIGENCE - self.WISDOM
self.LIFE = self.STRENGTH * 20 # 生命
self.MAGIC = (self.INTELLIGENCE + self.WISDOM) * 10 # 魔法
elif self.Career.currentText()=='巫师':
self.CARRER = '巫师'
self.STRENGTH = self.STRENGTH + random.randint(5, 10)
self.SPEED = self.SPEED + random.randint(15, 20) # 敏捷
self.INTELLIGENCE = self.INTELLIGENCE + random.randint(15, 20) # 智力
self.POWER = self.POWER + random.randint(5, 10) # 力量
self.WISDOM = (self.WISDOM + 100) - self.STRENGTH - self.SPEED - self.INTELLIGENCE - self.WISDOM
self.LIFE = self.STRENGTH * 20 # 生命
self.MAGIC = (self.INTELLIGENCE + self.WISDOM) * 10 # 魔法
return self.POWER, self.SPEED, self.STRENGTH, self.INTELLIGENCE, self.WISDOM, self.LIFE, self.MAGIC
if __name__ == '__main__':
app = QtWidgets.QApplication(sys.argv)
MainWindow=QtWidgets.QMainWindow()
ui =Ui_MainWindow()
ui.setupUi(MainWindow)
MainWindow.show()
sys.exit(app.exec_())