function Move3(obj,x,y){
obj.style.left = (x+Man.x)*MapW;
obj.style.top = (y+Man.y)*MapH;
MainMap[y+parseInt(Man.y)][x+parseInt(Man.x)] = obj;
if(obj.complete == 1) MainMap[Man.y][Man.x]='.';
else{
MainMap[Man.y][Man.x] = ' ';
if(++BoxCompletes == TotalBox) {oWin();return;}
}
obj.complete = 1;
}
function UnDo(){
if(Count >= 0){
canMove = true
switch(BackRecord[Count]){
case 'l':Move1(1,0);break;//left -> right
case 'u':Move1(0,1);break;//up -> down
case 'r':Move1(-1,0);break;//right -> left
case 'd':Move1(0,-1);break;//down -> up
case 'L':UnGo(1,0);break;//left -> right
case 'U':UnGo(0,1);break;//up -> down
case 'R':UnGo(-1,0);break;//right -> left
case 'D':UnGo(0,-1);break;//down -> up
}
iSelects(--Count)
}
}
function UnGo(x,y){
BoxMoves--;
var obj = MainMap[-y+parseInt(Man.y)][-x+parseInt(Man.x)];
if(MainMap[Man.y][Man.x]==' '){
if(obj.complete == 0)MainMap[-y+parseInt(Man.y)][-x+parseInt(Man.x)]=' ';
else{
MainMap[-y+parseInt(Man.y)][-x+parseInt(Man.x)]='.';
BoxCompletes --;
}
obj.complete=0
}
else{
if(obj.complete == 0){
MainMap[-y+parseInt(Man.y)][-x+parseInt(Man.x)]=' ';
if(++BoxCompletes == TotalBox) {oWin();return;}
}
else MainMap[-y+parseInt(Man.y)][-x+parseInt(Man.x)]='.';
obj.complete=1
}
obj.style.left = Man.x*MapW;
obj.style.top = Man.y*MapH;
MainMap[Man.y][Man.x] = obj;
Move1(x,y);
}
function ReDo(){
if(Count+1<BackRecord.length){
switch(BackRecord[++Count]){
case 'l': case 'L': Dir(-1,0);break;//left
case 'u': case 'U': Dir(0,-1);break;//up
case 'r': case 'R': Dir(1,0);break;//right
case 'd': case 'D': Dir(0,1);break;//down
}
iSelects(Count);
}
else clearInterval(Timer);
}
function oWin(){
canMove = false;
if(useLevel == Map.length){
alert("恭喜!!! 您已经全部通关!");
}
else{
alert("恭喜!!!您过了第 "+ (useLevel+1) +" 关!");
useLevel++;
ReadMap(useLevel);
window.focus();
Base.focus();
BoxMoves = -1;
}
}
文章来源于领测软件测试网 https://www.ltesting.net/