Paso 6: Comprobación de un ganador (parte 1)
Hay tres funciones diferentes para buscar una victoria: filas, columnas y diagonales. Equipos tienen que separar en diferentes condiciones porque son todos diferentes en cuanto a arreglos de discos. checkForWin() será nuestra función principal para poner a prueba todos los 3 de estas funciones en cada escenario que ha afectado a la entrada del usuario.
CheckForWin() método: simplemente necesita una instrucción return que insta a las tres funciones diferentes. Si no devuelve verdadero comprobación de las filas para ganar Compruebe las columnas para win, etc.. Dentro de la instrucción return debe parecerse: checkRowsForWin() || checkColumnsForWin() || checkDiagonalsForWin()
Método checkRowsForWin(): estamos bucle a través de las filas para ver si hay ningún ganador. Para ello será necesario uno para el lazo con un if instrucción dentro de ella. Los de lazo se incremento a través del entero que con el fin de comprobar cada fila. para (int i = 0; i < 3; i ++) el si compara cada espacio en la fila uno al otro y le da un valor 'true' si son todos iguales. Por ejemplo si la fila tenía tres equis en una fila, el método devolverá true. Si (checkRowCol (tablero [i] [0], tabla [i] [1], board[i][2]) == true) así, dentro de este si declaración, debe ser r: devuelve verdadero; Y después del bucle, si el método se detiene nunca, el método necesita devolver el que esta fila no tiene tres símbolos coincidentes consecutivos. Por lo tanto, justo antes de cerrar el método con su final '}', escribiremos: devolver false; Satisfacer la necesidad de devolver un valor booleano.
Método checkColumnsForWin(): copiar y pegar el contenido del método checkRowsForWin(). El único cambio será dentro de la fi comunicado. En vez de incrementar a través de las filas, va incrementando a través de las columnas. Mientras que en checkRowsForWin tiene un si declaración que dice: Si (checkRowCol (tablero [i] [0], tabla [i] [1], board[i][2]) == true) checkColumnsForWin() tendrá un if instrucción que dice: Si (checkRowCol (tablero [0] [i], tabla [1] [i], board[2][i]) == true) aparte de eso, todo lo demás en el método sigue siendo el mismo.
Método de checkDiagonalsForWin(): todo escrito puede estar contenido dentro de los paréntesis de una instrucción return(). El primer cheque que vamos a realizar está en la diagonal de la esquina superior izquierda a la esquina inferior derecha. Para ello, revisamos todos los espacios que se incluirían en esta sección. checkRowCol (tablero [0] [0], tabla [1] [1], board[2][2]) == true) entonces tendremos una declaración más, pero nos va a separar los dos por un símbolo OR: ' ||' La segunda instrucción comprobará desde la esquina superior derecha a la esquina inferior izquierda. checkRowCol (tablero [0] [2], tabla [1] [1], board[2][0]) == true) así el producto final del método checkDiagonalsForWin() debe ser un return() interior debe contener la declaración de la primera o la segunda declaración.