[問題] 修改完成到一半的語法

看板Ajax作者 (lch)時間16年前 (2009/01/03 02:00), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
  最近做網頁的時候想到之前有留一些搜尋到的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
文章代碼(AID): #19NbOjyX (Ajax)
文章代碼(AID): #19NbOjyX (Ajax)