我正在创建一个小游戏,它依赖于用户选择来确定他/她想要的角色的统计信息。游戏包括由玩家“种族”决定的“统计数据”。我遇到了一些问题,因为我需要在运行时完成此操作。我不确定我需要做什么来完成这一点,任何帮助将不胜感激
实现必须能够支持将来添加运行时确定的因素,如“派系”和“性别”。这只是一个考虑,并不是要求迄今为止实施这一点
class Character:
def __init__(self, name, gender, race, faction):
self.playerName = name
self.playerGender = gender
self.playerRace = race
self.playerFaction = faction
self.setPlayerStats("","","","","")
#CHARACTER STATS
def setPlayerStats(self, mining, manufacturing, exploration, invention, trading):
self.mining = mining
self.manufacturing = manufacturing
self.exploration = exploration
self.invention = invention
self.trading = trading
def playerStats(self):
self.setPlayerStats(0, 0, 0, 0, 0)
#CHARACTER CLASSES
class Dwarf(Character):
def playerStats(self):
self.setPlayerStats(3, 1, 0, 1, 0)
class Elf(Character):
def playerStats(self):
self.setPlayerStats(0, 1, 0, 1, 3
def setPlayerRace(self):
self.playerRace = "Elf"
class Human(Character):
def playerStats(self):
self.setPlayerStats(1, 1, 1, 1, 1)
def setPlayerRace(self):
self.playerRace = "Human"
class Orc(Character):
def playerStats(self):
self.setPlayerStats(0, 2, 2, 1, 0)
def setPlayerRace(self):
self.playerRace = "Orc"
当前实现方法的问题不是实际设置这些变量,因为它没有设置为“character”类的实例。我被告知这是一个运行时问题,我不熟悉如何在Python中做到这一点
print("Please choose the numerical value assigned to the option you wish to select:")
print("1) Dwarf 2) Elf 3) Human 4) Orc")
userInput = input(str("Input your character`s race: "))
if userInput == "1":
player1 = Dwarf("","","","")
break
elif userInput == "2":
player1 = Elf("","","","")
break
elif userInput == "3":
player1 = Human("","","","")
break
elif userInput == "4":
player1 = Orc("","","","")
break
else:
input("Invaild Input! Press any button to try again...")
您缺少
Elf(Character).playerStats
的右括号此外,还有许多
break
语句不在循环中“玩家”一词通常指坐在电脑前的人(或AI,或玩游戏的人)。玩家控制的角色不是玩家。例如,玩家经常在键盘上打字,而“玩家控制的角色”可能挥舞剑,或从弓上发射箭。为了避免混淆,我建议您在单词“
player
”上应用edit>replace
。首先,播放器需要GUI(图形用户界面),而播放器控制的角色则不需要。您可能希望在某个时候创建一个player
类来处理用户输入。或者,一个玩家可能“拥有”几个不同的角色。木偶和木偶演员是不同的东西设置统计数据很容易:
如果您想为整个比赛设置统计数据,可以编写如下内容:
相关问题 更多 >
编程相关推荐