Analisis+Reversi

Preguntas Insustituibles La meta es hacer un programa que depliegue un tablero, 64 fichas, teniendo disponibles 32 blancas y 32 azules.
 * o ¿Cuál es la meta?

Las salidas del juego, en este caso serian las posiciones de las fichas o monedas.
 * o ¿Cuáles son las salidas?

Las entradas serían cada vez que el usuario hace click en una diferente posición dentro del programa.
 * o ¿Cuáles son las entradas?

Las condiciones son que el juego se debe elaborar en python, se deben la definicion de algunas funciones y la documentación del programa para el mayor entendimiento posible. Además las fichas deben de poder moverse en cualquier direccion disponible.
 * o ¿Cuáles son las condiciones/restricciones?


 *  Reglas del juego

Durante el juego, se emplea un tablero de 8 filas por 8 columnas y 64 fichas idénticas, redondas, blancas por una cara y azules por la otra. A un jugador se le asigna un color y se dice que lleva las fichas de ese color, lo mismo para el adversario con el otro color. Estas cuatro casillas comenzarían vacías y se irían ocupando alternativamente, típicamente comenzando por el jugador que lleva las fichas azules. En este juego, cada jugador dispone de sólo treinta y dos fichas. Empezando por quien lleva las fichas azules los jugadores deben hacer un movimiento por turno, a menos que no puedan hacer ninguno, pasando en ese caso el turno al jugador contrario. El movimiento consiste en colocar una ficha de forma que flanquee una o varias fichas del color contrario y voltear esas fichas para que pasen a mostrar el propio color. Se voltean todas las fichas que se han flanqueado en ese turno al colocar la ficha del color contrario. Esas fichas, para que estén flanqueadas, deben formar una línea continua recta (diagonal u ortogonal) de fichas del mismo color entre dos fichas del color contrario (una de ellas la recién colocada y la otra ya presente). En el siguiente ejemplo juegan las blancas donde indica la flecha y se puede ver qué fichas se voltea. La partida finaliza cuando ningún jugador puede mover (normalmente cuando el tablero está lleno de fichas) y gana quien en ese momento tenga sobre el tablero más fichas mostrando su color.

El proceso realizado fueron los diferentes clicks, cambiando de posicion las fichas y cambiando sus colores.
 * <span style="color: #00ff00; font-family: 'Times New Roman',Times,serif; font-size: 140%;">¿Cuáles son los procesos/cálculos?

<span style="color: #00ff00; font-family: 'Times New Roman',Times,serif; font-size: 140%;"> No hay, ya que es solo de hacer click en los espacios vacios y/o permitidos.
 * <span style="color: #00ff00; font-family: 'Times New Roman',Times,serif; font-size: 140%;">Programación defensiva: condiciones que deben cumplir los datos que ingrese el usuario.


 * <span style="color: #00ff00; font-family: 'Times New Roman',Times,serif; font-size: 140%;"> ¿Cuales son las repeticiones en el programa?
 * 1) <span style="color: #00ff00; font-family: 'Times New Roman',Times,serif; font-size: 140%;">Los espacios vacios
 * 2) <span style="color: #00ff00; font-family: 'Times New Roman',Times,serif; font-size: 140%;">Posiciones de las fichas
 * 3) <span style="color: #00ff00; font-family: 'Times New Roman',Times,serif; font-size: 140%;">Turnos de los jugadores
 * 4) <span style="color: #00ff00; font-family: 'Times New Roman',Times,serif; font-size: 140%;">El reloj
 * 5) <span style="color: #00ff00; font-family: 'Times New Roman',Times,serif; font-size: 140%;">Los movimientos validos o permitidos
 * 6) <span style="color: #00ff00; font-family: 'Times New Roman',Times,serif; font-size: 140%;">Actualizacion del canvas
 * 7) <span style="color: #00ff00; font-family: 'Times New Roman',Times,serif; font-size: 140%;">El calculo del fin del juego
 * 8) <span style="color: #00ff00; font-family: 'Times New Roman',Times,serif; font-size: 140%;">El analisis de cada jugada

<span style="color: #00ff00; font-family: 'Times New Roman',Times,serif; font-size: 140%;">TkInter (de TK Interface) es un módulo que nos permite construir interfaces gráficas de usuario multiplataforma en Python utilizando el conocido toolkit Tk. Python incluye este módulo por defecto, lo que hace que sea un tookit muy popular <span style="color: #00ff00; font-family: 'Times New Roman',Times,serif; font-size: 140%;">Init: Es un modulo activado.
 * <span style="color: #00ff00; font-family: 'Times New Roman',Times,serif; font-size: 140%;">Funciones

<span style="font-family: 'Times New Roman',Times,serif; font-size: 140%;">MENU