En este laboratorio, continuarás con tu Proyecto "tres en línea" para hacer que el programa analice el tablero de juego para detectar victorias y empates.
En esta página, te prepararás permitiendo que el programa registre los movimientos que se realizan y enseñándole los grupos ganadores de tres casillas.
Cuando escribiste Tres en línea por primera vez, era fácil detectar movimientos ilegales (moverse a un cuadrado que ya lleva un disfraz de X u O) porque cada objeto podía probar eso sin conocer el resto del tablero de juego. Pero para detectar victorias y empates, el programa necesita una forma de probar el estado del tablero de juego completo, no solo de una pieza individual. Por eso, usarás una variable global, , para rastrear si el cuadrado en cada posición está vacío o si contiene una X o una O.
Aprendiste sobre variables globales en Unidad 2 Laboratorio 1, Página 4: Mantener la puntuación con variables globales.
Cada objeto necesita conocer su propia posición en el tablero para que pueda usar el bloque objeto de
para reemplazar esa posición con una X o una O. Entonces, crearás una variable de objeto, , y cada clon tendrá su propia versión de esta variable.
Una variable del objeto (sprite variable) es como una variable global en el sentido de que no pertenece a un programa en particular, pero sí pertenece a un objeto en particular.
Aprendiste sobre inicialización de variables en Unidad 2, Laboratorio 1, Página 1: Desarrollo de un juego de adivinanzas numéricas con variables de programa.
La forma de hacer una variable de objeto es similar a la forma de hacer variables globales:
Para programar una forma de detectar una victoria, debes determinar qué se considera una victoria. Almacenarás cada triple ganador posible como una lista de tres números de posición (un triple). Por ejemplo, este triple ganador podría representarse como porque la victoria está en las posiciones 3, 5 y 7:
Podrías verificar cada posible ganancia por separado:
Pero eso es demasiado código, especialmente porque tendrás que hacer algo muy similar más adelante, cuando la computadora juegue contra ti. En su lugar, crearás una lista para almacenar todos los posibles triples ganadores para que puedas compararla con el estado actual del juego almacenado por tablero.