Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 25 additions & 0 deletions index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
<!DOCTYPE html>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
<div id="menu">
<h3 id="player">Tic Tac Toe</h3>
<button id="restart">Restart</button>
</div>
<div id="board">
<div class="game-row"></div>
<div class="game-row"></div>
<div class="game-row"></div>
<div class="game-row"></div>
<div class="game-row"></div>
<div class="game-row"></div>
<div class="game-row"></div>
<div class="game-row"></div>
<div class="game-row"></div>
</div>
<script type="text/javascript" src="script.js"></script>
</body>
</html>
106 changes: 106 additions & 0 deletions script.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,106 @@
const player1 = 1;
const player2 = -1;
var state = "";
var playerTurn = 0;

var boxElements = Array.from(document.querySelectorAll(".game-row"));
console.log(boxElements)

// create rows and store them in a nested array

var createBoard = function(array, rows) {
var tempArray = [];

for(var i = 0; i < array.length; i += rows) {
var myRow = array.slice(i, i + rows);
tempArray.push(myRow);
}
return tempArray;
}

var board = createBoard(boxElements, 3);
console.log(board)

boxElements.forEach(box => {
box.addEventListener("click", function() {
start(event)}, {once: true})
});

var start = function(event) {
checked(event);
//check win condition
}

var checked = function(event) {
if (playerTurn === 0) {
event.target.innerText = "X";
playerTurn = 1
} else if(playerTurn === 1) {
event.target.innerText = "O";
playerTurn = 0
}
}

console.log(playerTurn)

// win conditions

// var realBoard = [[1, 1, 1], [0, 1, 0], [1, 0, 0]]
// var state = "";

// // Check Row Win
// var checkRowWin = function(board) {
// var sum = 0;
// for (var i = 0; i < board[i].length; i++) {
// sum = board[i].reduce((a, b) => a + b)
// console.log(sum);
// if (sum === 3) {
// state = "player1 win";
// break;
// } else if (sum === -3) {
// state = "player2 win";
// break;
// }
// }
// }
// checkRowWin(realBoard);
// console.log(checkRowWin)

// //Check Column Win
// var checkColumnWin = function(board) {
// var sum1 = 0;
// var sum2 = 0;
// var sum3 = 0;
// for (var i = 0; i < board.length; i++) {
// sum1 += board[i][0]
// sum2 += board[i][1]
// sum3 += board[i][2]
// if (sum1 === 3 || sum2 === 3 || sum3 ===3 ||) {
// state = "player1 win";
// break;
// } else if (sum1 === -3 || sum2 === -3 || sum3 === -3) {
// state = "player2 win";
// break;
// }
// }
// }
// checkColumnWin(realBoard);
// console.log(state)

// //Check Diagonal Win
// var checkDiagonalWin = function(board) {
// var sum1 = 0;
// var sum2 = board[0][2] + board[1][1] + board[2][0];
// for (var i = 0; i < board.length; i++) {
// sum1 += board[i][i]
// if (sum1 === 3 || sum2 === 3) {
// state = "player1 win";
// break;
// } else if (sum1 === -3 || sum2 === -3) {
// state = "player2 win";
// break;
// }
// }
// }
// checkDiagonalWin(realBoard);
// console.log(state)
37 changes: 37 additions & 0 deletions style.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
body {
margin: 0;
}

#menu {
display: flex;
width: 500px;
}

#player {
flex: 7;
}

#restart {
flex-basis: 100px;
}

#board {
height: 500px;
width: 500px;
background-color: grey;
display: flex;
flex-direction: row;
flex-wrap: wrap;
justify-content: space-around;
}

.game-row {
height: 150px;
width: 150px;
display: flex;
background-color: red;
margin-top: 7px;
align-items: center;
justify-content: center;
font-size: 50px;
}