2016-09-14 67 views
0

我正在研究一段代碼,它是一個小小的AI生物隨機進入房間,並期待看看有沒有什麼東西。如果之前有玩家觸摸過任何東西,那就需要該物品。下一個房間去掉它,可能會拿起一個新的房間。到目前爲止,我有:掉落物品如果超過1個物品存在

import random 
rooms = ['kitchen', 'livingroom', 'basement'] 
itemsstatus = {'Umbrella': 1, 'Coin': 1} 
itemsstatus['Umbrella'] = raw_input() 
print "itemstatus['Umbrella']", itemsstatus['Umbrella'] 
roominventory = ['Umbrella', 'Coin'] 
goblininventory = ['baseball'] 
notpickedanythingelse = 'true' 

gotoroom = random.choice(rooms) 
if(gotoroom == 'kitchen') or (gotoroom == 'livingroom') or (gotoroom == 'basement'): 
    ininventory = len(goblininventory) 
    if(ininventory >= 1): 
     roominventory.append(goblininventory[0]) 
     goblininventory.remove([0]) 
    else: 
     print "" 

    for items in roominventory: 
     if(itemsstatus[items] == 1) and (notpickedanythingelse == 'true'): 
      goblininventory.append(items) 
      roominventory.remove(items) 
      notpickedanythingelse = 'false' 
     else: 
      print "" 
    notpickedanythingelse = 'true' 

    print roominventory 
    print goblininventory 

的itemstatus [「」] = rawinput()將自動通過遊戲完成,將不會是一個原始開關輸入,它只是在這裏,所以我可以測試它。同樣,每個房間都有自己的庫存和循環,但這僅僅是爲了簡單。地精會拾取一件物品並保留它,但它不會掉落它已有的物品(它一次只能攜帶一件物品)。如何獲得它,以便在進入新房間時放下它所持有的物品?

+1

你是否對你的代碼中的具體問題?你能提供樣本產出和預期產出嗎? – alexbclay

+0

它給出了一個錯誤:'追蹤(最近呼叫最後): 文件「python」,第15行,在 ValueError:list.remove(x):x不在列表中 – Adam

+0

這是因爲你不能刪除的東西如果它不在列表中,則從列表中選擇。 – RPGillespie

回答