gpt4 book ai didi

java - 组合游戏中的元素

转载 作者:行者123 更新时间:2023-12-01 21:51:04 25 4
gpt4 key购买 nike

在我的游戏中,用户将能够组合元素,如果兼容,将产生一个新元素。项目 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”可以结合的所有内容。

有没有一种简单的方法可以做到这一点,并且不会跨越 1,000 行,同时保持高效?

最佳答案

我建议使用 Map<Set<Item>, Item>>来存储食谱。它的键是一组所需的元素(可能超过两个),其值是制作的元素。

然后您可以检查配方是否存在 .containsKey(Set<Item>)方法并通过其 .get(Set<Item>) 获得精心设计的结果方法。

请注意,您的项目必须覆盖 Object.hashCode()使该解决方案发挥作用。

这里有一个小代码片段,以防不太清楚:http://ideone.com/MbnsrC

关于java - 组合游戏中的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35209329/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com