From 6f0a66bb11a3206077218c8f89a22f7ef81344d5 Mon Sep 17 00:00:00 2001 From: ckcz123 Date: Thu, 2 Jul 2020 18:56:11 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96generateMovableArray=E7=9A=84?= =?UTF-8?q?=E8=B0=83=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- libs/control.js | 2 +- libs/maps.js | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/libs/control.js b/libs/control.js index a84917b8..61b20f5f 100644 --- a/libs/control.js +++ b/libs/control.js @@ -770,7 +770,7 @@ control.prototype.tryMoveDirectly = function (destX, destY) { if (this.nearHero(destX, destY)) return false; var canMoveArray = core.maps.generateMovableArray(); var dirs = [[destX,destY],[destX-1,destY,"right"],[destX,destY-1,"down"],[destX,destY+1,"up"],[destX+1,destY,"left"]]; - var canMoveDirectlyArray = core.canMoveDirectlyArray(dirs); + var canMoveDirectlyArray = core.canMoveDirectlyArray(dirs, canMoveArray); for (var i = 0; i < dirs.length; ++i) { var d = dirs[i], dx = d[0], dy = d[1], dir = d[2]; diff --git a/libs/maps.js b/libs/maps.js index ecaf0252..de4593ed 100644 --- a/libs/maps.js +++ b/libs/maps.js @@ -569,7 +569,7 @@ maps.prototype.canMoveDirectly = function (destX, destY) { return this.canMoveDirectlyArray([[destX,destY]])[0]; } -maps.prototype.canMoveDirectlyArray = function (locs) { +maps.prototype.canMoveDirectlyArray = function (locs, canMoveArray) { var ans = [], number = locs.length; var fromX = core.getHeroLoc('x'), fromY = core.getHeroLoc('y'); @@ -598,7 +598,7 @@ maps.prototype.canMoveDirectlyArray = function (locs) { return ans; } - return this._canMoveDirectly_bfs(fromX, fromY, locs, number, ans); + return this._canMoveDirectly_bfs(fromX, fromY, locs, number, ans, canMoveArray); } maps.prototype._canMoveDirectly_checkGlobal = function () { @@ -622,8 +622,8 @@ maps.prototype._canMoveDirectly_checkStartPoint = function (sx, sy) { return true; } -maps.prototype._canMoveDirectly_bfs = function (sx, sy, locs, number, ans) { - var canMoveArray = this.generateMovableArray(); +maps.prototype._canMoveDirectly_bfs = function (sx, sy, locs, number, ans, canMoveArray) { + canMoveArray = canMoveArray || this.generateMovableArray(); var blocksObj = this.getMapBlocksObj(core.status.floorId); // 滑冰 var bgMap = this.getBgMapArray();