gpt4 book ai didi

java - 获取相同类型的物体 - 三消风格游戏

转载 作者:行者123 更新时间:2023-12-01 13:34:57 25 4
gpt4 key购买 nike

当用户选择一个对象(主体)时,我想搜索连接到该主体的相同类型的所有其他对象。

例如,如果用户选择类型 2 的对象。我想检查用户选择的该对象旁边的对象,以检查它是否属于类型 2,并在所有方向上执行此操作。上下、横向等

继续下去,直到达到不再有类型 2 的程度。

有人知道我该怎么做这样的事情吗?

我知道我可以使用 body.setUserData() 来设置正文类型并查看它是什么。

有什么想法吗?

最佳答案

首先。对于使用 box2d 物理的​​三消游戏来说简直是大材小用。

其次。我建议您使用二维数组。这样你就可以检查最近的物体:

array[x][y+1].type==type

例如。

您需要制定一个递归方法来从各个方向检查它们。

public void getCandiesIMeanObjects(int i, int j, int type){
if(array[i][j].type == type){
objects.add(array[i][j]);

if(i-1>=0) getCandiesIMeanObjects(i-1, j, type);
if(i+1<gridwidth) getCandiesIMeanObjects(i+1, j, type);
if(j-1>=0) getCandiesIMeanObjects(i, j-1, type);
if(j+1<gridheight) getCandiesIMeanObjects(i, j+1, type);
}
}

从单击/移动的开始:

getCandiesIMeanObjects(object.gridx, object.gridy, object.type);

(使用的所有字段都应该是不言自明的,但是:objects是一个数组,gridwidth/height是棋盘尺寸,type是类型...(int,enum,你可以调用它),object.gridx/y 是对象在网格中的位置)

关于java - 获取相同类型的物体 - 三消风格游戏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21357811/

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