Ayudas juego 3 en raya

De WikiEducator
Saltar a: navegación, buscar


Un diagrama

http://inventwithpython.com/images/10-1.png

¿Cómo representamos las posiciones del tablero?

http://inventwithpython.com/images/10-2.png

¿Una lista de 10 elementos, despreciando el primero (índice 0)?

Ejemplo: un estado del tablero y su representación

----------- 
 X |   |
----------- 
   | X |
----------- 
 O | O | O
-----------
# la posición 0 no se usa para facilitar el proceso
tablero =  [' ', 'O', 'O', 'O', ' ', 'X', ' ', 'X', ' ', ' ']

¿Cómo sé si una casilla está libre?

No tiene ni O, ni X en esa posición. Los movimientos legales son siempre a casillas libres.

¿Cómo sé que un jugador ha ganado?

Sabemos cuáles son las posiciones ganadoras. Las podemos guardar en una lista. Si tenemos en cuenta la representación de datos anterior:

posiciones_ganadoras = [
    [1, 2, 3],
    [4, 5, 6],
    # completa la lista ...   
]