Implementacion:
Se crearon dos clases: palito y matrix en donde se definen las funciones (publicas) relacionadas con el desarrollo del juego, como por ejemplo la validacion de jugadas, el registro de estas, despliegue de mensajes, actualizacion del juego, etc. Para solucionar el problema que surge cuando ambas clases poseen funciones con el mismo nombre (algunas de ellas) se declaro a estas funciones como virtuales (se asegura con esto que se llmara a la version apropiada de la funcion)Tao:
Para desarrolar Tao se utilizo el esquema de la primera figura. Es un procedimiento estructurado, en donde cada bloque desarrolla la funcion que se seņala.Block:
Para desarrolar Block se utilizo el esquema de la siguiente figura. En este caso, el juego no termina hasta que la persona no ordena el puzzle