Python D&D 随机发生器问题与 Tkinter



我想知道我正在Tkinter中工作的自定义D&D字符随机器。

整个想法是使用tkinter复选框来选择你想要和不想要的职业和种族!

然而,我遇到了一个小问题:

有13个班级,21个比赛。我想出的使复选框被选中的方法是让选中的复选框将选中的类/种族附加到列表中,然后从列表中随机选择!

if barbarianVar.get() == 1:
classes.append('Barbarian')

然而,有13个类和21个比赛,所以我想知道我是否可以使用循环,如果是这样,我将如何去做

谢谢你的任何和所有的信息!

您将能够使用random这样做。使用random.choice(array),我们可以从数组中获得一个随机元素。

假设barbarianVar.get()正在检查是否选中了野蛮人复选框,下面应该工作:

import random
classes = []
if barbarianVar.get() == 1:
classes.append('Barbarian')
if wizardVar.get() == 1:
classes.append('Wizard')
if paladinVar.get() == 1:
classes.append('Paladin')

print("I have randomly generated " + random.choice(classes) + " as your class")

现在,如果我们希望将for循环合并到这里,我们可以这样做,如果我们有一个包含每个类的数组和另一个包含每个类名的数组:

import random
class_variable = [barbarianVar, wizardVar, paladinVar]
class_name = ["Barbarian", "Wizard", "Paladin"]
class_possible = []
for i in range(len(class_variable)):
if (class_variable[i].get() == 1):
class_possible.append(class_name[i])
print("I have randomly generated " + random.choice(class_possible) + " as your class")

为每个类重复if语句,并为竞争重用相同的逻辑。

最新更新