Juegos en Starlogo TNG - Cuarta parte del libro

  • View
    682

  • Download
    3

Embed Size (px)

DESCRIPTION

Juegos en Starlogo TNG es un libro dedicado a la enseñanza de la programación a través del diseño de videojuegos sencillos con el software desarrollado por el MIT. Cada capítulo explica una serie de juegos en donde se hace uso de estructuras de programación, usadas también en cualquier otro lenguaje.

Text of Juegos en Starlogo TNG - Cuarta parte del libro

Cap

4

CAPTULO IV

Juegos segunda parte Uso de variables: Variables numricas, booleana, de listas, de texto, variables compartidas y variables de agentes. Nuevos bloques de programacin Ideas creativas Problemas planteados

Juegos en StarLogo TNG - Juan Javier Guampe - 2012

Pgina 116

Juego 11: Congelados

?

Problema

Crear un juego de congelados por tiempo en el cual haya un tipo de personajes (Monstruos) que persigan y congelen a otros (Personas). Un tercer personaje (El Jugador) tendr la habilidad de descongelar a las personas para que puedan moverse nuevamente. Despus de 60 segundos se deber indicar quin ha ganado el juego, con base en el nmero de personas congeladas

1. Preparar las condiciones iniciales: - Eliminar las dos tortugas de inicio - Crear los personajes del juego (Breeds) - Ajustar las propiedades de cada personaje: Posicin, tamao, color, etc. 2. Programar a los personajes: - Crear las variables que se necesitan. - Asignar las teclas para el movimiento del Jugador y programar el movimiento de los Monstruos para que pueda perseguir a las personas y congelarlas. - Programar el comportamiento de las personas y de todas las colisiones. 3. Probar 4. Nuevas ideas y problemas propuestos.

Plan

Programando

IDEAS- Podemos tomar algunos elementos del juego anterior, por ejemplo, la persecucin que hacen los Monstruos, el movimiento del Jugador y el movimiento de las Personas - Deberemos usar variables de tipo Boolean para asignar un estado a cada una de las Personas (CONGELADAS DESCONGELADAS) - Para la ejecucin del juego por 60 segundos podemos usar un bloque RUN que ofrece la opcin de tiempo, es similar al bloque Forever aunque limitado al tiempo que se establezca. Despus de estos 60 segundos deberemos contar a las personas que estn congeladas y con base en esta informacin determinar quin gan el juego.

Juegos en StarLogo TNG - Juan Javier Guampe - 2012

Pgina 117

Juego 11: Congelados

Comentarios

Para este juego se crearn tres grupos de familias (Breeds): El Jugador, las Personas y los Monstruos que hemos llamado aqu Congelador. Esta parte es muy similar al juego anterior. La imagen inferior muestra una vista general de la programacin final en el CANVAS, aqu se puede ver claramente que hay tres procedimientos, uno para cada uno de los personajes (Jugador, Personas y Congelador), tambin una configuracin inicial en la seccin Setup, los bloques de colisin en la seccin Collisions y solo unos pocos bloques en la seccin Runtime.

Juegos en StarLogo TNG - Juan Javier Guampe - 2012

Pgina 118

Juego 11: CongeladosComentarios

Esta parte se realiza en la seccin Setup del CANVAS. Aqu se han creado tres grupos de personajes: 1 Jugador 10 Personas 3 Congeladores Tanto el Jugador como las personas han sido coloreadas al inicio, para lo cual ha sido necesario remover su mscara (Model skin off). En el bloque correspondiente a la creacin de las Personas se ha inciado una variable llamada congelado? con una valor inicial falso (False). Esta variable ha sido creada previamente en la seccin de las Personas y es una variable de tipo AGENT BOOLEAN que permitir saber si una persona ha sido o no congelada por los monstruos.

Juegos en StarLogo TNG - Juan Javier Guampe - 2012

Pgina 119

Juego 11: CongeladosComentarios

En la pgina anterior se muestra tambin una imagen con una pequea programacin realizada en la seccin Setup del CANVAS. Aqu se ha utilizado un bloque Run Once y los bloques de texto Say y abc para desplegar un mensaje inicial con las instrucciones del juego. El bloque Run Once realiza las acciones solo UNA VEZ, a diferencia del bloque Forever que las realiza indefinidamente. Al bloque Run Once se ha cambiado su nombre por Instrucciones La imagen de la izquierda muestra un procedimiento llamado Ayudar que permite el control del Jugador con las teclas de flechas del teclado, de forma similar a como se ha hecho en los anteriores juegos.Comentarios

La imagen en la siguiente pgina ensea el procedimiento perseguir realizado en la seccin Congelador del CANVAS. Este procedimiento es similar al que se us en el juego anterior (Rescatar). Antes de realizarlo es necesario crear la variable de tipo Shared number list con el nombre de PersonasCerca. Esta variable se encargar de almacenar una lista con los nmeros de identificacin de las Personas (IDs) que detecte el Congelador a medida que camina por el Spaceland. Esta deteccin es posible gracias al bloque Smell list with que reporta los nmeros de identificacin de los agentes que se encuentren en el radio establecido (Para este caso 10 pasos) y que cumplan con la condicin (En este caso las personas que tengan la variable Congelado? en falso). Cuando la variable tenga al menos un valor, , en otras palabras, la longitud de la lista de nmeros sea mayor a cero (Length>0), el Congelador ir detrs de aquella primera (First) persona detectada. De lo contrario, es decir, cuando no se haya detectado a nadie todava y no haya ningn nmero en la variable, el Congelador deambular por el SPACELAND con movimientos a la derecha, izquierda y hacia adelante.Juegos en StarLogo TNG - Juan Javier Guampe - 2012

Pgina 120

Juego 11: Congelados

Comentarios

La imagen que se muestra en las siguientes dos pginas, si bien es un poco grande, es bastante simple de entender, corresponde al procedimiento llamado Caminar que se realiza en la seccin Personas del CANVAS. Este procedimiento tiene dos funciones, por una lado se encarga de hacer mover a las Personas de una forma aleatoria o al azar, con movimientos hacia adelante, derecha e izquierda, siempre y cuando las personas tengan la variable Congelado? en un valor False falso. Debemos recordar que esta variable se debe crear antes y debe ser de tipo Agent Boolean. Al inicio del juego se ha establecido que esta variable sea False falsa para TODAS las Personas. Durante la ejecucin del juego el valor de la variable puede cambiar. Cada una de las diez Personas tiene SU PROPIA COPIA DE LA VARIABLE y por tanto PERTENECE a cada una de ellas, de tal forma que se puede saber si una persona est o no congelada. Por otro lado, el procedimiento se encarga de desplegar un mensaje cuando el reloj alcanza los 60 segundos, con el resultado final. Para lograr esto se deben contar a las personas congeladas (Color rojo) y las que no estn congeladas (Color azul). Cuando estos nmeros son iguales se mostrar un mensaje de Empate, cuando haya ms personas de color azul que personas de color rojo, se mostrar el mensaje El Jugador ha ganado y cuando no se de ninguna de las dos opciones anteriores, se mostrar en mensaje El congelador ha ganado. Esta estructura se realiza anidando varios bloques IF. El primero es un bloque IF sencillo que verifica si el reloj lleg a 60, el segundo es un bloque IF-ELSE que descarta el empate y el ltimo bloque IF-ELSE permite saber quin ha sido el ganador. Pgina 121

Juegos en StarLogo TNG - Juan Javier Guampe - 2012

Juego 11: Congelados

Comentarios

El bloque Jugar en la siguiente pgina es un bloque RUN con la opcin de TIEMPO, al cual se ha cambiado su nombre. Este bloque es similar al bloque Forever aunque solo ejecuta las acciones por el tiempo establecido en la parte Seconds. Este bloque involucra los tres procedimientos descritos anteriormente. La otra imagen muestra los tres botones que controlan el juego: El bloque Comenzar que es el mismo Setup, el bloque Instrucciones que es un bloque Run Once y el bloque Jugar. La imagen en la siguiente pgina muestra las colisiones entre los personajes. Si el Congelador toca al Jugador, ste muere. Cuando el Congelador toca a las Personas cambian su color a rojo, as como su variable Congelado? a verdadero (True),se emite un sonido y muestran el mensaje Ayuda. Cuando el Jugador toca a las personas de color rojo, stas se vuelve de color azul, cambian su variable a False, se emite un sonido y se muestra el mensaje Gracias.Pgina 122

Juegos en StarLogo TNG - Juan Javier Guampe - 2012

Juego 11: Congelados

Juegos en StarLogo TNG - Juan Javier Guampe - 2012

Pgina 123

Juego 11: Congelados

Comentarios

La imagen final muestra una vista del SPACELAND con los tres personajes del juego: 1 Jugador, 10 Personas y 3 Congeladores, cada uno interactuando y comportndose de acuerdo con la programacin realizada.

Bloques adicionales usadosEste bloque se encuentra en el CAJN Sounds de la pestaa Factory. Este bloque permite reproducir el sonido que se coloque a su derecha. Dentro de StarLogo TNG existen 11 efectos de sonido sencillos que se pueden utiizar en los juegos. Estos bloques son dos de los once efectos de sonido disponibles en StarLogoTNG. Se encuentran en el cajn Sounds de la pestaa Factory

Juegos en StarLogo TNG - Juan Javier Guampe - 2012

Pgina 124

Juego 11: Congelados

- Intenta modificar el juego haciendo que el jugador sea inmune a los congeladores con ayuda de una tecla, en otras palabras, que el jugador pueda protegerse del toque mortal de los congeladores si se presiona una tecla del teclado.Esto sera algo as como un truco de invencibilidad. - Piensa en una forma de TERMINAR el juego sin utilizar el bloque RUN con tiempo de 60 segundos, sino un bloque Forever - Coloca un score o puntaje durante el juego para saber cuntas personas estn siendo congeladas.

PROBLEMAS PROPUESTOS

Juegos en StarLogo TNG - Juan Javier Guampe - 2012

Pgina 125

Juego 12: Jugador vs Computador

?

Problema

Crear un juego en donde el personaje principal compita contra el Computador. El objetivo ser disparar a un blanco en movimiento y el primero que alcance este blanco ser el ganador, una vez que esto ocurra los dos personajes (Jugador y Comp