javascript中的探路者
我正在制作一种javascript游戏,我基本上有一堆由一个小脚本生成的图块(div)。我知道寻路的基本知识以及如何使用我的瓷砖等 但是,我遇到了一点麻烦,就是在某种程度上存储了这些瓷砖,这样我就可以从我的瓷砖中挑出8个周围的瓷砖 所以基本上,让我们假设我站在瓷砖上 (E-tiles,T-tile我在,B-tile我想去) E E E E E E E T E B E E E E E E 现在我想“找到”我周围的瓷砖,我需要关于如何做的帮助/提示(也就是说,我需要关于如何存储瓷砖的提示,以便我以后可以“浏览”它们) 我想找到这些没有问题 (E-tiles,T-tile我在,B-tile我想去,Y-What我想找到) 是的,是的 Y T Y E B 是的,是的 还有一点额外的好处是如何存储这些,例如,我从所选的“Y”瓷砖中选择一个瓷砖,然后遍历它们,最后选择一个使我更接近“B”的瓷砖javascript中的探路者,javascript,html,Javascript,Html,我正在制作一种javascript游戏,我基本上有一堆由一个小脚本生成的图块(div)。我知道寻路的基本知识以及如何使用我的瓷砖等 但是,我遇到了一点麻烦,就是在某种程度上存储了这些瓷砖,这样我就可以从我的瓷砖中挑出8个周围的瓷砖 所以基本上,让我们假设我站在瓷砖上 (E-tiles,T-tile我在,B-tile我想去) E E E E E E E T E B E E E E E E 现在我想“找到”我周围的瓷砖,我需要关于如何做的帮助/提示(也就是说,我需要关于如何存储瓷砖的提示,以便我以后
任何提示/窍门/帮助都非常有用!您可以将您的世界存储为一个瓷砖阵列,索引表示x/y坐标
var world = [];
world.height = 10;
world.width = 20;
for (var x = world.width; x--;) {
for (var y = world.height; y--;) {
if (!world[x]) world[x] = [];
world[x][y] = new Tile();
}
}
var player = {
position: { x: 3, y: 5 }
};
你的玩家也会有x/y坐标
var world = [];
world.height = 10;
world.width = 20;
for (var x = world.width; x--;) {
for (var y = world.height; y--;) {
if (!world[x]) world[x] = [];
world[x][y] = new Tile();
}
}
var player = {
position: { x: 3, y: 5 }
};
如果要确定任意位置是否为播放器旁边的8个磁贴之一:
if (player.position.x == x && player.position.y == y) {
// the tile at x,y is occupied by your player
} else if (Math.abs(player.position.x - x) <= 1 &&
Math.abs(player.position.y - y) <= 1) {
// the tile at x,y is next to your player
}
你能一直移动到你旁边的任何一块瓷砖吗,或者一些瓷砖会被阻挡,所以你需要四处走动吗?好吧,最终会有墙,但墙后面不会有瓷砖,所以我猜是和否。所以,你能“找到”的每一块瓷砖“你可以去。但正如我所说,我可以在以后管理寻路,只是我需要一种智能的方式来存储瓷砖。我想这回答了你的问题,但我觉得你可能已经知道了。如果我误解了你的问题,请告诉我。我并不真正支持你如何使用世界[],假设它是一个数组,我从来没有见过它有两个标记world[x][y]。另外,我需要知道用户按下了什么磁贴,假设他在磁贴1,1上并按下了磁贴7,2。我想能够记录他按下了什么磁贴,我该如何以一种智能的方式来做这件事呢:
x-->
,y-->)
@self它是for
语句的条件表达式和空的最终表达式(以及右参数)。