From a12920e282601e5c059a32db24f26f576d1dbb71 Mon Sep 17 00:00:00 2001 From: OleksChep Date: Fri, 13 Jan 2023 16:11:25 +0000 Subject: [PATCH 1/4] Update move-maker.js --- move-maker.js | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/move-maker.js b/move-maker.js index b462350..91f4146 100644 --- a/move-maker.js +++ b/move-maker.js @@ -9,6 +9,7 @@ - you can output 'Try again...' - and then return false Testing your function by calling it with some values. An example board is: + let board = [ ['X', '_', '_'], ['_', 'X', '_'], @@ -17,6 +18,11 @@ */ function validateMove(move, board) { // Implement this at the end if you have time, otherwise you can help your teammates! + let board = [ + ["X", "_", "_"], + ["_", "X", "_"], + ["O", "O", "X"], + ]; return true; } From 1621c5c5ffdd98061da9357a8511f7124afc0cbc Mon Sep 17 00:00:00 2001 From: Karleen Richards Date: Fri, 13 Jan 2023 17:31:55 +0000 Subject: [PATCH 2/4] made changes to checkrow function --- status-checker.js | 68 +++++++++++++++++++++++++++++------------------ 1 file changed, 42 insertions(+), 26 deletions(-) diff --git a/status-checker.js b/status-checker.js index 7df4962..c7d2cb6 100644 --- a/status-checker.js +++ b/status-checker.js @@ -1,4 +1,18 @@ -import { checkIfNoMovesLeft } from './board-printer.js'; +import { checkIfNoMovesLeft } from "./board-printer.js"; + +//Example board: +let boardNoWinner = [ + ["X", "_", "_"], + ["_", "_", "_"], + ["O", "O", "X"], +]; + +//Example board: +let boardXWon = [ + ["X", "X", "X"], + ["_", "_", "_"], + ["O", "O", "X"], +]; /* Example board: @@ -18,7 +32,11 @@ import { checkIfNoMovesLeft } from './board-printer.js'; Otherwise, return false */ function checkRow(board, player, rowNumber) { + let newArr = board[rowNumber]; + return newArr.every((item) => item === player); } +console.log(checkRow(boardXWon, "X", 0)); +console.log(checkRow(boardNoWinner, "X", 0)); /* Given 3 parameters: @@ -28,8 +46,7 @@ function checkRow(board, player, rowNumber) { Return true if the player has made a move in all 3 squares in the column Otherwise, return false */ -function checkColumn(board, player, columnNumber) { -} +function checkColumn(board, player, columnNumber) {} /* Given 2 parameters: @@ -39,43 +56,42 @@ function checkColumn(board, player, columnNumber) { Otherwise, return false */ function checkDiagonal(board, player) { - // It may be easier to use an if statement than a loop here + // It may be easier to use an if statement than a loop here } - /* There is no need to change any code below this line. */ function checkIfPlayerWon(board, player) { - for(let i = 0; i <= 2; i++) { - if(checkRow(board, player, i) || checkColumn(board, player, i)) { - return true; - } + for (let i = 0; i <= 2; i++) { + if (checkRow(board, player, i) || checkColumn(board, player, i)) { + return true; } + } - if(checkDiagonal(board, player)) { - return true; - } + if (checkDiagonal(board, player)) { + return true; + } - return false; + return false; } export function isGameOver(board) { - if(checkIfPlayerWon(board, 'X')) { - console.log('X has won the game!\n'); - return true; - } + if (checkIfPlayerWon(board, "X")) { + console.log("X has won the game!\n"); + return true; + } - if(checkIfPlayerWon(board, 'O')) { - console.log('O has won the game!\n'); - return true; - } + if (checkIfPlayerWon(board, "O")) { + console.log("O has won the game!\n"); + return true; + } - if(checkIfNoMovesLeft(board)) { - console.log('Game Over - It\s a tie!\n'); - return true; - } + if (checkIfNoMovesLeft(board)) { + console.log("Game Over - Its a tie!\n"); + return true; + } - return false; + return false; } From 6dc978382a16c93c355349882f93ac708672cd49 Mon Sep 17 00:00:00 2001 From: OleksChep Date: Fri, 13 Jan 2023 17:33:32 +0000 Subject: [PATCH 3/4] move-maker first commit --- move-maker.js | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/move-maker.js b/move-maker.js index 91f4146..3906d7d 100644 --- a/move-maker.js +++ b/move-maker.js @@ -16,13 +16,18 @@ ['O', 'O', 'X'] ]; */ +let board1 = [ + ["X", "_", "_"], + ["_", "X", "_"], + ["O", "O", "X"], +]; + function validateMove(move, board) { + + + // Implement this at the end if you have time, otherwise you can help your teammates! - let board = [ - ["X", "_", "_"], - ["_", "X", "_"], - ["O", "O", "X"], - ]; + return true; } From f53c0b49f2e878407bc5cae8d8aa173bcc2f40d4 Mon Sep 17 00:00:00 2001 From: BoshraM Date: Fri, 13 Jan 2023 18:07:35 +0000 Subject: [PATCH 4/4] boshra --- board-printer.js | 37 ++++++++++++++++++++++++++++++++++--- 1 file changed, 34 insertions(+), 3 deletions(-) diff --git a/board-printer.js b/board-printer.js index e11a262..67f0aad 100644 --- a/board-printer.js +++ b/board-printer.js @@ -7,17 +7,48 @@ ['O', 'O', 'X'] ]; We should output something like this (feel free to be creative): - X | | + | X | | ================= - | X | + | | X | ================= - O | O | X + | O | O | X ================= + + + _X_ + 00X Test your function by calling it with an example tic-tac-toe board. */ + let board = [ + ["X", "_", "_"], + ["_", "X", "_"], + ["O", "O", "X"], + ]; + export function printBoard(board) { + let greeting = " "; + for (let array of board){ + for (let value of array) { + // console.log(value) + if( value ==="X"){ + greeting=greeting +"| x " + + } + if (value==="_"){ + greeting = greeting + "| "; + } + if (value==="0"){ + greeting = greeting + "| 0 "; + } + + } + greeting = greeting + "\n"+ "============="+"\n" + } +return greeting } +console.log(printBoard(board)) + /* Given a tic-tac-toe board (an array of arrays), - return true if there are no moves left to make (there are no more '_' values)