Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function Board(rows, cols) {
- this.rows = rows;
- this.cols = cols;
- this.elements = [];
- }
- Board.prototype.createBoard = function () {
- var board = document.createElement('div');
- board.className = "board";
- for (var i = 0; i < this.rows; i++) {
- var row = document.createElement('div');
- row.className = "row";
- for (var j = 0; j < this.cols; j++) {
- var element = document.createElement('div');
- element.className = "element";
- row.appendChild(element);
- this.elements.push(element);
- }
- board.appendChild(row);
- }
- document.body.appendChild(board);
- };
- Board.prototype.watchMove = function (callback) {
- for (var index in this.elements) {
- this.elements[index].addEventListener('click', callback)
- }
- };
- Board.prototype.getElements = function () {
- return this.elements;
- };
- function SimpleAI(board) {
- this.board = board;
- }
- SimpleAI.prototype.handleMove = function () {
- var elements = this.board.getElements();
- for (var i = 0; i < elements.length; i++) {
- if (elements[i].innerHTML === "") {
- elements[i].innerHTML = "O";
- break;
- }
- }
- };
- var board = new Board(3, 3);
- board.createBoard();
- var simpleAI = new SimpleAI(board);
- var aiMoveCallback = simpleAI.handleMove.bind(simpleAI);
- var playerMoveCallback = function (e) {e.target.innerHTML = 'X';};
- board.watchMove(playerMoveCallback);
- board.watchMove(aiMoveCallback);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement