diff --git a/src/main/java/rocks/zipcodewilmington/tictactoe/Board.java b/src/main/java/rocks/zipcodewilmington/tictactoe/Board.java index f56452f..0dab4ce 100644 --- a/src/main/java/rocks/zipcodewilmington/tictactoe/Board.java +++ b/src/main/java/rocks/zipcodewilmington/tictactoe/Board.java @@ -4,23 +4,131 @@ * @author leon on 6/22/18. */ public class Board { + Character[][] matrix; public Board(Character[][] matrix) { + this.matrix = matrix; } public Boolean isInFavorOfX() { - return null; + if(matrix[0][0] == 'X'){ + if (matrix[0][1] == 'X'){ + if(matrix[0][2] == 'X'){ + return true; + } + } + if(matrix[1][0] == 'X'){ + if(matrix[2][0] == 'X'){ + return true; + } + } + if(matrix[1][1] == 'X'){ + if(matrix[2][2] == 'X'){ + return true; + } + } + } + if(matrix[0][2] == 'X') { + if (matrix[1][1] == 'X') { + if (matrix[2][0] == 'X') { + return true; + } + } + if (matrix[1][2] == 'X') { + if (matrix[2][2] == 'X') { + return true; + } + } + } + if(matrix[0][1] == 'X'){ + if(matrix[1][1] == 'X'){ + if(matrix[2][1] == 'X'){ + return true; + } + } + } + if(matrix[1][0] == 'X'){ + if(matrix [1][1] == 'X'){ + if(matrix [1][2] == 'X'){ + return true; + } + } + } + if(matrix[2][0] == 'X'){ + if(matrix[2][1] == 'X'){ + if(matrix[2][2] == 'X'){ + return true; + } + } + } + return false; } public Boolean isInFavorOfO() { - return null; + if(matrix[0][0] == 'O'){//0 + if (matrix[0][1] == 'O'){// - 0 + if(matrix[0][2] == 'O'){//--0 + return true; + } + } + if(matrix[1][0] == 'O'){//vertical + if(matrix[2][0] == 'O'){ + return true; + } + } + if(matrix[1][1] == 'O'){ + if(matrix[2][2] == 'O'){ + return true; + } + } + } + if(matrix[0][2] == 'O') { + if (matrix[1][1] == 'O') { + if (matrix[2][0] == 'O') { + return true; + } + } + if (matrix[1][2] == 'O') { + if (matrix[2][2] == 'O') { + return true; + } + } + } + if(matrix[0][1] == 'O'){ + if(matrix[1][1] == 'O'){ + if(matrix[2][1] == 'O'){ + return true; + } + } + } + if(matrix[1][0] == 'O'){ + if(matrix[1][1] == 'O'){ + if(matrix[1][2] == 'O') { + return true; + } + } + } + if(matrix [2][0] == 'O'){ + if(matrix[2][1] == 'O'){ + if(matrix[2][2] == 'O'){ + return true; + } + } + } + return false; } public Boolean isTie() { - return null; + return !(this.isInFavorOfX() || this.isInFavorOfO()); } public String getWinner() { - return null; + if(this.isInFavorOfX()){ + return "X"; + } + if(this.isInFavorOfO()){ + return "O"; + } + return ""; } }