[問題] 修改完成到一半的語法
最近做網頁的時候想到之前有留一些搜尋到的js,然後想說把它改一改來
用,可是學藝不精,改到一半不知道該怎麼繼續下去...。
以下是一個迷宮遊戲:
var X,Y;
maze=new Array()
maze[0]="口口口S口口口口口口口口口口口口口"
maze[1]="口口口 口口 口口口口口"
maze[2]="口口E 口口口 E口口口"
maze[3]="口口口口口口口口口口口口口口口口口"
var check=true;
for(var i=0;i<=maze.length-1;i++)
if(maze[i].length!=maze[0].length)
check=false;
if(!check)
{alert('Error:迷宮長度不等')
window.close()
}
function compile(w)
{switch(w)
{case "口"
return"wall.gif";
case " "
return"black.gif";
case "E"
return"goal.gif";
case "S"
return"man.gif";
}
}
document.write('<center>')
for(var i=0;i<=maze.length-1;i++)
{for(var j=0;<=maze[0].length-1;j++)
{document.write('<img src="'+compile(maze[i].charAt(j))+'" name="no'+j+'_'+i+'">')
if(maze[i].charAt(j)=="S"){X=j;Y=i}
}
}
function doLeft(w)
{if(X+w>=maze[0].length||X+w<0)
return;
if(maze[Y].charAt(X+w)=="口")return;
eval('document.no'+X+'_'+Y+'.src="black.gif";')
eval('document.no'+(X+w)+'_'+Y+'.src="man.gif";')
if(maze[Y].charAt(X+w)=="E")
WIN();
X+=w;
}
function doTop(w)
{if(Y+w>=maze.length||Y+w<0)
return;
if(maze[Y+w].charAt(X)=="口")return;
eval('document.no'+X+'_'+Y+'.src="black.gif";')
eval('document.no'+X+'_'+(Y+w)+'src="man.gif";')
if(maze[Y+w].charAt(X)=="E")
WIN();
}
function WIN()
{alert('恭喜過關!!!')
location.href='http://tw.yahoo.com'
}
function kdown()
{if(event.keyCode==37)
doLeft(-1);
if(event.keyCode==38)
doTop(-1);
if(event.keyCode==39)
doLeft(1);
if(event.keyCode==40)
doTop(1);
window.event.returnValue=false;
}
document.onkeydown=kdown
也就是說,S為一開始的起點,走到E時過關,並且可以超連結到http://tw.yahoo.com
,想問說是否有辦法讓S可以走到三個以上不同的終點,然後能連到不同的網站去(且
是開另一個新視窗來開網頁),走到終點也不會讓那個終點消失,而且可以繼續走到其
它點,然後連結出不同網頁。
不知道能不能這樣問?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 122.124.105.80
Ajax 近期熱門文章
PTT數位生活區 即時熱門文章