我正在尝试制作一个 D&D 角色创建者,尽管我需要为其中的每个“类”和“种族”制作一个类的单独实例。
我已经做到了,每个实例都在单独的行上创建,一个接一个(所以现在大约有 45 行,包括注释),但是,我想知道我是否可以创建一个循环来创建所有实例几行代码。
我已经查看了其他回复,尽管他们都没有完全按照我的意愿工作,所以我希望有人可以在这里帮助我。
现在的代码如下所示:
## Classes ##
#creates barbarian as a class
Barbarian = DnD_Class("Barbarian")
#creates bard as a class
Bard = DnD_Class("Bard")
#creates cleric as a class
Cleric = DnD_Class("Cleric")
#creates druid as a class
Druid = DnD_Class("Druid")
#creates fighter as a class
Fighter = DnD_Class("Fighter")
#creates monk as a class
Monk = DnD_Class("Monk")
#creates paladin as a class
Paladin = DnD_Class("Paladin")
#creates ranger as a class
Ranger = DnD_Class("Ranger")
#creates rogue as a class
Rogue = DnD_Class("Rogue")
#creates sorcerer as a class
Sorcerer = DnD_Class("Sorcerer")
#creates warlock as a class
Warlock = DnD_Class("Warlock")
#creates wizard as a class
Wizard = DnD_Class("Wizard")
## Races ##
#creates dragonborn as a race
Dragonborn = DnD_Race("Dragonborn")
#creates dwarf as a race
Dwarf = DnD_Race("Dwarf")
#creates elf as a race
Elf = DnD_Race("Elf")
#creates gnome as a race
Gnome = DnD_Race("Gnome")
#creates half-elf as a race
Half_Elf = DnD_Race("Half-Elf")
#creates halfling as a race
Halfling = DnD_Race("Halfling")
#creates half-orc as a race
Half_Orc = DnD_Race("Half-Orc")
#creates human as a race
Human = DnD_Race("Human")
#creates tiefling as a race
Tiefling = DnD_Race("Tiefling")
我建议在以类名为键的字典中收集您的类,而不是为每个类命名变量:
dnd_classes = {
class_name: DnD_Class(class_name)
for class_name in (
"Barbarian",
"Bard",
"Cleric",
"Druid",
"Fighter",
"Monk",
"Paladin",
"Ranger",
"Rogue",
"Sorcerer",
"Warlock",
"Wizard",
)
}
这使您可以通过名称轻松查找类,因此您可以执行以下操作:
try:
char_class = dnd_classes[input("Pick a class: ")]
except KeyError:
print("Class must be one of:", ", ".join(dnd_classes))
代替:
user_class = input("Pick a class" )
if user_class == "Barbarian":
char_class = Barbarian
elif user_class == "Bard":
# ugggggh
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句