一种重要的网格遍历(寻路)算法
发表于2018-01-17
算法如下:
for (vardx = -1; dx <= 1; dx++)
for (vardy = -1; dy <= 1; dy++)
if (!dx ^ !dy) {
varsite= that.chesses[row+dy][col+dx];
var site= that.chesses[row+dx][col+dy];
var site= that.chesses[row+dy*row+dx];
var site= that.chesses[row+dx*row+dy];
}
这种算法是遍历一个方格的四个方向,如图所示:
算法会遍历红色小方块四周的黑色小方块。这样,小方块不断遍历,就会遍历红色附近所有连续的黑色小方块,就不必去遍历所有小方块。
这个应该是一个基础知识,但是没有看过这个算法就很难想到,所以记录下来。