Vous êtes sur la page 1sur 20

Nombre de la materia: Programacin de Perifricos Nombre del profesor: Yolanda Prez Pimentel

Nombre de los alumnos: Jos Leonardo Andrade Garca Luis Arturo Gmez Toledo Adriana Yocelin Montero Mndez Jhonatan Cruz Cruz

Cuatrimestre: 4

Grupo: B

Reporte: Examen del 2 corte El Juego de la Ruleta

Fecha: 6 de noviembre de 2013

Observaciones:____________________________________________ ________________________________________________________ ________________________________________________________ ________________________________________________________ _______________________

Introduccin

La programacin en LabVIEW necesita que se tenga conocimientos bsicos y a la vez especficos de este lenguaje de programacin, durante el proceso de resolver el examen se presentaron varios retos, varias complicaciones y sobretodo grandes soluciones a estos casos. La programacin en LabVIEW ciertamente se vuelve fcil cuando se conocen los iconos y las funciones de los controles y los indicadores que se presentan en dicho lenguaje de programacin. El conocimiento adquirido durante las clases del curso nos ayud a pensar y saber solucionar los detalles que se mencionaran durante el desarrollo de este reporte. La evaluacin que se nos asigno fue el juego de LA RULETA, un juego que ciertamente llama mucho la atencin, cabe mencionar que la programacin en este lenguaje es nuevo hasta cierto punto, pues llevamos poco tiempo en la programacin en este lenguaje. Veremos tambin las modificaciones que se realizaron al juego, que sorprendern al usuario. Todo el desarrollo de la programacin del juego se presentara de tal forma que el lector logre ver las posibles dificultades y retos que lleva la programacin, pero sobretodo las soluciones que se pueden dar a los contratiempos.

Desarrollo

Imagen 1 Al explicarnos la temtica del juego y gracias a un video que nos dieron de ayuda fue posible hacer lo que se muestra en la imagen anterior. La idealizacin del problema se fue realizando conforme fuimos analizando el video del examen, nos fijamos en todos los elementos que contena dentro y eso nos fue dando la idea de cmo integrar cada parte que requeramos, nos dimos cuentas que muchas de las cosas que contena el programa ya las habamos hecho en clases, de cierta manera todo lo complementaba. Para realizar la parte del programa de la RULETA primero fue hacer un diagrama de flujo en el cual se deca lo que se quera obtener y ya despus poco a poco al panel frontal se le agregaron los elementos que se queran aparecieran, la primera idea que comenz a tomar forma fue la de la fuerza aleatoria requerida para el giro de la ruleta , esto se hizo en base a los juegos en lnea ya que muchos de estos tienen esta interfaz y ya poco a poco se realiz conforme se encontraban obstculos en la programacin, as como tambin conforme aparecan se resolvan.

Al momento de encender los leds al contrario de las manecillas del reloj se nos complic ya que estos brincaban sin seguir la secuencia y para resolver esto se utiliz el elemento Reverse 1D Array. Los leds se colocaron uno a uno en un cluster utilizando las bases del taller 2 y otros elementos como el Select para vaya disminuyendo la fuerza ( tiempo de espera entre el cambio de un led a otro). Para hacer la suma de los puntos se hicieron comparaciones con varios Select conectados a una variable local del cluster ( donde se encuentran los leds) pasando por un Unbundle By Name de un caso a otro para asignar los premios correspondientes a cada uno y al final se guardaban en un Shift Register que se encuentra en el While Loop. Lo explicado anteriormente se basa cuando se escoge la opcin de un solo jugador, pero si se escoge jugar contra la maquina el programa se complica por las comparaciones que se tienen que hacer a la hora de ver quin es el que gira la ruleta y gracias al uso de la variale local de Puntuacin del PC que hace posible todo eso en cada caso junto si saber si es par o impar para saber el turno en juego.

Imagen 2 La imagen 2 es lo primero que aparece al momento de correr el programa, ya que esta es la portada del juego que se que se hizo por medio de un editor de imagen ( como todas las dems que ilustran el juego).

Imagen 3 La imagen 3 es gracias al elemento Three Button Dialog para ayudarnos a escoger lo que uno quiera realizar.

Imagen 4 La imagen 4 son las instrucciones que aparecen i se presiona el botn indicado, esto es muy importante en el programa ya que todo juego debe de tener instrucciones para saber la temtica de este.

Imagen 5 En la imagen 5 se observan las opciones a elegir para comenzar a jugar , esto se implement para comparar resultados con otro jugador que ser la computadora y al reto que implica hacerlo de este modo.

Imagen 6 En la imagen 6 se muestra cuando se opto por jugar solo, tambin se muestran flechas que indican el sentido del juego y para una mayor explicacin un turno jugado en el cual ya aparece la puntuacin, la fuerza aplicada al presionar girar y el led en que quedo al disminuir la fuerza gradualmente, junto a esto tambin aparece un botn de abandonar para terminar el juego si uno ya no quiere seguir jugando, pero este solo tendr efecto despus de realizar el siguiente giro sin hacer valida la puntuacin ya que a abandonarlo pierdes todo.

Imagen 7 En la imagen 7 ya se muestra un ejemplo pero cuando se da la opcin de jugar contra la PC, esto es muy similar a lo descrito anteriormente

Imagen 8 La imagen 8 es cuando a uno de los participantes le toca RETO y no decide jugarlo yndose con lo acumulado hasta el momento.

La realizacin del Reto La temtica de la parte del Reto es similar a el juego del ahorcado, en el cual uno tiene que adivinar letra por letra para adivinar la palabra escondida y para hacer que esto funcione como tal, aunque un poco diferente es por medio de los iconos y para lograr hacer este programa primero se inici haciendo un diagrama de flujo en la libreta para darnos una idea de cmo deba de funcionar para luego como equipo hablar sobre si estaba bien y las maneras de hacerlo para que de ese modo se hiciera ya en LabVIEW como se pens y requera. Por ese motivo la parte de RETO en el juego se hi zo por aparte, se inici con la idea de hacerlo por medio de Array de String pero como aun no sabamos cmo hacerlo letra por letra y a la vez la otra idea de hacerlo por medio de estructuras y Selects fue ms ptima y ms entendible a nuestro parecer. Despus de descartar la idea anterior empezamos colocando String para colocar una palabra la cual por medio del String Subset se defina la letra que iba a aparecer en cada recuadro del String, la cual por medio de un Select entre un comparador igual y un Shift Register lograban hacer que la letra que uno escriba en el panel frontal si era igual a la comparada apareciera y se quedara en su lugar sino lo era nada iba a aparecer, esto se hicieron en estructuras Case y While Loop. Las cosas que se nos complicaron al principio para la realizacin de este programa fue plantear la idea que tenamos en la mente y el diagrama de flujo en libreta, iniciamos colocando el String principal con la palabra a adivinar y buscar un elemento de la paleta de funciones que nos arroje la letra que queremos en un String en especfico, aqu se nos dificulto ya que no conocemos todos los elementos que nos sirven por falta de practica para hacerlo posible pero luego con el String Subset logramos solucionar uno de los primeros problemas de seleccin de letra, ya despus la otra complicacin era que al ingresar una letra como hacer que aparezca donde se quera y ya despus de seguir probando algunas funciones utilizamos el Select y otros elementos que nos sirvieron de mucho para solucionar el problema, tambin se usaron Shift Register para que los cambios se guardaran(cuando se ingresaba la letra correcta esta aparesca siempre) y ya para

seleccionar una palabra se usaron la estructura Case y varios While Loop para mantener todo unido. Sumado a esto y para hacer ms interesante el juego se agreg un contador que va de 19 a 0 segundos, esto fue fcil de realizar ya que nicamente bamos poniendo en TRUE o FALSE a cada Led dependiendo del nmero que se quera y ya, al principio se hizo por separado y ya al tratar de unir el contador con el RETO fue cuando nos desequilibr, pero ya con Shift Register y en el While Loop interno entre otros complementos se logr sincroniza todo. Y para tener una mejor idea de lo que se hizo a continuacin se muestran varias imgenes con su respectiva descripcin.

Imagen 9 En esta imagen se aprecia como aparecen las instrucciones que son fundamentales a la hora de realizar algo que uno no conoce en el panel frontal usando solamente decoraciones y texto.

Imagen 10 En esta parte se muestran las opciones de cada categora que uno puede elegir donde adems se tiene que presionar el botn de seleccionar para dar inicio al programa (juego) adems del recuadro donde uno ingresa la letra que crea se encuentra escondida para eso aparece tambin el botn de ok indicando que esa es la letra que se quiere ingresar.

Imagen 11 En esta imagen se muestra la otra parte del juego donde se van revelandolas las letras si estas son las correctas y tambin el contador que conforme pasan los segundos se va reduciendo hasta llegar a cero.

Imagen 12

Imagen 13

En esta imagen 13 y 14 se observan los recuadros que aparecen si se logr completar la palabra anteriormente y otro recuadro si no se logr completar correctamente.

Imagen 14 Ya aqu se muestra el panel frontal completo con todos sus elementos ya decorados y haciendo nfasis en lo mencionado anteriormente.

Imagen 15

Al final en esta imagen se muestra el diagrama de bloques completo con todos sus elementos en la parte de superior el cdigo del juego RETO y abajo la parte del contador.

Conclusin
Luis Arturo Gmez Toledo. Este examen me ayudo a reforzar conocimientos en la programacin en el lenguaje de LabVIEW, a poner en prctica los conocimientos que aprend durante las clases, de igual forma a trabajar en equipo y compartir los conocimientos as tambin como aprender de mis compaeros y corregir mis errores de la programacin. Ciertamente este lenguaje de programacin es nuevo y todava me genera cierta incertidumbre pues no tengo mucha experiencia en este. Con lo que se adquiri durante el desarrollo de este examen ciento que es tambin importante practicar la programacin de LabVIEW, conocer los bloques e iconos ms comunes.

Adriana Yoselin Montero Mndez La realizacin del programa del juego la ruleta fue un gran reto que con solo mis conocimientos que he aprendido en clases no podra realizarlo, pero gracias a que fue hecho en equipo tuve la oportunidad de contar con amigos y compaeros que me auxiliaron cuando me encontraba con un problema en la programacin que no poda resolver. Antes del examen mis conocimientos en LabVIEW an eran pocos, ya que al no contar con una mquina para trabajar no poda practicar en casa ni saber para que servan los iconos o elementos de la paleta de funciones y an tengo pequeos errores en los bloques de conexin. Al ser en equipo el examen nos reunimos en la casa de alguien y ah nos dividimos los programas que tenamos que unir para que el juego funcionara como tal.

Adems cuando empezamos a ver la dinmica del juego investigamos como hacer lo que se nos peda encontramos que no hay mucha informacin de LabVIEW para obtener o con nuestro nivel actual entender lo que quieren decirnos, pero gracias a esta investigacin encontramos nuevas formas de resolver nuestros problemas y al mismo tiempo al buscar las formas de resolver lo planteado aprend a usar lo que est en la paleta de funciones, algo muy fundamental ya que con eso se logra hacer el programa como tal, as como tambin resolver problemas al momento de tratar de hacer funcionar lo que uno quiere agregando estructuras o cambiando conexiones. En resumen este tipo de examen fue muy informativo y gracias a este logre que las cosas aprendidas hasta el momento fueran ms claras y sepa mejor como hacer lo que se nos pide para un programa. Jos Leonardo Andrade Garca Este examen resulto muy interesante de tal forma de que fueron necesarias algunas funciones que no conoca, en algunas partes se me complicaba los casos y los cambios en el men de la maquia de estados, as como el giro de los Leds. Fue fascinante en la parte del reto para lograr visualizar los caracteres de la palabra, porque nos confundamos en el momento de la comparacin y la permanencia de las letras, que finalmente se solucion con un Shift Register.

Anexo

En la imagen anterior tenemos un flat sequencestructure, el cual contiene bsicamente el inicio de nuestro programa, se usaron varios elementos los cuales ayudaron a la complementacin del programa, contiene los cases que usamos para los diferentes casos de la situaciones en la cuales es sometido el proceso.

En esta parte del programa vemos la parte de la estructura visual el cual muestra los textos y cantidades que se van acumulando y restando durante corre el programa.

En esta parte concretamos la situacin del tiro de la ruleta utilizando un case que contena el giro, dependiendo la velocidad con la que tirramos iban a depender el nmero de vueltas en el que caera , esto generara un numero aleatorio de giros y no se repetiran

Dependiendo en la forma en la que callera el giro, sera un aumento o un descuento de cantidades que afecta directamente los puntos acumulados, tambin hay un reto que si cae en esa parte manda a esa opcin el cual genera una pantalla que te hace adivinar cierta palabra dependiendo la categora que se seleccione.

En esta parte lo que hacemos es mostrar unos mensajes los cuales advierten que se ha cado en la parte del reto, se prosigue con llamarala parte del programa que se ha hecho por separado la cual complementa el circulo del juego (El panel ).

En esta parte del case que engloba las opciones se muestra la decisin de jugar solo o junto con la computadora, dependiendo la seleccin que uno tome es la que manda a llamar al case.

Para esta parte del case llamado giro, es como se ve la forma en la que actua la ruleta, necesitamos es ver como hacemos prender los leds de a uno por uno en secuencia, para esto usamos un Whilleloop, el cual contiene una funcin que gira la secia de los leds.

La opcin que tenemos ac en el case, es la de salir en el panel general, la parte inferior izquierda, en la cual manda ala accione de parar el programa y salir, por algn motivo que necesitemos detener en la totalidad el programa