From 588b4240c3e1cca1cefe3e032391eee42b890724 Mon Sep 17 00:00:00 2001 From: sitarameez Date: Fri, 2 Jul 2021 00:32:04 -0400 Subject: [PATCH 1/2] initial commit player x or o --- .../zipcodewilmington/tictactoe/Board.java | 52 +++++++++++++++++-- 1 file changed, 49 insertions(+), 3 deletions(-) diff --git a/src/main/java/rocks/zipcodewilmington/tictactoe/Board.java b/src/main/java/rocks/zipcodewilmington/tictactoe/Board.java index f56452f..61536ca 100644 --- a/src/main/java/rocks/zipcodewilmington/tictactoe/Board.java +++ b/src/main/java/rocks/zipcodewilmington/tictactoe/Board.java @@ -4,19 +4,65 @@ * @author leon on 6/22/18. */ public class Board { + private Character[][] matrix; + public Board(Character[][] matrix) { + this.matrix = matrix; + } public Boolean isInFavorOfX() { - return null; + int countOfX = 0; + int countOfO = 0; + Character[][] board = this.matrix; + + for(int i = 0; i < 3; i++){ + for(int j = 0; j < 3; j++){ + if(board[i][j] == 'X'){ + countOfX++; + } else if(board[i][j] == 'O'){ + countOfX++; + } + } + } + return countOfX > countOfO; } + public Boolean isInFavorOfO() { - return null; + int countOfX = 0; + int countOfO = 0; + Character[][] board = this.matrix; + + for(int i = 0; i < 3; i++){ + for(int j = 0; j < 3; j++){ + if(board[i][j] == 'X'){ + countOfX++; + } else if(board[i][j] == 'O'){ + countOfX++; + } + } + } + return countOfO > countOfX; } public Boolean isTie() { - return null; + Character[][] board = this.matrix; + //Board board = new Board(new Character[3][3]); + +// for(int i=0;i<3;i++) { +// for (int j = 0; j < 3; j++){ +// +// if (board[i][0]&&[i][1]&&[i][2]) +// +// +// if ([0][j]&&[1][j]&&[2][j]) +// +// +// if ([i][j]==[j][i]){ +// +// } + return true; } public String getWinner() { From e5cb4d496c06301d8ec4120609ad3d0e4bc62d70 Mon Sep 17 00:00:00 2001 From: sitarameez Date: Fri, 2 Jul 2021 22:43:21 -0400 Subject: [PATCH 2/2] completed tic tac toe --- .../zipcodewilmington/tictactoe/Board.java | 114 ++++++++++++------ 1 file changed, 80 insertions(+), 34 deletions(-) diff --git a/src/main/java/rocks/zipcodewilmington/tictactoe/Board.java b/src/main/java/rocks/zipcodewilmington/tictactoe/Board.java index 61536ca..0ba4e32 100644 --- a/src/main/java/rocks/zipcodewilmington/tictactoe/Board.java +++ b/src/main/java/rocks/zipcodewilmington/tictactoe/Board.java @@ -12,61 +12,107 @@ public Board(Character[][] matrix) { } public Boolean isInFavorOfX() { + Boolean result=false; int countOfX = 0; int countOfO = 0; Character[][] board = this.matrix; - for(int i = 0; i < 3; i++){ - for(int j = 0; j < 3; j++){ - if(board[i][j] == 'X'){ - countOfX++; - } else if(board[i][j] == 'O'){ + if(isTie()==true){ + return false; + } + for (int i = 0; i < 3; i++) { + for (int j = 0; j < 3; j++) { + if (board[i][j] == 'X') { countOfX++; } + if (board[i][j]=='O') { + countOfO++; + } + } } - return countOfX > countOfO; + if (countOfX > countOfO) { + result = true; + } + return result; } public Boolean isInFavorOfO() { + Boolean result=false; int countOfX = 0; int countOfO = 0; Character[][] board = this.matrix; + if(isTie()==true){ + return false; + } + for (int i = 0; i < 3; i++) { + for (int j = 0; j < 3; j++) { + if (board[i][j].toString().toLowerCase().equals("x")) { + countOfX++; + } + if (board[i][j].toString().toLowerCase().equals("o")) { + countOfO++; + } - for(int i = 0; i < 3; i++){ - for(int j = 0; j < 3; j++){ - if(board[i][j] == 'X'){ - countOfX++; - } else if(board[i][j] == 'O'){ - countOfX++; + } } - } + if (countOfO > countOfX) { + result = true; } - return countOfO > countOfX; + return result; } public Boolean isTie() { - Character[][] board = this.matrix; - //Board board = new Board(new Character[3][3]); - -// for(int i=0;i<3;i++) { -// for (int j = 0; j < 3; j++){ -// -// if (board[i][0]&&[i][1]&&[i][2]) -// -// -// if ([0][j]&&[1][j]&&[2][j]) -// -// -// if ([i][j]==[j][i]){ -// -// } - return true; + Boolean result=false; + if(getWinner()!="X"&& getWinner()!="O"){ + result=true; + } + return result; } - public String getWinner() { - return null; - } + public String getWinner () { + String result=""; + int countOfX = 0; + int countOfO = 0; + Character[][] board = this.matrix; + if (board[0][0] =='X' && board[1][1] == 'X' && board[2][2]=='X') { + result = "X"; + } + if(board[0][2] =='X' && board[1][1]=='X' && board[2][0]=='X'){ + result="X"; + } + + if (board[0][0] =='O' && board[1][1] == 'O' && board[2][2]=='O') { + result = "O"; + } + if(board[0][2] =='O' && board[1][1]=='O' && board[2][0]=='O'){ + result="O"; + } + + for (int i = 0; i < 3; i++) { + //for (int j = 0; j < 3; j++) { + //diagonal test + + //horizontal test + if(board[i][0]=='X'&& board[i][1]=='X'&& board[i][2]=='X') { + result = "X"; + } + //vertical test + if(board[0][i]=='X'&& board[1][i]=='X'&& board[2][i]=='X'){ + result="X"; + } + if(board[i][0]=='O'&& board[i][1]=='O'&& board[i][2]=='O') { + result = "O"; + } + if(board[0][i]=='O'&& board[1][i]=='O'&& board[2][i]=='O') { + result = "O"; + } + + } + + + return result; + } -} + } \ No newline at end of file