【发布时间】:2019-10-30 01:31:55
【问题描述】:
我正在尝试使用 python 学习面向对象的编程来创建一个简单的基于文本的游戏。作为这种编码方法的新手,我目前正在苦苦挣扎。
所以我的想法是创建一个角色的子类,以包含如下代码所示的“统计数据”之类的内容,这将在角色创建过程中由角色的“种族”决定。就上下文而言,种族将包括矮人、精灵、人类、兽人。
从我失败的尝试中可以看出,我显然错过了一条重要的信息来解决我在这里所做的事情。不幸的是,我想象互联网上到处都是 python 游戏,但大多数都没有使用我正在尝试学习的面向对象的方法。
class Character:
def __init__(self, playerName, playerGender, playerRace, playerFaction):
self.playerName = playerName
self.playerGender = playerGender
self.playerRace = playerRace
self.playerFaction = playerFaction
self.playerStats = []
def setPlayerStats(self, mining, manufacturing, exploration, invention, trading):
self.mining = 0
self.manufacturing = 0
self.exploration = 0
self.invention = 0
self.trading = 0
self.playerStats.append(setPlayerStats)
我正在寻找一种面向对象的方法来将“统计”分组到字符类,但不幸的是,我的研究(可能与我缺乏理解有关)让我感到难过,任何指导都将不胜感激。
【问题讨论】:
-
您能否发布您从
Character扩展的比赛课程以获取上下文?如果您打算使用继承,则无需声明playerRace属性,因为它将是您的子类的名称。 -
我还没有做到这一点,因为我目前的问题是在我的角色类中存储种族派系统计数据和性别的类子集。然而,在某些情况下,Race 将包括 Dwarf[3,1,0,1,0] ~ 与“统计数据”相关,并且到目前为止该部分的概念扩展。
标签: python-3.x