簡體   English   中英

檢查列表中是否多次存在?

[英]Check if something is in a list multiple times?

我有一個怪物字典,我可以通過選擇一個隨機整數並將其與字典值中的第一個數字匹配來獲得敵人(這是一個列表)

#NAME: ID, HP, MP, ATK, DEF, MGATK, MGDEF, SPEED, EXPSHARE, IMG
monsters_list = {"BOXROACH": [1, 20, 5, 5, 5, 5, 5, 5, 5, pg.image.load("boxcroach.png")],

for i in range(amt):
            monster = random.randint(1, len(self.monsters))
            for key in self.monsters:
                if self.monsters[key][0] == monster:
                    monsters.append([key, self.monsters[key]])

因此amt是介於1和3之間的數字,它決定要面對的怪物數量,然后它通過字典匹配值的第一個索引,然后將怪物附加到列表中,最終看起來像這樣:

[['SLUGGER', [2, 20, 10, 5, 3, 8, 7, 11, 7, <Surface(150x160x32 SW)>]], ['SLUGGER', [2, 20, 10, 5, 3, 8, 7, 11, 7, <Surface(150x160x32 SW)>]], ['MEAN SPIRIT', [10, 15, 15, 5, 5, 5, 5, 5, 20, <Surface(100x100x32 SW)>]]]

(忽略愚蠢的名字)
我要做的是檢查同一敵人是否存在多個,然后以某種方式區分它們。 我本來打算將所有索引添加到另一個列表中然后進行比較,但是有沒有更有效的方法呢? 謝謝。

您可以通過以下方法做到: 檢查您的隨機數,以使它們不同,從而使您的怪物有所不同。

如果再次重復一個隨機數,則執行下一個隨機數。

並且如果您想以某種方式與它們區別,最好創建一個怪物詳細信息類,那么如果重復它們,則為每個怪物更改一些參數。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM