我正在尝试制作一款游戏,其中玩家只有在没有站在特定的瓷砖上时才会跌倒。我的map是使用一个整数数组生成的,该数组与各种瓦片类型相对应。我想知道是否有任何方法来测试玩家下面的方块是否是某个方块,除了为每个方块做一个if else语句。我已经给出了一个地图的例子,以及我如何测试玩家是否站在上面。
int[][] map3 = { //grid3
{ 6, 6, 6, 6, 6, 6, 6, 6, 0, 6, 6, 6, 6, 6, 6, 6 },
{ 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6 },
{ 6, 6, 6, 6, 6, 0, 6, 7, 6, 6, 6, 6, 6, 6, 6, 6 },
{ 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6 },
{ 6, 6, 6, 6, 6, 6, 6, 6, 6, 0, 6, 6, 6, 6, 6, 6 },
{ 1, 1, 1, 1, 4, 6, 6, 6, 6, 6, 6, 6, 6, 0, 6, 0 },
{ 9, 9, 9, 9, 9, 5, 1, 1, 1, 1, 1, 4, 6, 6, 6, 6 },
{ 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 5, 1, 1, 1 },
{ 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9 },
{ 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9 }, };
if (grid3.getTile( (int) playerX, (int) playerY) != grid3.map[7][4]) {
player.setY((float) ((float) player.getY() - 0.7));
} 我会对每一块瓷砖重复这个过程。
发布于 2015-04-17 16:12:58
您应该能够使用嵌套的for循环来迭代您的数组。它看起来就像这样。
for(int c = 0; c < grid3.map.length; c++){
for(int x = 0; x < grid3.map[c].length){
if (grid3.getTile( (int) playerX, (int) playerY) != grid3.map[c][x])
player.setY((float) ((float) player.getY() - 0.7));
}
}https://stackoverflow.com/questions/29290737
复制相似问题