首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于Python文字的游戏装备盔甲

基于Python文字的游戏装备盔甲
EN

Stack Overflow用户
提问于 2015-08-11 19:22:37
回答 1查看 1.2K关注 0票数 1

我正在开发一个基于Python文本的rpg,遇到了一个我无法解决的问题。我试图得到一个系统,不断更新,以告诉球员,他/她的统计应该是根据装甲或武器装备。下面是我代码中的类示例:

代码语言:javascript
复制
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

下面的代码显示,如果你有一个特定的装备,它会改变你的统计,但我目前的问题是,当你明确的装甲或武器,它没有减少,甚至改变你的统计数据,这是应该的。基本上,我只是想出一种方法来创建一个更新系统来相应地更新玩家的统计数据,这取决于他们装备了哪些物品。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-08-11 19:31:52

听起来每个字符都有一个基本属性分数,但是有效分数是由各种设备修改的基。这是一个很好的物业用例。

代码语言:javascript
复制
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
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31950236

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档