0

祝任何愿意帮助这个 Python 新手的人都有美好的一天......

我一直在研究 Zed Shaw 的 LPTHW 书,进展顺利。我在练习 45 中,我们需要使用类制作一个新游戏。作为其中的一部分,我试图找出在游戏中开发一些 D&D 风格角色的最佳方式。角色会有生命值、护甲等级、造成 X 点伤害的武器、基本物品栏等。

做一些额外的研究,我考虑了以下两个选项。

1.. CSV 文件使用——这个练习希望我们进行文件导入,我认为进行 CSV 文件导入将是组织数据、在 Python 中导入/操作数据等的可靠方法。然而,虽然它看起来很漂亮直接介绍如何将 CSV 文件导入 Python,一旦读取文件,似乎很难处理数据中的各个字段。例如,如果初始玩家数据是从 CSV 中引入的,那么如果玩家受到伤害,则似乎很难调整该字段中的生命值。(或者如果敌人受到伤害)

2.. class Character(object) -- 根据#1,我考虑创建这个类,将字符的不同部分定义为字符串/整数,稍后将其定义为类的实例。(即 goblin = Character(x, y, z, etc) 如果这个选项更好,我也很好奇如何为像玩家这样的人在他们的库存中一无所有的人格式化一个初始的空库存列表。

问题:我应该坚持使用课堂,还是我正在尝试做的事情值得我想要推动自己尝试使用 CSV 等导入文件?

如果有任何令人困惑的地方,我深表歉意。到目前为止,我真的很享受我的 Python 学习,但这是我的第一篇文章,所以我完全有可能没有遵循良好的礼仪。

非常感谢!

4

1 回答 1

2

我会使用 Python 类,因为这样您就可以使用具有合理名称的属性,这些属性对游戏范围很有用。

class Character:
    '''
    This represents a D&D character with a bunch of stats.
    '''
    # You can use a constructor to initialize a new character
    # with default values for their desired properties
    def __init__(self, health = 10, inventory = None, ...):
        self.health = health
        if inventory is None:
            self.inventory = []
        else:
            self.inventory = inventory
        ...
    # You can add methods for game logic
    def attack(self, other):
        ...
        other.health -= self.damage
    ...

在类中使用属​​性可以让您快速而清晰地提取和操作相关信息。方法可帮助您控制程序的哪些部分应该执行以及如何执行。

于 2020-07-01T10:37:26.230 回答