Ejercicio - Tres en raya

Hacer el juego del tres en raya para dos jugadores.

  • El tablero será un array de 9 posiciones.
  • El método showTablero(String [] tablero); imprimirá el tablero, con las fichas “X” y “O” dónde correspondan.
  • El juego tendrá un método juegaPlayer(String ficha, String [] tablero) que recibirá como parámetro de entrada el identificador del jugador ("X" o "O") y dónde se le solicitará al jugador el número correspondiente a la posición dónde quiere mover su ficha ("X" o "O").
  • Después de cada tirada, se comprobará si alguien ha ganado, llamando al método evaluateWin(String [] tablero);
  • El método evaluateWin(String [] tablero) mediante sucesivos if todas las posibilidades de que un jugador gane.
  • Utilizaremos la consola de java para ver el tablero.

Ejercicio – tictactoe solo jugador

El método juegaPlayer1() quedará así:


function juegaPlayer1(){
	board[getComputerMove()] = "X";
}

Por tanto, debemos crear un método getComputerMove() que creará una copia del tablero, moverá la ficha sobre esta copia y en función del resultado decidirá dónde mover en el tablero real. Para realizar el movimiento:

  1. Comprobamos si la máquina puede hacer un movimiento y ganar la partida. (utilizaremos el método evaluateWin, creado en el ejercicio anterior).
  2. Comprobamos si tras mover, el humano puede hacer un movimiento y ganar la partida.
  3. Comprueba si hay alguna esquina libre. Si lo está, la máquina mueve a la esquina.
  4. Comprueba si el centro está libre. Si lo está, la máquina mueve al centro
  5. Mueve a cualquiera de las casillas restantes.

  1. ¿Qué es Java?
  2. Eclipse
  3. Resolución de problemas
  4. Clases
  5. Objetos
  6. Hola mundo
  7. Comentarios
  8. Variables
  9. Constantes
  10. Operadores
  11. Lectura de datos
  12. Ejercicios con operadores aritméticos
  13. Estructuras de control
  14. Métodos
  15. Modificador static
  16. Arrays
  17. Ejercicio – juego del ahorcado
  18. Ejercicio - tres en raya
  19. Modificadores de acceso
  20. Constructores
  21. Herencia
  22. Polimorfismo
  23. Abstracción
  24. Interfaces
  25. Clases internas
  26. Garbage Collector
  27. String performance
  28. Encapsulación
  29. Contenedores
  30. Genéricos
  31. Ejercicio alta, baja, modificación y consulta en un ArrayList
  32. Ejercicio – juego de la oca
  33. Recorrer un map
  34. Sobreescritura equals
  35. Sobreescritura hashcode
  36. Sobreescritura compareTo
  37. Excepciones
  38. Implementar Serializable
  39. Enumeraciones
  40. Hilos
icono de mandar un mail¡Contacta conmigo!
contacta conmigoPablo Monteserín

¡Hola! ¿En qué puedo ayudarte?