DISEÑO

MENU

Primero se crean los botones que corresponden a las letras de cada palabra del crucigrama. Cada botón ocupará cierta posición en el grid, el cual desplegará el abecedario para que el usuario pueda elegir la letra deseada. Además se crearan 10 botones más los cuales tendrán el número de cada palabra y desplegarán la definición de ésta. Se crea una función la cual revisa y compara la posición de cada letra en cada palabra del crucigrama. Además se creará otra función la cual permitirá evaluar si el usuario gano o peridió. Variables principales utilizadas son: valores1 = ["","","","",""] valores2 = ["","","","","","","","","","",""] valores3 = ["","","","","","","",""] valores4 = ["","","","",""] valores5 = ["","","","","","","",""] valores6 = ["","","","",""] valores7 = ["","","","","",""] valores8 = ["","","","","","",""] valores9 = ["","","","","","","","","","",""] valores10 = ["","","","","","",""] global valores1 global valores2 global valores3 global valores4 global valores5 global valores6 global valores7 global valores8 global valores9 global valores10 palabra1= ["p","i","z","z","a"] palabra2= ["h","a","m","b","u","r","g","u","e","s","a"] palabra3 = ["g","a","l","l","e","t","a","s"] palabra4 = ["c","r","e","p","a"] palabra5 = ["c","o","c","a","c","o","l","a"] palabra6 = ["s","u","s","h","i"] palabra7 = ["w","a","n","t","a","n"] palabra8 = ["f","i","a","m","b","r","e"] palabra9 = ["c","h","a","m","p","u","r","r","a","d","a"] palabra10 = ["l","a","s","a","g","n","a"] mb1 = g.mb(text="?") Este tipo de botón representa cada letra del crucigrama. mb18 = g.mb(text="2.") Este tipo de botón, contiene la definición de cada palabra. abc = ["a","b","c","d","e"….. Los botones desplegarán esta lista de palabras. g.gr(cols=6, cweights=[250], rweights=[250]) Este permite establecer las dimensiones del grid.
 * (a) ****¿Cómo llevará a cabo la solución? Variables y objetos a utilizar. **

**(b) ****Descripción del curso lógico de la solución del problema ** . ( **Narrativo ** ) Lo primero que se debe realizar es importar el módulo Gui, seguidamente se deben definir las dimensiones del canvas y crear el grid en el que se encontrará el crucigrama. Se utilizarán las variables valores1-10, las cuales estarán en blanco (“”) y permitirán evaluar, posición por posición. Estas deben estar definidas como globales para que se puedan utilizar a lo largo del programa. Luego, se realizan los botones (mb.) los cuales permitirán al usuario elegir alguna opción preseleccionada. En el caso de los botones del crucigrama, desplegarán las letras del abecedario y el usuario será capaz de eligir la letra que desee. Los botones son colocados en un orden específico el cual permite que cada botón coincida con cada letra de cada palabra del crucigrama. A cada botón se le asigna una coordenada en el canvas, lo cual permitirá que estos ocupen el orden adecuado. Asimismo, se crean listas que contienen las palabras inscritas en el crucigrama. Estas listas permitirán evaluar la posición de cada letra elegida por el usuario con la posición correcta que ocupa el carácter en la palabra. Para evaluar cada carácter se utilizarán ciclos for..in los cuales evaluarán la posición de cada carácter en las listas. Además, se utilizarán condiciones las cuales evaluarán las diez palabras elegidas y las letras que corresponden a cada una. Si se cumplen las condiciones el usuario ganará. Al tener una letra en alguna posición incorrecta, las condiciones no se cumplirán y por ende el usuario perderá.

**(c) ****Módulos de Python utilizados. Cómo se utilizarán en su programa. ** El modulo principal utilizado es Gui, el cual nos permite utilizar módulos los cuales nos permiten generar botones, títulos, etiquetas(labels), y nos permite invocar funciones dentro de botones lo cual facilitará la ejecución del programa. Se utilizarán un canvas en el cual se inscribirá el crucigrama y un grid en el cual se establecerán las dimensiones de éste. Además, se utiliza el modulo doctest el cual nos permite evaluar y probar la función que retorna un valor.

**(d) ** **Funciones desarrolladas por el programador. ** Se crea la función set_ a la cual se le da como parámetros la letra y el número el cual equivale a la posición de cada letra en cada palabra. En esta función se evalúan las posiciones de las letras elegidas por el usuario con la letra correcta en la que esta debería de encontrarse. Además se define la función check a la cual no se le dan argumentos, lo que realiza esta función es evaluar la letra con cada valor, si estas están correctas, el usuario gana de no ser así el usuario pierde. <span style="font-family: 'Century Gothic',sans-serif;">