[問題] 關於雜湊的寫法

看板RPGMaker (RPG製作大師 - RPG Maker)作者 (Denyrmo)時間14年前 (2010/04/23 22:23), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
嗯...又來發問了 這次是想寫裝備的屬性附加系統(就diablo的字首系統) 例如「風之力 的 九頭蛇弓」: $Item3是用來儲存最終整把裝備的總屬性值 ItemType[1]是裝備本身的資料,即「九頭蛇弓」的能力值,暫定基礎攻擊力15 ItemMagic[1]是裝備字首屬性的資料,即「風之力」,暫定攻擊力+20 那麼這把武器的攻擊力將會是15+20=35,大概這個概念 我的寫法是這樣: $Item3 = ItemType[1].clone $Item3["能力"] = {} if ItemType[1]["能力"] == nil if $Item3["能力"]["攻擊"] == nil $Item3["能力"]["攻擊"] = ItemMagic[1]["能力"]["攻擊"].clone else p ItemType[1] #=15 $Item3["能力"]["攻擊"] += ItemMagic[1]["能力"]["攻擊"] p ItemType[1] #=35 end (建議可以貼到RGSS編輯器上看..不會換色@@) 問題出在倒數2和4行,明明只有計算Item3的值作加減, 結果卻會連帶影響到ItemType[1]這個裝備本身的資料值 導致「九頭蛇弓」這個基礎的裝備能力值越來越大... 想請問一下,問題到底是出在哪裡? 感激不盡! (嘗試過移除.clone,不過結果完全相同) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.168.114.54
文章代碼(AID): #1BqQrceu (RPGMaker)
文章代碼(AID): #1BqQrceu (RPGMaker)