Python 基于文本的游戏装备护甲统计

Python Text-based Game Equip Armor Stats

我正在开发 Python 基于文本的角色扮演游戏,运行 遇到了一个我不知道如何解决的问题。我正在尝试获得一个不断更新的系统,以告诉玩家 his/her 统计数据应该取决于装备的盔甲或武器。 这是我的代码中 class 的示例:

import sys
import random

class Player:
    def __init__(self, name):
        self.name = name
        self.health = 100
        self.maxhealth = 100
        self.weap = "Rusty Sword"
        self.armH = "None"
        self.armB = "Wor Shirt"
        self.armA = "None"
        self.armL = "Worn Pants"
        self.armF = "Worn Boots"
        self.gold = 100
        self.stre = 1
        self.magi = 0
        self.rang = 0
        self.defe = 0
        self.level = 1
        self.exp = 0
        self.maxexp = 100
        self.pots = 0
        self.arrows = 0
        self.inventory = ["Rusty Sword", 
                          "Worn Shirt", 
                          "Worn Pants", 
                          "Worn Boots"]
        self.spells = []
## Armor and Weapon Stats #####
    ## WEAPON BUFFS ##
        if self.weap == "Rusty Sword":
            self.stre += 10 
        if self.weap != "Rusy Sword":
             self.stre -= 10

底部代码显示您是否拥有特定物品装备 它会改变你的统计数据,但我目前遇到的问题是什么时候 你卸下盔甲或武器它不会减少甚至改变你的统计数据 就像它应该的那样。基本上我只是想出一种方法来创建一个更新系统,根据装备的物品相应地更新玩家的统计数据。

听起来每个角色都有基础属性值,但是有效值是各种装备修改的基础。这是 属性.

的一个很好的用例
class Player:
    def __init__(self, name):
        # ...
        self.base_stre = 1
        # ...

    @property
    def stre(self):
        stre = self.base_stre
        if self.weap == "Rusty Sword":
            stre += 10
        # etc
        return str