Investigacion+Corta

 Erick F. Velasquez Tobar 09081 Regresar a Home  Juan Jose Paiz Leiva 08919

= Investigación corta =  //Preguntas Insustituibles://  ¿Cual es la meta?  Ayudar a los misioneros y caníbales a llegar a la otra orilla del lago, utilizando una balsa para dos ocupantes.  ¿Cuales son los datos?
 *  Canibles.
 *  Misioneros.
 *  Lago.
 *  balsa.
 *  orillas del lago.

 ¿Condiciones o restricciones?  - Son tres caníbales.  - Son tres misioneros.  - Si hay mas caníbales que misioneros en una orilla del río, los caníbales se comen a los misioneros. <span style="display: block; font: normal normal normal 12px/normal Helvetica; margin: 0px; text-align: justify;">- El lago tiene dos orillas. <span style="display: block; font: normal normal normal 12px/normal Helvetica; margin: 0px; text-align: justify;">- Los misioneros y caníbales tienen que cruzar por una balsa en la que caben dos ocupantes solamente. <span style="display: block; font: normal normal normal 12px/normal Helvetica; margin: 0px; text-align: justify;"> ¿Procedimiento para lograrlo? <span style="display: block; font: normal normal normal 12px/normal Helvetica; margin: 0px; text-align: justify;">
 * 1) <span style="display: block; font: normal normal normal 12px/normal Helvetica; text-align: justify;"> Tomar un caníbal y un misionero, y llevarlos del otro lado.
 * 2) <span style="display: block; font: normal normal normal 12px/normal Helvetica; text-align: justify;"> Dejar al caníbal del otro lado y regresar con el misionero.
 * 3) <span style="display: block; font: normal normal normal 12px/normal Helvetica; text-align: justify;"> Bajar al misionero y tomar dos caníbales, y trasladarlos.
 * 4) <span style="display: block; font: normal normal normal 12px/normal Helvetica; text-align: justify;"> Bajar un caníbal y regresar con el otro.
 * 5) <span style="display: block; font: normal normal normal 12px/normal Helvetica; text-align: justify;"> Bajar al caníbal y tomar dos misioneros y trasladarlos al otro lado.
 * 6) <span style="display: block; font: normal normal normal 12px/normal Helvetica; text-align: justify;"> Estando del otro lado, dejamos un misionero y tomamos un caníbal y los trasladamos.
 * 7) <span style="display: block; font: normal normal normal 12px/normal Helvetica; text-align: justify;"> Bajar al caníbal, y tomar un misionero luego se trasladan al otro lado.
 * 8) <span style="display: block; font: normal normal normal 12px/normal Helvetica; text-align: justify;"> Bajar a los dos misionero y tomar el caníbal
 * 9) <span style="display: block; font: normal normal normal 12px/normal Helvetica; text-align: justify;"> regresar por otro caníbal
 * 10) <span style="display: block; font: normal normal normal 12px/normal Helvetica; text-align: justify;"> Bajar un caníbal y regresar por el ultimo.

<span style="display: block; font: normal normal normal 12px/normal Helvetica; margin: 0px; text-align: justify;"> Respuesta: <span style="display: block; font: normal normal normal 12px/normal Helvetica; margin: 0px; text-align: justify;"> Los tres Caníbales y los tres misioneros se encuentran en la otra orilla del lago.

<span style="color: #ff0000; font-family: Helvetica; font-size: 14px; font: normal normal normal 12px/normal 'Big Caslon'; margin-bottom: 6px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-height: 14px;"> //Diseño// //://

<span style="color: #3642ff; font-family: Helvetica; font: normal normal normal 12px/normal 'Big Caslon'; letter-spacing: 0px; margin-bottom: 6px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-height: 14px;">__¿Como se lleva a cabo la solución?__

<span style="display: block; font: normal normal normal 12px/normal Helvetica; margin: 0px; text-align: justify;"> En el presente juego, denominado misioneros y caníbales, existen siete objetos y dos variables. Tres de los objetos, son Caníbales, que se caracterizan, porque se pueden comer a los misioneros si estos se encuentran en menor numero. Luego, están los otros tres objetos, que son los monjes, que como ya se menciono anteriormente, estos pueden ser comidos por los caníbales. Por ultimo, se tiene al barco, que es el encargado de llevar a los misioneros y caníbales a la otra orilla del lago. En cuanto a las dos variables, estas son el lado derecho y el lado izquierdo, donde se posicionan los objetos. <span style="display: block; font: normal normal normal 12px/normal Helvetica; margin: 0px; text-align: justify;"> Para llevar a cabo la solución, primero debemos subir a un caníbal y a un misionero al barco, y trasladarlos de lado derecho, donde bajamos al caníbal y regresamos al lado izquierdo con el misionero. Luego bajamos al misionero, y nos llevamos a dos caníbales. Estando en el lado derecho, bajamos a un caníbal, y regresamos al lado izquierdo con el otro. luego bajamos a este caníbal, y nos llevamos a dos monjes al lado derecho. luego bajamos a un misionero y tomamos a un caníbal, luego los regresamos al lado izquierdo. Ahora bajamos al caníbal, y tomamos al misionero. ahora llevamos a estos dos caníbales al lado derecho, en donde los bajamos y tomamos al único caníbal que esta en la orilla derecha, para que regrese por los otros dos caníbales restantes. <span style="color: #3642ff; display: block; font: normal normal normal 12px/normal Helvetica; margin: 0px; text-align: justify;"> __Descripción del Curso Lógico:__ <span style="display: block; font: normal normal normal 12px/normal Helvetica; margin: 0px; text-align: justify;"> Como se ha mencionado anteriormente, el juego tiene 7 objetos y dos variables. Los Misioneros, reciben las variables x1, x2, x3 respectivamente, y los caníbales, reciben las variables y1, y2, y3 respectivamente. El barco, recibe las variables, casa1, casa2 y var que controlan las posiciones de los tripulantes, y la cantidad los que hay en el barco. <span style="display: block; font: normal normal normal 12px/normal Helvetica; margin: 0px; text-align: justify;"> Las dos variables que son las orillas de lagos, reciben los contadores. La orilla derecha, tiene los contadores para caníbales que están en el lado derecho y el de monjes que están en el lado izquierdo. La orilla izquierda recibe contadores similares a los de la orilla derecha, solo que estos analizan los objetos de la orilla izquierda. <span style="display: block; font: normal normal normal 12px/normal Helvetica; margin: 0px; text-align: justify;"> Ya habiendo asignado todos los contadores y variables, se crean las condiciones, para subir y bajar a alguien del barco; dependiendo de la acción realizada se suma o se resta 1 a la variable var, para saber si ya esta lleno o no el barco. habiendo aprobado, esta condición, se mueve el barco, sumando un numero, que representa la cantidad de pixeles que debe de moverse. Ya habiendo llegado al otro lado, se evalúan las condiciones para ver si en alguna orilla hay mayor numero de caníbales que de Misioneros. De ser así, aparece un mensaje avisando que perdió. De lo contrario sigue jugando hasta que lleve a los Misioneros y Caníbales del otro lado del lago. Cuando pasa a todos los personajes, aparece un mensaje avisando que ha ganado. <span style="display: block; font: normal normal normal 12px/normal Helvetica; margin: 0px; min-height: 14px; text-align: justify;"> __Módulos de Python utilizados:__
 * <span style="display: block; font: normal normal normal 12px/normal Helvetica; margin: 0px; text-align: justify;"> pygame: Es el paquete de nivel superior
 * <span style="color: #ed0000; display: block; font: normal normal normal 12px/normal Helvetica; margin: 0px; text-align: justify;">
 * <span style="display: block; font: normal normal normal 12px/normal Helvetica; margin: 0px; text-align: justify;"> sys: Es el que permite el usuario pueda interactuar con python.
 * <span style="color: #ed0000; display: block; font: normal normal normal 12px/normal Helvetica; margin: 0px; text-align: justify;">
 * <span style="display: block; font: normal normal normal 12px/normal Helvetica; margin: 0px; text-align: justify;"> pygame.locals: Permite utilizar variables y constantes del paquete de nivel superior.
 * <span style="color: #ed0000; display: block; font: normal normal normal 12px/normal Helvetica; margin: 0px; text-align: justify;">
 * <span style="display: block; font: normal normal normal 12px/normal Helvetica; margin: 0px; text-align: justify;"> pygame.mixer.music.load: Permite cargar la música.
 * <span style="color: #ed0000; display: block; font: normal normal normal 12px/normal Helvetica; margin: 0px; text-align: justify;">
 * <span style="display: block; font: normal normal normal 12px/normal Helvetica; margin: 0px; text-align: justify;"> pygame.mixer.music.play: Permite controlar la reproducción de la música.
 * <span style="color: #ed0000; display: block; font: normal normal normal 12px/normal Helvetica; margin: 0px; text-align: justify;">
 * <span style="display: block; font: normal normal normal 12px/normal Helvetica; margin: 0px; text-align: justify;"> pygame.quit: permite salir del sistema.
 * <span style="color: #ed0000; display: block; font: normal normal normal 12px/normal Helvetica; margin: 0px; text-align: justify;">
 * <span style="display: block; font: normal normal normal 12px/normal Helvetica; margin: 0px; text-align: justify;"> pygame.font.init: modulo usado para cargar y dibujar fuentes
 * <span style="color: #ed0000; display: block; font: normal normal normal 12px/normal Helvetica; margin: 0px; text-align: justify;">
 * <span style="display: block; font: normal normal normal 12px/normal Helvetica; margin: 0px; text-align: justify;"> pygame.event.get: modulo usado para poder usar el teclado.

<span style="color: #3642ff; display: block; font: normal normal normal 12px/normal Helvetica; margin: 0px; text-align: justify;"> __Funciones desarrolladas por el programador:__
 * <span style="display: block; font: normal normal normal 12px/normal Helvetica; margin: 0px; text-align: justify;"> //SonidoMonje//: Carga el sonido de selección del monje y permite que sea reproducido.
 * <span style="display: block; font: normal normal normal 12px/normal Helvetica; margin: 0px; text-align: justify;"> //SonidoCaníbal:// Carga el sonido de selección del caníbal, y permite sea reproducido.
 * <span style="display: block; font: normal normal normal 12px/normal Helvetica; margin: 0px; text-align: justify;"> //SonidoPerdio:// Carga el sonido y permite reproducirlo cuando se cumplen las condiciones para perder.
 * <span style="display: block; font: normal normal normal 12px/normal Helvetica; margin: 0px; text-align: justify;"> //SonidoGano:// Carga el sonido y permite ser reproducido cuando se cumplen las condiciones para ganar.
 * <span style="display: block; font: normal normal normal 12px/normal Helvetica; margin: 0px; text-align: justify;"> //SonidoBarco:// Carga el sondo de movimiento del barco, y permite que sea reproducido cuando se mueve barco.

<span style="color: #3642ff; display: block; font: normal normal normal 12px/normal Helvetica; margin: 0px; text-align: justify;"> __Conclusiones:__
 * <span style="display: block; font: normal normal normal 12px/normal Helvetica; margin: 0px; text-align: justify;"> El presente proyecto, nos ha servido, para darnos cuenta que cuando uno desea hacer las cosas, puede lograr resultados importantes.
 * <span style="display: block; font: normal normal normal 12px/normal Helvetica; margin: 0px; text-align: justify;"> Pudimos darnos cuenta, que cuando uno trabaja en equipo en logra mejores resultados.
 * <span style="display: block; font: normal normal normal 12px/normal Helvetica; margin: 0px; text-align: justify;"> El proyecto, nos ayudo a poner en practica, toda la teoría que hemos estado aprendiendo en estos meses.

<span style="color: #437aff; display: block; font: normal normal normal 12px/normal Helvetica; margin: 0px; text-align: justify;"> __Bibliografía:__
 * <span style="color: #2b00ae; display: block; font: normal normal normal 12px/normal Helvetica; margin: 0px; text-align: justify;">[|__http://www.losersjuegos.com.ar/traducciones/pygame__]
 * <span style="color: #2b00ae; display: block; font: normal normal normal 12px/normal Helvetica; margin: 0px; text-align: justify;">[|__http://www.pygame.org/news.html__]
 * <span style="color: #2b00ae; display: block; font: normal normal normal 12px/normal Helvetica; margin: 0px; text-align: justify;">[|__http://www.pygame.org/wiki/tutorials__]