Analisis+p2g5

Regresar a menu


 * a) **** Preguntas Insustituibles: **

Crear el juego “The Yacht Game” utilizando Python y la interfaz gráfica (GUI), simulando su funcionamiento como el del juego que se encuentra en la página web siguiente: [] Números Clics del mouse (La opción que escoja el usuario). Números (los punteos). Imágenes (los dados y la de “ganar”). Tiene tres oportunidades para rotar los dados, antes de escoger una opción de punteo. Se deben de llenar todas las casillas de punteo para terminar el juego para ganar. La casilla de 1’s multiplica la cantidad de dados con valor uno por uno. La casilla de 2’s multiplica la cantidad de dados con valor de dos por dos. La casilla 3’s multiplica la cantidad de dados con valor tres por tres. La casilla 4’s multiplica la cantidad de dados con valor cuatro por cuatro, la casilla 5’s multiplica la cantidad de dados con valor de cinco por cinco y la casilla 6’s multiplica la cantidad de dados con valor de seis por seis. Si la suma de las casillas (1’s, 2’s, 3’s, 4’s, 5’s y 6’s) es de 63 o más, entonces se suman 35 puntos al punteo obtenido por las casillas anteriormente descritas. La casilla de “3 de un tipo”, suma el valor de los dados(los que son iguales), media vez haya tres dados iguales. La casilla de “4 de un tipo”, suma el valor de los cuatro dados iguales, si lo hay. La casilla “Full House”, suma 25 puntos cuando existen dos dados con valores iguales y los otros tres con valores iguales. La casilla “small straight” suma 30 puntos cuando se da una secuencia de los valores de 4 dados sin importar el orden en que se den. La casilla “big straight” suma 40 puntos cuando se da una secuencia de los valores de los 5 dados sin importar el orden en que se den. La casilla “Yahtzee” suma 50 puntos cuando se dan los 5 dados con el mismo valor. La casilla “Chance” suma el valor de los dados. Sólo se puede ingresar el punteo en cada casilla una única vez. El botón “Salir” termina el juego y se sale. El botón “Juego nuevo”, reinicia el juego y los punteos. El usuario selecciona el botón “Rotar”, y puede seleccionar los dados que quiera sostener. Al terminar las tres oportunidades para rotar los dados, podrá seleccionar una categoría que cumpla las condiciones y acumular un punteo, en caso que no cumpla las condiciones, podrá siempre seleccionar la categoría y obtener un punteo de 0. Así continúa hasta que se haya seleccionado cada una de las categorías, y se mostrará el punteo total. En caso que las categorías (1’s, 2’s, 3’s, 4’s, 5’s y 6’s) sumen 63 o más puntos, se sumará al punteo 35 puntos de bono. Luego el usuario puede seleccionar el botón de “juego nuevo” o el de “salir”. Si selecciona el botón “Salir”, entonces el juego termina y se sale del programa. Si, en cambio, selecciona el botón “Juego Nuevo” y se reinicia lo que son los punteos y se habilitarán de nuevo todos los botones. La solución propuesta fue crear botones que funcionaran como dados, a los cuales se les asignó una imagen de una cara del dado. Luego, se utilizó el módulo random, creando una lista con todas las imágenes (cada una de las caras de un dado) las que se escogían al azar, y se colocaron en una variable, la cual a su vez se adjuntaba en uno de los botones. Se le asignó un valor a cada una de las imágenes, según la cara del dado y el valor que representaba. Se fueron creando las funciones para cada una de las categorías. Ninguna de las funciones tuvo parámetros, pero cada una tenía sus propias condiciones (por ejemplo: en la categoría tres de un tipo se condicionó para que se sumara cierta cantidad de puntos, dependiendo del valor de los tres dados con la misma imagen). Para cada categoría se creó un botón el cual al ser presionado llamaba a su respectiva función y se colocaba el punteo obtenido en el “label” a la derecha de cada botón, a su vez deshabilitándose dicho botón. Al finalizar de llenar cada una de las categorías se sumaba el resultado de los subtotales, mostrando el punteo total. Al finalizar el juego, se cambió la imagen del canvas por una que mostrara el mensaje “Winner”, y se establecieron los botones de “Salir” y “Juego nuevo”.
 * ¿Cuál es la meta? **
 * ¿Cuáles son los datos? **
 * ¿Cuáles son las entradas? **
 * ¿Cuáles son las salidas? **
 * ¿Cuáles son las condiciones? **
 * ¿Cuál es el proceso? **
 * Narración de la solución propuesta. **

En la creación de este programa no se utilizó ningún tipo de fórmulas, más que sumas para determinar el punteo.
 * b) Fórmulas **

--------