1. ¿Cuáles son las entradas? R/ La opción que quiere realizarse en el menú de opciones.

El nombre del primer integrante que va a cruzar el puente, el nombre del segundo integrante que va a cruzar el puente. 2. ¿Cuáles son las salidas? R/ Las instrucciones del juego al escoger la opción 2. El tiempo que queda en la lámpara. Un mensaje que indica si se ganó o se perdió la partida. Un mensaje que indica si una opción ingresada no es válida. 3. ¿Cuáles son las condiciones? R/ No puede ingresarse ningún símbolo, letra o nombre que no sea el de los integrantes. No se puede ingresar en las 2 opciones el mismo integrante. Ningún integrante puede cruzar el puente sin la lámpara. Un máximo de dos personas pueden cruzar el puente a la vez. La pareja cruzará con el ritmo de la persona más lenta. La lámpara estará encendida por 30 segundos únicamente. 4. ¿Cuáles son los procesos? R/ Se ingresa el número de la opción que quiere utilizarse. Todos los integrantes se encuentran del lado derecho, por lo tanto, cuando se comienza el juego, se ingresa el nombre de dos integrantes de la familia al lado izquierdo. Se resta la cantidad de tiempo consumido de acuerdo con el que se

tarde más tiempo. Se regresa a uno de los integrantes al lado derecho se repiten los mismos pasos hasta que todos los personajes hayan cruzado el puente o se acabe el aceite de la lámpara.

a) El primer paso fue crear el módulo funcionesutilesmom.py con las funciones que se utilizan dentro del programa principal. (Ver descripción de funciones) b) Se definieron las variables que se utilizaran en el programa, que nos indican el tiempo con el que dispone cada personaje, la posición original, el tiempo con el que se cuenta en la lámpara y que todavía no se ha ganado el juego. (Ver descripción de variables.) c) Se crean las opciones para el menú, en donde 1 será comenzar el juego, 2 ver instrucciones y 3 salir del programa. d) Se pide al usuario que ingrese una variable por medio de un raw_input y con ayuda del condicional if se muestra la información correcta según la opción que el usuario ingrese.

a) Se muestra el estado original del juego, es decir, todos los personajes del lado derecho del puente y la lámpara con 30 segundos. b) Se pide al usuario que ingrese dos nombres de los personajes que el desee. Esto hará que los personajes cambien de lado. (Esto se hace ya que al principio cuando se definieron las variables, se creo una lista donde todos los personajes estaban en la “derecha” y cuando se ingresa el nombre de uno su estado en la lista pasa a ser “izquierda”. c) Se resta el tiempo del personaje más lento de la pareja. d) Se muestra el estado del juego, mostrando quienes cambiaron de lugar y el tiempo disponible en la lámpara según la opción que el usuario haya escogido. e) Si el usuario ingreso la opción correcta se muestra un mensaje que le indica al usuario que ganó la partida. f) Si el usuario pierde todo el tiempo de la lámpara sin que todos los personajes cruzaran, se muestra un mensaje donde dice que la lámpara se ha apagado por lo tanto se pierde la partida. g) En todo momento, mientras el usuario no ingrese la opción 3, el menú continuará apareciendo después de terminar el juego o después el mostrar las instrucciones.

Para la resolución del problema se utilizaron 6 variables distintas.

 

tiempos: esta variable funciona como una lista, que indica los tiempos que cada uno de los personajes tardará para cruzar el puente. Como es una lista, en el momento en el que el usuario ingrese los personajes que el desee, nos permite descontar el tiempo del más lento de la variable tiempo. tiempo: en esta variable se declara el tiempo con el que se cuenta en la lámpara originalmente, 30 segundos. lugar: al igual que la variable tiempos esta variable funciona como una lista, en este caso nos indica que la posición original de cada uno de los personajes es “derecha”. Debido a que es una lista, nos permitirá cambiar el estado del personaje a “izquierda” una vez se ingrese el nombre de cualquiera en la opción brindada. haganado: esta variable se define para poder indicar cuando el usuario gana la partida. Al principio el valor que toma esta variable es false. Cuando el usuario ingrese la combinación correcta el valor de la variable cambiará a true (esto pasa cuando el estado en la lista de la posición de todos personajes cambia a “izquierda”). Cuando esta variable es true se le indica al usuario que ganó la partida. d: se utiliza la variable d que representa decisión, esta variable toma el personaje que el usuario ingrese por medio de un raw_input.

No se utilizó ningún objeto ya que no se utilizaron clases para la resolución de nuestro problema.

1. Función descontartiempo: Esta función se utiliza para poder tomar el tiempo que se tardó la pareja en cruzar el puente y descontarlo del tiempo disponible en la lámpara. 2. Función moverlado: Esta función verifica del lado en que se encuentra cada integrante y si el usuario lo ingresa, lo cambia de lado, es decir si está a la derecha pasa a la izquierda y viceversa. La lámpara también cambia de lugar pero esta irá siempre con uno de los integrantes. 3. Función imprimirestado: Esta función se utiliza para que el usuario pueda observar cuantos segundos quedan en la lámpara y de qué lado (izquierda o derecha) se encuentran cada uno de los integrantes después de realizar cada movimiento. 4. Función gana: Esta función verifica si de qué lado se encuentran cada uno de los integrantes, si todos llegan a estar del lado izquierdo el usuario gana la partida. 5. Función puedemoverse: Esta función permite ingresar "mover" en la segunda opción para que solamente se mueva un integrante a la vez. 6. Función menuhacer: Esta función se utiliza para desplegar todas las opciones del menú, siempre y cuando la opción que el usuario ingrese sea distinta a 3.

1. Este proyecto nos permitió aprender que un problema se puede resolver de distintas formas, y que el programador debe buscar la forma que se le haga más fácil para así poder crear un programa eficiente. 2. Aprendimos que el modo en que se utilizan los “tabs” al programar en python es muy importante ya que si una de las instrucciones o comandos esta corrida un espacio de más puede afectar todo el problema. 3. Concluimos que al programar debemos hacerlo por bloques, es decir crear una serie de instrucciones y probar si hacen lo deseado, esto se hace para minimizar errores y ahorrar tiempo. 4. Es importante tener en claro que se quiere hacer con el programa antes de comenzar a programarlo, esto hará que se logre crear el programa de manera más fácil. 5. Es importante dejar instrucciones y comentarios necesarios para que cualquier otro programador o usuario logre entender fácilmente el programa.

1. Marzal, A e I. Gracia. Introducción a la programación con python. 2003. Universitat Jaume I. Versión Online. [05/04/2012]. Con acceso en: https://arco.esi.uclm.es/public/doc/book/python.pdf 2. Gonzáles, J. Videos tutoriales para la programación en Python. Videos Online. [07/04/2012]. Disponibles en: http://www.youtube.com/user/gkz2024?feature=watch 3. Ruscitti, H. Como realizar juegos con python y pygames. 2007. Creative Commons. Versión Online. [05/04/2012]. Disponible en: http://www.cafeconf.org/2007/slides/hugo_ruscitti_pygame.pdf

Sign up to vote on this title
UsefulNot useful