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

时间:2015-08-11 19:22:38

标签: python statistics

我正在研究基于Python文本的RPG并遇到了一个我无法弄清楚如何修复的问题。我试图让一个不断更新的系统告诉玩家他/她的统计数据应该取决于装备的装甲或武器。 这是我的代码中的类的示例:

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

底部代码显示您是否有某个项目装备 它会改变你的统计数据,但我目前的问题是什么时候 你没有装备盔甲或武器,它不会减少甚至改变你的统计数据 喜欢它应该。基本上我只想找到一种方法来创建一个更新系统,根据所配备的项目相应地更新玩家的统计数据。

1 个答案:

答案 0 :(得分:1)

听起来每个角色都有 base 属性得分,但有效得分是各种设备修改的基础。这是一个很好的财产用例。

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