我正在开发一个基于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下面的代码显示,如果你有一个特定的装备,它会改变你的统计,但我目前的问题是,当你明确的装甲或武器,它没有减少,甚至改变你的统计数据,这是应该的。基本上,我只是想出一种方法来创建一个更新系统来相应地更新玩家的统计数据,这取决于他们装备了哪些物品。
发布于 2015-08-11 19:31:52
听起来每个字符都有一个基本属性分数,但是有效分数是由各种设备修改的基。这是一个很好的物业用例。
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 strhttps://stackoverflow.com/questions/31950236
复制相似问题