Diseño

**DIAGRAMA DE FLUJO**


Regresar al Inicio

Variables y objetos


====Para lograr que el usuario mueva a todos los jugadores, inicialmente se coloca un vector indicado la presencia de los familiares en su posición. En el momento que se le pregunte que ingrese al familiar uno, este se guardará en el programa como variable ¨x¨, y al segundo integrante como variable "y". Si estos dos integrantes que el usuario ingresó se encuentran en el lado correspondiente, serán trasladados, de lo contrario se le indicará al usuario que el jugador que indicó no se ==== ==== encuentra disponible. Los integrantes cuentan con un tiempo determinado en cruzar el puente, la variable tiempo más alta será la que se restará al tiempo de 30 segundos. Por otra parte python tiene que indicar si el usuario mueve a un solo juador, entonces solo se tomará en cuenta el tiempo de este, si en dado caso elige a dos, python verificará cuál es el tiempo más alto y este será el que se restará. ====

==== Además el juego depende del objeto lámpara, el cual no se ve, pero se sabe que está presente pues es el que indica la dirección del siguiente movimiento. ====

====Para que comprendan de una mejor manera las siguientes funciones a describir, acontinuación se presentan algunas de las variables utilizadas en el programa. ====

 Regresar al Inicio

** Funciones desarrolladas **
====En el programa se crearon dos definiciones para evitar que el usuario ingrese algún número, letra, entre otros que no sea aceptado por el programa creado; en este caso, debido a las necesidades a cubrir se crearon dos. ==== ====La primera, la cual fue llamada "entero": permite que el usuario ingrese únicamente un número entero entre uno y tres incluídos pues estas son las únicas opciones que el menú despliega al usuario, por tanto los únicos comandos que pythonn obedecerá, si en dado caso no se cumple esta condición se le indicará al usuario que ingrese un número válido correspondiente. La segunda función llamada "enterop" es la que nos permite llevar un control de qué integrantes puede ingresar el usuario únicamente, es decir solamente permite que este ingrese un número del 1 al 5, y si en dado caso no se cumple esta condición se le hará saber al usuario hasta la cumpla. ====



====Por otra parte en el momento de crear el programa y jugar notamos la importancia de limitar al programa a no aceptar a cualquier integrante sin importar si estuviese o no en el lado que se encontraba la lámpara, por lo que se creó una función para verificar la posición de los integrantes de la familia, y si estos no se encuentran, se le indicará al usuario que el número no corresponde a un integrante disponible. ====



====La funcion "prsonasnLD" permite que se le despliegue al usuario las posiciones de las personas que estan del lado derecho del puente ya que muestra la presencia de las personas que están de ese lado del vector.====

La funcion "prsonasnLI" le despliega al usuario las posiciones de las personas que estan del lado izquierdo del puente que han sido movidas al segundo vector, correspondiente al lado izquierdo.


====La función "RestarT" se creó para que python fuera verificando cuál de los dos integrantes escogidos por el usuario tarda más tiempo en cruzar el puente, tiempo el cuál será restado a la variable "tiempo" para ir llevando control del tiempo restante con el que cuenta el usuario para cumplir con la meta del juego. Además si en dado caso el usuario decide trasladas a solo un jugador, entonces python verifica esto y toma en cuenta solo el tiempo del familiar que fue seleccionado.====



====La función "Mov" fue creada para que python haga los traslados correspondientes de los integrantes de la familia, según corresponda el turno, el 1 indica que hay presencia del integrante mientras que el 0 indica que está ausente en ese vector.====



===="CambiarLampara" es la función que se creó para llevar un control de la dirección que debe llevar el próximo traslado, ya que los integrantes de la familia pueden cruzar el puente, si solo si, poseen la lámpara para poder ver su trayecto.====



====Se debió crear una función, la cual fue nombrada "Todos" para verificar que: Todos los familiares estén del lado izquierdo del puente, para que así indique si el usuario logró cumplir la meta de trasladarlos.====

Se crearon dos funciones, una llamada "WIN" y otra "LOOSER" las cuales se despliegan si el usuario gana o pierde el juego, respectivamente.


==== Para finalizar se hizo una función llamada "nuevojuego" la cual tiene como tarea "reiniciar" la variables para que: si el usario desea jugar nuevamente, el juego comience desde 0 sin ningún inconveniente. ====

Regresar al Inicio