在我的遊戲中,用戶將能夠合併項目,如果兼容將產生項目新項目。項目ID保存爲int。在遊戲中合併項目
我想知道什麼是最有效的方式做到這將是,同時確保交換順序將始終產生相同的結果,所以用戶可以輸入命令:
item X + item Y = item Z
item Y + item X = item Z
我最初以爲的做一些簡單的像一個開關:
private int findItem(id1, id2)
{
int newID = 0;
switch(id1)
{
case 1:
if(id2.equals(4))
newID = 9;//Item 1 + Item 4 = Item 9
break;
}
return newID
}
但是,我不知道該用開關是最有效(或整潔),我不得不在事件創造另一種情況,該函數接收項目ID的順序相反。我還必須在案件中有案例來評估「id1」可以結合的所有內容。
是否有一種簡單的方法可以在保持高效的同時不會跨越1000條線路?
使用'=='比較基本類型值 – haifzhan
使用一些巧妙的數學來選擇IDS,執行一個簡單的加法和從獲取返回的項目一個Map'。 –
Kayaman
有多少種可能的物品? –