【发布时间】:2016-01-12 04:25:09
【问题描述】:
我正在制作基于文本的 RPG。我面临的问题是我想要单独的敌人值,即地精、兽人等,但我不知道如何允许函数从特定的类对象中获取特定情况下的信息。我的措辞可能很糟糕;我很抱歉。举个例子:如果我有一个单独的战斗函数,每次用户进入一个有敌人的房间时都会调用它,我该如何区分该函数应该根据房间调用哪些敌人信息。
我可以使用一个敌人变量吗?比如说,当一个特定的房间函数被调用,并且房间里有一个敌人时,一个名为敌人的全局变量可能会改变,并以某种方式允许战斗函数根据变量信息检索信息。换句话说,如果玩家进入一个有妖精的房间,该函数会将全局变量更改为“妖精”。 python有没有办法查看那个变量并说'哦!他要为地精对象加载数据!”?
这是我的代码的基本版本:
enemy = ' '
class Enemy(object):
def __init__(self, name, health, damage):
self.name = name
self.health = health
self.damage = damage
def room():
print("You walk into a room and see a goblin. You enter combat. ")
enemy = goblin.name
combat()
def combat():
dieroll = random.randint(1, 20)
attack = raw_input("Press [A] to attack.: ").lower()
while attack:
if attack == 'a':
#Here is where I want the function to retrieve information from an
#enemy object, to determine its name, health, and damage.
print("You did", dieroll, "damage to" #enemy name)
#lower enemy health
goblin = enemy('goblin', 100, 15)
我希望其中一些有意义,即使代码有点草率,即使我的解决方案想法可能很愚蠢。
感谢您的帮助。
【问题讨论】:
-
通常你有一个基础的敌人类,它提供所有的函数和子类,这些函数和子类继承了具有该类型特殊属性的基础。如果你想要更多的数据驱动,你有一个类和一个定义类型属性的数据结构。这可能是一个字典。
标签: python python-2.7