diseños20g3

Menú



**__Variables y objetos a utilizar__** Para poder llevar a cabo nuestro programa decidimos crear una clase en la que se colocó los atributos y los métodos que tendían los objetos. Una vez instanciada esta clase, se establecieron las distintas funciones que nos permitirían colocar las cartas en la pantalla, voltearlas cuando el jugador lo deseara, aumentar de nivel al agregar una carta cada vez que ganara y finalizar el juego al completar las diez cartas. También se utilizaron las listas que nos ayudaron a agrupar las fotos de las cartas originales y las inversas pues estas serían invocadas en las funciones ya descritas.

 Lo primero que se realizó fue importar el módulo de Tkinter, pues deseábamos utilizar las funciones de este módulo. Luego, se estableció una Clase para crear una ventana. Una vez establecida la clase, se definió la primera función llamada _init, la cual nos permitió inicializar la clase. A esta función se le asignó los contadores del juego, la lista de cartas que se muestran y las que se pueden manipular, se declaró el marco y se instanció el objeto. A esta misma función se le asignó la posición de las cartas con ayuda de los botones y se etiquetaron. Después, se creó una función llamada “ponercartas”, la cual nos permitió escoger las cartas al azar y colocarlas en sus posiciones para que se asemejaran al reflejo de un espejo. Luego, se creó la función Voltear, la cual le permite al usuario darle vuelta a las cartas invocando a su inversa. Además, si ganó el primer nivel, esta función me permite continuar con los siguientes niveles. Luego, se creó otra función llamada Gano, la cual revisa si el jugador ganó la partida. Si sí ganó, entonces el objeto de self.gano recibe de parámetro a la función Gano y me permite subir de nivel al agregar una carta más a la ventana. Una vez que complete el juego con las diez cartas, el jugador gana la partida y finaliza el juego .
 * __Descripción del curso lógico de la solución del problema__**

 **__Funciones utilizadas: __**      **__Descripción de las variables principales y módulos desarrollado__** **__s__ ** Para nuestro programa se utilizó el módulo de Tkinter y se emplearon las distintas funciones de este módulo: Por ejemplo, en Tkinter hay una clase llamanda Botton, para crear botones. A La clase que contiene un objeto determinado, se le puede llamar también el tipo de ese objeto. Además del módulo de interfaz de Tk, Tkinter incluye una serie de módulos de Python. Los dos módulos más importantes son el Tkinter propio módulo, y un módulo llamado Tkconstants. La primera importa automáticamente la última, de modo que para utilizar Tkinter, todo lo que necesitas hacer es importar un módulo 
 * <span style="color: #893e89; font-family: Verdana,Geneva,sans-serif;">_init(self): esta función inicializaba la clase. Recibía como parámetro al objeto self, y tenía a su vez asignado los contadores de los puntos y las cartas, así como la lista de las imágenes de las cartas empleadas. Esta función se encarga de mostrar el título y las instrucciones del juego, así como de crear el espacio en donde irán colocados los botones y las cartas.
 * <span style="color: #893e89; font-family: Verdana,Geneva,sans-serif;">ponercartas(self, numero): esta función recibe como parámetro al objeto self y número, no devuelve ningún valor. Ella se encarga de ir colocando las cartas conforme van apareciendo en la pantalla, pues las coloca asemejando el reflejo de un espejo. Además, me permite posicionarlas en las dos filas que contienen 5 cartas cada una para que se muestren en ese orden.
 * <span style="color: #893e89; font-family: Verdana,Geneva,sans-serif;">Voltear(self, a): recibe de parámetro al objeto self y la variable “a”. No devuelve ningún valor. Esta función se encarga de asignar las cartas volteadas a las cartas que el jugador desea voltear, por lo que invoca a la carta inversa para la original o la original para su inversa. También, permite agregar una carta a la vez a medida que aumenta de nivel.
 * <span style="color: #893e89; font-family: Verdana,Geneva,sans-serif; font-weight: normal;">Gano (self, numero): recibe de parámetro al objeto self y numero y no devuelve un valor. Esta función se encarga de revisar si el jugador ganó el nivel jugado.
 * <span style="color: #893e89; font-family: Verdana,Geneva,sans-serif; font-size: 10pt;">Jugar(self): recibe como parámetro el objeto self. No devuelve ningún valor. Esta función me permite mostrar la siguiente carta a medida que sube de nivel el jugador.
 * <span style="color: #893e89; font-family: Verdana,Geneva,sans-serif; font-size: 10pt; font-weight: normal;">Clase en python: **<span style="color: #893e89; font-family: Verdana,Geneva,sans-serif; font-size: 10pt; font-weight: normal;"> es un lenguaje de programación para la construcción de objetos de esa clase. Las clases son como una plantilla genérica a partir de la cuál se instancian los objetos. Es la plantilla que define qué atributos y métodos tendrán los objetos de esa clase.
 * <span style="color: #893e89; font-family: Verdana,Geneva,sans-serif; font-size: 10pt; font-weight: normal;">_init__:__ **<span style="color: #893e89; font-family: Verdana,Geneva,sans-serif; font-size: 10pt; font-weight: normal;"> El método i<span style="color: #893e89; font-family: Verdana,Geneva,sans-serif;">nit, con una doble barra baja al principio y final del nombre, se ejecuta justo después de crear un nuevo objeto a partir de la clase, proceso que se conoce con el nombre de instanciación. El método init sirve, como sugiere su nombre, para realizar cualquier proceso de inicialización que sea necesario.
 * <span style="font-family: Verdana,Geneva,sans-serif; font-size: 10pt;"> <span style="color: #893e89; font-family: Verdana,Geneva,sans-serif; font-weight: normal;">init__(self, args) :** <span style="color: #893e89; font-family: Verdana,Geneva,sans-serif; font-size: 10pt; font-weight: normal;">Método llamado después de crear el objeto para realizar tareas de inicialización
 * <span style="color: #893e89; font-family: Verdana,Geneva,sans-serif; font-size: 10pt; font-weight: normal;">Metodos: **<span style="color: #893e89; font-family: Verdana,Geneva,sans-serif; font-size: 10pt; font-weight: normal;">Son formas de codificar, algo específico de una clase. Se hace con códigos y texto. Por ejemplo hay métodos para crear y modificar cosas a la clase Botones.
 * <span style="color: #893e89; font-family: Verdana,Geneva,sans-serif; font-size: 10pt; font-weight: normal;">Tkinter **<span style="color: #893e89; font-family: Verdana,Geneva,sans-serif; font-size: 10pt; font-weight: normal;">: El módulo (biblioteca compartida) Tkinter ( "Tk") es la interfaz estándar de Python para la barra de herramientas de GUI. Tanto Tk y Tkinter están disponibles en la mayoría de plataformas Unix, así como en sistemas Windows y Macintosh.
 * <span style="color: #893e89; font-family: Verdana,Geneva,sans-serif; font-size: 10pt; font-weight: normal;">Botones: **<span style="color: #893e89; font-family: Verdana,Geneva,sans-serif; font-size: 10pt; font-weight: normal;"> Para hacer simples botones, para ejecutar un comando o una operación. Sus propiedades son: (text, bitmap, or image)
 * <span style="color: #893e89; font-family: Verdana,Geneva,sans-serif; font-size: 10pt; font-weight: normal;">Frames: **<span style="color: #893e89; font-family: Verdana,Geneva,sans-serif; font-size: 10pt; font-weight: normal;">Una ventana contenedora. Este marco puede tener borde y fondo, y se usa para agrupar ventanitas cuando se crea una aplicación o disposición de dialogo. Propiedades: frame = Frame(width=768, height=576, bg="", colormap="new")

<span style="color: #800080; font-family: Verdana,Geneva,sans-serif;">