使用非html5实现js板连连看游戏示例代码(3)


// 直线
isStraightReach : function(piece) {
//alert("isStraightReach");
if (this.isNear(piece)) {

return true;

}

var a = false;
var b = false;

// 沿y轴方向搜索
if (this.x == piece.x) {
//alert("!!!!!!!!!!!");
for (var i = this.min(this.y, piece.y) + 1; i < this.max(this.y, piece.y); i ++) {
//alert("this.x == piece.x: " + piece.x + "," + i);
if (this.game.pieceMap.get(piece.x + "," + i).isPass()) {

a = true;

this.game.trackList.push(this.game.pieceMap.get(piece.x + "," + i));

continue;
} else {

a = false;
this.game.trackList = [];

return a;
}

}

}

// 沿x轴方向搜索
if (this.y == piece.y) {
//alert("!!!!!!!!!!!");
for (var i = this.min(this.x, piece.x) + 1; i < this.max(this.x, piece.x); i ++) {
//alert("this.y == piece.y: " + i + "," + piece.y);
if (this.game.pieceMap.get(i + "," + piece.y).isPass()) {

b = true;
this.game.trackList.push(this.game.pieceMap.get(i + "," + piece.y));

continue;
} else {

b = false
this.game.trackList = [];

return b;
}

}

}

return a || b;
},


该函数实现了连连看判断两图片是否符合连接条件的最简单的一步,然后是拐一次弯搜索。

复制代码 代码如下:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wdzjgw.html