回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我正在用Python2.7制作一个TBRPG游戏,目前正在制作一个任务系统。我想创建一个函数来检查列表中的所有任务,在本例中是(<code>quests</code>),并告诉您列表中的任何任务是否具有相同的ID或名称,如果它们具有相同的ID或名称,<code>multiple_id</code>和<code>multiple_names</code>将增加1。你知道吗</p>
<pre><code>class Quest:
def __init__(self, target, name, ID, required_level, objective_requirements, reward_gold, reward_exp, reward_item):
self.target = target
self.name = name
self.ID = ID
self.req_level = required_level
self.objective_default = 0
self.objective_req = objective_requirement
self.reward_gold = reward_gold
self.reward_exp = reward_exp
self.reward_item = reward_item
def accept(self):
if self.target.level >= self.req_level:
self.target.quest.append(self.ID)
else:
pass
def turn_in(self):
if self.reward_exp >= 0:
self.target.exp += self.reward_exp
print '...'
if self.reward_gold >= 0:
self.target.gold += self.reward_gold
print '...'
if self.reward_item == None:
pass
else:
self.target.inventory.append(self.reward)
print '...'
def test_quests(list):
multiple_id = 0
multiple_names = 0
for x in list[:]:
print 'ID ' + str(x.ID)
print 'Name ' + x.name
print 'Target ' + str(x.target)
print 'Required Level ' + str(x.req_level)
print 'Objective Default ' + str(x.objective_default)
print 'Objective Requirement ' + str(x.objevtive_req)
print 'Reward Gold ' + str(x.reward_gold)
print 'Reward Exp ' + str(x.reward_exp)
print 'Reward Item' + str(x.reward_item)
print "Multiple ID's found = %d" % multiple_id
print "Multiple Name's found = %d" % multiple_names
me = 'Just a filler ATM...'
Quest1 = Quest(me, 'A Simple Task', 001, 0, 1, 100, 20, None)
Quest2 = Quest(me, 'A Difficult Task', 702, 0 , 1, 0 ,0, None)
quests = [Quest1, Quest2]
test_quests(quests)
</code></pre>
<p>我不知道怎么做。你知道吗</p>