var turn = 1; var checkPiece = function(x, y, flip){ var ret = 0; for(var dx=-1; dx<=1; dx++){ for(var dy=-1; dy<=1; dy++){ if(dx==0 && dy==0){ continue; } var nx = x + dx; var ny = y + dy; var n = 0; while(board[nx][ny] == 3 - turn){ n++; nx += dx; ny += dy; } if(n>0 && board[nx][ny] == turn){ ret += n; if(flip){ nx = x + dx; ny = y + dy; while(board[nx][ny] == 3 - turn){ board[nx][ny] = turn; nx += dx; ny += dy; } board[x][y] = turn; } } } } return ret; }; var piece; var showBoard = function(){ var b = document.getElementById("board"); while(b.firstChild){ b.removeChild(b.firstChild); } for(var y=1; y<=8; y++){ for(var x=1; x<=8; x++){ var c = piece[board[x][y]].cloneNode(true); c.style.left = ((x - 1) * 51) + "px"; c.style.top = ((y - 1) * 51) + "px"; b.appendChild(c); if(board[x][y] == 0){ (function(){ var _x = x, _y = y; c.onclick = function(){ if(checkPiece(_x, _y, true)){ showBoard(); turn = 3 - turn; } }; })(); } } } }; var board = []; window.onload = function(){ var cell = document.getElementById("cell"); var black = document.getElementById("black"); var white = document.getElementById("white"); piece = [cell, black, white]; for(var i=0; i<10; i++){ board[i] = []; for(var j=0; j<10; j++){ board[i][j] = 0; } } board[4][5] = 1; board[5][4] = 1; board[4][4] = 2; board[5][5] = 2; showBoard(); }