Re: [請問] 樹狀資料 階層資料 整理方式...吧?
※ 引述《kindyayaya (Auto魂)》之銘言:
: 但是遊戲UX做得有夠爛,必須要玩家自己去記整個配方,有夠繁雜 幹
: 希望可以有個清單或工具,點一下最高級的目標設施就知道他總共需要哪些材料以及數量: 想請問有沒有適當的工具,或者有關鍵字可以讓人去繼續深入?
: 感謝
: ps.合成範例如下
: 死亡之浪(目標)=大爆發+瘟疫噴灑器+瘟疫
: 大爆發=魔法齒輪+火箭炸彈+流星雨
: 火箭炸彈=爆發之箭+同時射擊
: 爆發之箭=魔法齒輪+弩+爆發
: 弩=箭+投石器
: 投石器=箭+巨大化
: 同時射擊=箭+箭
: 流星雨=隕石+同時射擊+爆發
: 隕石=爆發+焚燒+落石
: 同時射擊=箭+箭
: 黃字為底材,這樣完成1/3,後面兩個設施就不打了
: 到底我要幾支箭幾個齒輪阿 崩潰(T_T)
我寫了一個簡單的python script,中間處理不算太有效率,
但相信對一個遊戲應該都夠快了
item_database = {
'大爆發':['魔法齒輪','火箭炸彈','流星雨'],
'火箭炸彈':['爆發之箭','同時射擊'],
'爆發之箭':['魔法齒輪','弩','爆發'],
'弩':['箭','投石器'],
'投石器':['箭','巨大化'],
'同時射擊':['箭','箭'],
'流星雨':['隕石','同時射擊','爆發'],
'隕石':['爆發','焚燒','落石'],
'同時射擊':['箭','箭']
}
values = set()
for key in item_database:
values.add(key)
values = values.union(set(item_database[key]))
memo = {} # to speed up
def decomposite(item):
"""
returns the elements
"""
assert item in values, "{} is not in the database".format(item)
if item not in item_database:
# This is an element
return [item]
if item in memo:
return memo[item]
ingredients = item_database[item]
result = []
for sub_item in ingredients:
result.extend(decomposite(sub_item))
memo[item] = result
return result
def get_elements(item):
result = {}
temp = decomposite(item)
for ingredient in temp:
if ingredient in result:
result[ingredient] += 1
else:
result[ingredient] = 1
return result
print(get_elements('大爆發'))
執行結果:
{'魔法齒輪': 2, '箭': 6, '巨大化': 1, '爆發': 3, '焚燒': 1, '落石': 1}
根據你的需要,可以在 item_database 去加入其他的合成食譜
然後用 get_elements 去算你需要的東西
這樣對你有幫助嗎?
--
讓苦命驅魔師愛上這個世界的方法
https://i.imgur.com/pBiFmqH.jpg
--
這種我會手癢想去寫recursive 然後我怎麼管不住這手呢
我上面是用遞迴啊 遞迴最無腦了
我會寫result.append(get_elements(ingredient))
然後把噁心的部分全部塞再更裡面
缺點是寫壞的時候會死比較多腦細胞
我也覺得就 recursive,寫的時間也是成本
再呼效率的話頂多加個 table lookup
感謝大大特地回文跟示範,很有幫助!
判斷items是否在item_database裡那段,不用針對item_da
tabase.keys()做檢查也能成功嗎
那是一樣的寫法 你第一套學的語言是 static-typed 的語言齁~XD 還是你是在說如果輸入的 item 不在 item_database 裡面會得到不對的結果? 那是個該擋住的東西沒錯 我上面加了一點東西進去
※ 編輯: arrenwu (98.45.135.233 美國), 02/12/2022 10:21:48遞迴就好啦 等真的很卡再說
理論上只是單機遊戲的配方表不會跑太久吧XD
這種應該也頂多幾百筆而已吧 如果上千筆就…我會先放
棄把他整理成文本XDDD(不
原PO的寫法不是完全的遞迴 但概念是遞迴沒錯
而且我覺得這種寫法比較好 出包時痛苦會比較少一點
爆
[花邊] 穆雷季後賽大爆發 歸功比賽日午睡5小時穆雷季後賽大爆發 歸功比賽日午睡5小時 記者陳元廷/綜合外電報導 金塊後衛穆雷(Jamal Murray)今年季後賽大放異彩,不但遠距三分箭箭穿心,被譽為頗 有柯瑞(Stephen Curry)接班人感覺,他攻擊籃框精湛技巧更令人驚豔,像對金塊360度 轉身上籃,還有對湖人致敬喬丹(Michael Jordan)的超級拉杆。30
[問題] 地平線如何更有效率打機械獸如題,假設是打雷霆牙,然後他的弱點是火, 1.在先不考慮拆零件的前提,或射擊可爆炸的零件下, (不刻意瞄準,直接射身體) 用火箭是否比用一般箭拆盔甲打來的有效率? 2.如果有瞄準,是否先射擊會爆炸(連鎖反應)的部位,26
[問題] 地平線 現在還可以刷雷霆牙嗎3年前玩地平線玩到一半沒玩(等級約26,暗影系列武器全部入手),現在遊戲荒,就拿出 來繼續玩,很多東西都忘記惹,想請問 一下: 1.現在還可以用S/L大法刷雷霆牙嗎?除了刷雷霆牙外,還有什麼可以獲得紫色線圈?當初 也是刷了幾十個線圈.......19
[問題] 新手射擊獵幾個問題這版本大概睽違十年以上接觸射擊獵; 想請教大大幾個問題... 一、推薦抄作業的地方? 首先wowhead看過一次,說真的蠻詳細的又全方位; NGA文章翻一翻,不過NGA的文章水準落差超級巨大...17
[情報] 9.1 PTR Raid掉落獵人專有特效裝由raid尾王希瓦娜斯掉落 有兩件,分別是弓與箭袋(使用披風格子) 其中箭袋沒有職業限制,不過應該只有獵人能觸發特效 弓: 用悲鳴箭取代你的擊殺射擊,對主要目標造成446點暗影傷害12
[討論] 原神的問卷怎麼填?身為原神米衛兵 每次填問卷 除了非常簡單跟獎勵太多之外 如果大家都反映差不多的問題 被重視的機會也越大吧? 這次寫的如果沒改 那下次再複製貼上 貼到米摳遊會怕為止 【人物角色】 1.宵宮的連射常飛歪影響輸出請修正9
Re: [問題] 經典版堆加速怎麼DPS反而更低?其實我不信換了些屬性,就能體感上察覺出DPS的差異, 或是能直接從Details上明顯分析出是某個屬性的問題XD 但是類似問題,曾在PTT上有過討論。 約莫TBC時期,全世界最強(我心目中)的元素薩,就在PTT, 他也寫出了一個簡易的加速閾值計算器,就像windows內建的計算機那樣陽春。
爆
[奶子] 黃金獵犬的內褲有夠讚94
[閒聊] 中國有配音員的聲音被偷走了66
[情報] 魔獸世界中國服取消6/4活動將維護整天62
[閒聊] 下一部現象級作品會是誰?66
[閒聊] 有很棒的隨機超能力但所有人都知道 要嗎70
[閒聊] 讓你吞下別人精液才能變強保護同鄉?54
[水母] 高橋李依:當時應該說看到第十話ww43
[GKMS] 佑芽之力 兩天11億34
[MYGO] 什麼情況下,你會原諒祥子?37
[閒聊] 人生經歷+1:床被書壓垮了...71
[閒聊] 為什麼放學後Tea time都沒這麼多問題?31
[閒聊] 偶像抽菸真的很過分嗎?33
[閒聊] MOMO搶先公布ROG Ally X細節 售價25999元34
[閒聊] 鳴潮抽吟霖歪到雪豹會退坑嗎?34
[水母]水母09+劇情感想34
[24春] 水母09 難道芽衣是…33
[問題] 魔物獵人冰原 有沒有冥赤龍武器的介紹?37
[閒聊] 真的會有女的願意幫維吉爾生小孩嗎?30
[閒聊] 幻塔新角色 - 安可31
[討論] 有出現「0」的動畫都是名作嗎?31
[閒聊] 遊戲核心都在後期那前期的意義是什麼?30
[問題] 水母09 所以...為什麼要揍人?30
[閒聊] ACG中能代表各國/文化的武裝?27
[水母] 正常人是真晝會怎麼做?29
[閒聊] 少女搞音樂都要有大小姐29
[閒聊] 小時候比較崇拜劍心還是黃飛鴻?28
[閒聊] 任天堂光靠IP就賺爆嗎?24
[問題] 曹魏有馬為什麼打不動其他兩國?25
[情報] 巨乳學園宣布重製 採用AI繪圖45
[閒聊] 通靈王有爛尾嗎?