【发布时间】:2015-07-24 12:20:06
【问题描述】:
我是第一次玩 Python 和任何编程语言,所以请多多包涵。两周前我开始了在线课程,但尝试在旁边开发一个小游戏以更快地学习(并且玩得开心)。这是一个文字冒险,但会随机遭遇并与拥有随机装备的敌人战斗,然后玩家可以掠夺。
这是我的问题:如果我为随机遭遇创建随机对象/武器,我需要确保对象具有唯一名称。关卡的设计方式理论上可以是无限数量的对象(它可以是开放式的,只是突然出现)。
这是我目前的方法
class Item_NPCs: #create objects for NPCs
def__init__(self, item_type, item_number):
# e.g. item_type 1 = weapons, item_type2 = potions, etc.
if item_type == 1 and item number == 1:
self.property1 = 5
self.property2 = 4
if item_type == 1 and item_number ==2:
# etc. :)
def prepare_encounter():
inventory_NPC = [] # empty list for stuff the NPC carries around
XXX = Class_Item(item_type, item_number) # I might randomize the arguments.
重要的是我希望“XXX”是唯一且随机的,这样任何对象都不会存在超过一次并且以后可以放入玩家的库存中。
怎么做?
乔
【问题讨论】:
-
重要提示:您的 值 必须是唯一的,而不是您的变量。变量是算法中的占位符。如果占位符是未定义的混乱,您的算法将无法运行。如果您需要保存多个值,即使是随机值,请使用
list或dict。 -
@deceze 是对的,如果您需要一个随机的 name 对象,您应该考虑将其传递给
Class_Item的构造函数并将其分配给 @ 的属性987654325@ 实例。 -
或者如果名称总是在“Item X”的形式上,你可以在构造函数中生成该名称,方法是让类密切关注已创建实例的数量。
标签: python variables random unique names