Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/290.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
基于Python文本的游戏装备装甲统计信息_Python_Statistics - Fatal编程技术网

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

基于Python文本的游戏装备装甲统计信息,python,statistics,Python,Statistics,我正在开发一个基于Python文本的rpg,遇到了一个无法解决的问题。我试图得到一个不断更新的系统,告诉玩家他/她的数据应该取决于装备的盔甲或武器。 下面是我的代码中的类示例: import sys import random class Player: def __init__(self, name): self.name = name self.health = 100 self.maxhealth = 100 sel

我正在开发一个基于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
底部代码显示您是否装备了特定物品 它会改变你的数据,但我现在的问题是什么时候 你没有装备护甲或武器,它不会减少甚至改变你的属性
就像它应该的那样。基本上,我只是想找到一种方法来创建一个更新系统,根据装备的物品相应地更新玩家的统计数据。

听起来每个角色都有一个基本属性分数,但有效分数是由各种装备修改的基础。这是一个很好的属性用例

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

为什么不在需要时计算例如
stre
一个
@属性
,而不是对其进行加减?在我添加@property并将stre更改为Player中的一个方法后,我如何调用它用于类似可视统计的东西,以便玩家知道他们有多少攻击或防御?基本上,我是在问如何打印stre?属性的访问方式与普通属性一样(
print p.stre
);唯一的区别是,它不再是一个简单的查找(
p.uu dict_uu['stre']
),而是一个方法调用的返回值。