/*棋盤本體 寬高各為544*544px(15*15格子加上邊界一共是17*17格) */ .Board{ width:544px; height:544px; } /*棋格 寬高各為32*32px 排列方式為絕對位置(可用x,y座標定義位置) */ .Cell{ width:32px; height:32px; position:absolute; } /*圖片 寬高各為32*32px */ img{ width:32px; height:32px; } |
<link rel="stylesheet" type="text/css" href="style.css" /> <script language="javascript" src="Gomoku.js"/></script> |
<div class=Board id="board"> <div class=Cell id="edag1"><img src="board1.png"></div> <div class=Cell id="edag2"><img src="board2.png"></div> <div class=Cell id="edag3"><img src="board3.png"></div> <div class=Cell id="edag4"><img src="board4.png"></div> <div class=Cell id="edag5"><img src="board5.png"></div> <div class=Cell id="edag6"><img src="board6.png"></div> <div class=Cell id="edag7"><img src="board7.png"></div> <div class=Cell id="edag8"><img src="board8.png"></div> <div class=Cell id="cell"><img src="cell.png"></div> </div> |
//初始化棋盤物件 function init(){ //取得棋盤本體 boardPiece = document.getElementById("board"); //依序取得棋盤本體內的元件,將之存入piece後並移除 while(boardPiece.firstChild){ //檢查是否為棋盤物件 if (typeof boardPiece.firstChild.id != 'undefined'){ piece.push(boardPiece.firstChild); } boardPiece .removeChild(boardPiece.firstChild); } } |
//進行棋盤拼貼 function showBoard(){ //用來儲存從piece中複製的棋盤元件 var clonePiece; //以二重迴圈依序拼貼棋盤 for(var y=0; y<17; y++){ for(var x=0; x<17; x++){ //左上邊界 if(x==0 && y==0){ clonePiece= piece[0].cloneNode(true); //右上邊界 }else if(x==16 && y == 0){ clonePiece = piece[1].cloneNode(true); //右下邊界 }else if(x==16 && y == 16){ clonePiece = piece[2].cloneNode(true); //左下邊界 }else if(x==0 && y == 16){ clonePiece = piece[3].cloneNode(true); //上邊界 }else if(y==0){ clonePiece = piece[4].cloneNode(true); //右邊界 }else if(x==16){ clonePiece = piece[5].cloneNode(true); //下邊界 }else if(y==16){ clonePiece = piece[6].cloneNode(true); //左邊界 }else if(x==0){ clonePiece = piece[7].cloneNode(true); //棋格 }else{ clonePiece = piece[8].cloneNode(true); //將棋格以x方向到y方向排列 board[(y-1)*15+(x-1)]=0; //以棋格名稱作為儲存媒介 clonePiece.name="("+y+"-1)*15+("+x+"-1)"; //設定滑鼠事件 clonePiece.onclick = function(){ //輸出棋格座標位置(y座標*15+x座標) alert("you click : "+eval(this.name)); } } //設定棋格座標 clonePiece.style.left=x*32+"px"; clonePiece.style.top=y*32+"px"; //將棋格加入棋盤本體 boardPiece .appendChild(clonePiece); } } } |