Professional Documents
Culture Documents
Tic-Tac-Toe Part 2 Javascript Answer
Tic-Tac-Toe Part 2 Javascript Answer
var NUM_ROWS = 3;
var NUM_COLS = 3;
var OFFSET= 50;
var CIRCLE_BORDER = 5;
var BOX_SIZE = WIDTH / NUM_COLS;
var board = new Grid(NUM_ROWS, NUM_COLS);
var turn = true;
var inPlay = true;
function start(){
drawBoard();
mouseClickMethod(handleClick);
}
function drawBoard() {
var vert = WIDTH / 3;
var horz = HEIGHT / 3;
add(new Line(vert, 0, vert, HEIGHT));
add(new Line(WIDTH - vert, 0, WIDTH - vert, HEIGHT));
add(new Line(0, horz, WIDTH, horz));
add(new Line(0, HEIGHT - horz, WIDTH, HEIGHT - horz));
}
function handleClick(e) {
if (inPlay) {
var xPos = e.getX();
var yPos = e.getY();
var col = getColForClick(xPos);
var row = getRowForClick(yPos);
if (!board.get(row, col)) {
if (turn) {
board.set(row, col, "X");
drawX(row, col); }
else {
board.set(row, col, "O");
drawO(row, col);
}
turn= !turn;
}
}
}
function getColForClick(xPos) {
var xtab = xPos / BOX_SIZE;
if(xtab < 1) {
return 0;
}
else
if(xtab > 1 && xtab < 2) {
return 1;
}
else {
return 2;
}
}
function getRowForClick(yPos) {
var ytab = yPos / BOX_SIZE;
if(ytab < 1) {
return 0;
} else
if(ytab > 1 && ytab < 2) {
return 1; }
else {
return 2;
}
}