g = a.gentree(final, 25)
Una vez ejecutado el programa, en la terminal o consola se mostrará el siguiente mensaje:
Solución del juego Comesolo de 15 posiciones:
a1
a2 b2
a3 b3 c3
a4 b4 c4 d4
a5 b5 c5 d5 e5
Escriba el poste que comenzara vacío (usando la notación anterior):
Primero le pedirá ingresar de manera textual en que posición se quiere colocar el poste vacío, se deberá de colocar según la notación de la figura, por lo que se podrá escribir: a1, a2, b2, a3, … o cualquier posición que se desee siempre y cuando se respete la notación teniendo como limite a: e5, además de que solo se debe de escribir una sola posición sin comas ni puntos ni espacios.
Después de haber escrito una posición preguntara lo siguiente:
Escriba la posición final del poste (si no importa escriba: *):
De igual manera deberá de escribirse una posición según la notación mencionada o en su defecto escribir: * para que pueda terminar en cualquier posición.
Una vez que se haya hecho lo anterior comenzara a buscar la solución mediante la expansión de árboles, en caso de encontrar una solución se mostraran los pasos para llegar a ella y en caso contrario mostrara que no se logró encontrar una solución.
Si se quiere volver a jugar, solo debe de volver a ejecutar el programa.
El siguiente tablero es la configuración original (O):
a1
a2 b2
a3 b3 c3
a4 b4 c4 d4
a5 b5 c5 d5 e5
Ahora se acomodará como un triángulo rectángulo (en el código se le llama referencia), los a0 son solamente para completar el arreglo:
a1 a0 a0 a0 a0
a2 b2 a0 a0 a0
a3 b3 c3 a0 a0
a4 b4 c4 d4 a0
a5 b5 c5 d5 e5
La configuración anterior se convertirá a ceros, unos y dos, donde 0 = Poste vacío, 1 = Existencia de poste, 2 = elemento agregado para completar el arreglo, además de agregarse filas j y columnas i:
0 1 2 3 4 j
i| _ _ _ _ _
0| 1 2 2 2 2
1| 1 1 2 2 2
2| 1 1 1 2 2
3| 1 1 1 1 2
4| 1 1 1 1 1
Esta configuración es a la que se hace referencia como triangulo rectángulo (TR) dentro del código y con la cual es posible generar los movimientos de manera más sencilla.