Está en la página 1de 52

Cap

CAPTULO II

Empezando a programar Bloques bsicos de programacin Programas sencillos

Juegos en StarLogo TNG - Juan Javier Guampe - 2012

Pgina 12

Empezando a programar Convenciones


Para un mejor entendimiento de los juegos, se emplear a lo largo del libro las siguientes convenciones:

Problema
Comentarios

Plan

Ideas Programando

El Canvas es el espacio de programacin, all se deben ensamblar los bloques organizadamente, por esta razn el rea est dividida en secciones marcadas con los nombres: TURTLE, EVERYONE, SET UP, RUNTIME y COLLISIONS. Cuando abrimos StarLogo TNG se mostrarn por defecto dos tortugas ubicadas en el Spaceland, a pesar de no haber hecho ninguna accin en el escenario de programacin o Canvas. Por esta razn, uno de los primeros pasos es el de preparar las condiciones iniciales del juego, como por ejemplo: Nmero de personajes, tamao, posicin, colores, entre muchos otros detalles. Esta primera fase se realiza en la seccin SET UP del Canvas.
Pgina 13

Juegos en StarLogo TNG - Juan Javier Guampe - 2012

Empezando a programar

Problema

Cmo crear y controlar a un personaje en un juego?

Programando

1. Preparar las condiciones iniciales: - Eliminar las dos tortugas de inicio - Crear 1 personaje - Ajustar su tamao y otras propiedades 2. Asignar las teclas que controlarn al personaje 3. Probar y hacer modificaciones

Plan

Comentarios

En StarLogo TNG se utilizan bloques de programacin que se ensamblan como las fichas de un rompecabezas. Estas fichas estn agrupadas por pestaas y categoras. Hasta el momento se han usado algunos bloques de las categoras Setup and Run, Traits y Shapes que se encuentran en la pestaa Factory y de la pestaa My Blocks se utiliz la categora Turtles.
Juegos en StarLogo TNG - Juan Javier Guampe - 2012

Pgina 14

Empezando a programar

Despus de preparar las condiciones iniciales en la parte SETUP del CANVAS, es hora de ensamblar los bloques correspondientes al movimiento del personaje, esto se hace en la seccin RUNTIME del CANVAS como se muestra en la imagen superior. En esta parte se han usado algunos bloques de la categora Movement, Logic y Controls de la pestaa Factory que es la que aparece por defecto al iniciar el programa. Al abrir cada categora se pueden ver los bloques de programacin disponibles, as como una pequea descripcin, en ingls, al ubicar el puntero del mouse sobre dicho objeto. Las categoras tambin se pueden llamar CAJONES, pues se pueden abrir como cajones de la vida real y dentro de ellos existirn objetos, que en nuestro caso son los bloques de programacin. Despus de ensamblar estos bloques es posible ir al SPACELAND, que es la ventana de color verde, y probar que podemos controlar al personaje con las flechas del teclado. Pgina 15

Comentarios

Ideas
Esta es otra forma de programar el movimiento de un personaje en un juego. Utiliza casi los mismos bloques, aunque con una pequea diferencia. Las dos formas tienen ventajas y desventajas.

Juegos en StarLogo TNG - Juan Javier Guampe - 2012

Empezando a programar

Bloques utilizados en el ejemplo


Este bloque se encuentra en el CAJN SetUp and Run y es usado en todos los juegos que se explicarn en el libro. Dentro de l se deben colocar los bloques que determinan las condiciones iniciales de cada programa. Siempre se debe colocar en la seccin del mismo nombre en el CANVAS y una vez colocado all tambin aparecer reflejado en el SPACELAND, especficamente en una pequea ventana llamada RUNTIME. Al dar click en este botn se establecern las condiciones iniciales que hayamos programado. Este bloque se encuentra en el CAJN SetUp and Run y es usado para eliminar todo lo que haya en el SPACELAND, tanto los personajes como los cambios que se hallan realizado al TERRENO. En el ejemplo, este bloque se utiliz para borrar las dos tortugas iniciales. Este bloque se encuentra en el CAJN Turtles de la pestaa My Blocks. Se utiliza para crear personajes y asignar algunas propiedades. El bloque tiene un espacio num para el nmero de personajes y una seccin do para las propiedades. En el ejemplo se us para crear un solo personaje y asignar algunas propiedades como el tamao (Set size) y la forma (Set Shape). Son bloques de nmeros que pueden ser usados en diferentes partes del programa. Se pueden encontrar en el CAJN Math de la pestaa Factory. Una forma mucho ms rpida de encontrar estos bloques es escribir directamente con el teclado el nmero indicado e inmediatamente aparecer en el CANVAS.

Este bloque que se encuentra en el CAJN Traits de la pestaa Factory se utiliza para determinar el tamao del personaje. El bloque necesita de un nmero que se encaja en la parte derecha. Este bloque ayuda a seleccionar una figura para el personaje que se utilice, tambin se encuentra en el CAJN Traits de la pestaa Factory. StarLogo TNG pone a disposicin algunas figuras o formas. Las formas o figuras disponibles en StarLogo TNG se encuentra en el CAJN Shapes de la pestaa Factory. Este bloque se usa en conjunto con el bloque Set Shape. Cuando no se define ninguna figura, StarLogo TNG coloca por defecto la imagen de una tortuga, la cual ha sido la imagen que ha identificado al programa LOGO por muchos aos. Este bloque se encuentra en el CAJN Set Up and Run de la pestaa Factory. Se debe colocar en la seccin RUNTIME del CANVAS y al igual que el bloque SETUP, este bloque tambin se ve reflejado en el SPACELAND. Dentro de l se colocan las acciones que se deseen ejecutar mientras el bloque est en operacin. Tanto para iniciar como para detener las acciones se debe dar un Click sobre l.
Este bloque se encuentra en el CAJN Logic de la pestaa Factory. Se trata de un bloque muy importante cuya funcin es usada por todos los lenguajes de programacin. El bloque se encarga de ejecutar una serie de acciones cuando una condicin se cumple. En nuestro ejemplo la condicin que se debe cumplir primero es si alguna de las teclas (Arriba, abajo, izquierda o derecha) ha sido presionada y en caso de ser cierta esta condicin, se deben ejecutar las acciones que aparecen en la parte then del bloque, que en nuestro ejemplo es ir adelante (Forward), ir atrs (Back) o girar a la derecha o izquiera (Right o Left) Este bloque se encuentra en el CAJN Controls de la pestaa Factory. En el ejemplo se utiliz como la condicin del bloque anterior (if-test-then), de esta forma si la flecha Arriba (KEYBOARD UP ARROW) se ha oprimido, entonces se ejecutarn las acciones que aparecen en la parte then del bloque IF. De igual forma se usaron tres bloques ms, cada uno para las otras tres opciones de movimiento (Abajo, Izquierda y Derecha). Por defecto solo aparece el botn de flecha Arriba y los otros se seleccionan con ayuda del cursor del mouse, como se muestra en la imagen.

Juegos en StarLogo TNG - Juan Javier Guampe - 2012

Pgina 16

Empezando a programar
Este bloque se encuentra en el CAJN Movement de la pestaa factory y es usado para asignar un movimiento hacia adelante de un personaje. En la seccin steps del bloque se debe colocar un nmero y ste determina cuan lento o rpido ser dicho movimiento. Este bloque se encuentra en el CAJN Movement de la pestaa factory y es usado para asignar un movimiento hacia atrs de un personaje. En la seccin steps del bloque se debe colocar un nmero y ste determina cuan lento o rpido ser dicho movimiento hacia atrs. Este bloque se encuentra en el CAJN Movement de la pestaa factory y es usado para asignar un giro hacia la izquierda de un personaje. En la seccin degs del bloque se debe colocar un nmero que indica cuntos grados girar. Este bloque puede ser fcilmente adaptado para un giro hacia la derecha, solo es necesario tomar el bloque marcado con Right o se puede cambiar su valor con un solo click (Ver imagen). Este bloque se encuentra en el CAJN Traits de la pestaa factory y es usado para asignar un rumbo en grados a un personaje. En otras palabras, sirve para establecer una direccin a seguir, por tanto requiere de un nmero que determina la direccin en grados. En el ejemplo, este bloque se us como una segunda alternativa para controlar a un personaje en un juego y se tomaron valores en grados como 0, 90, 180 y 270 para controlar la direccin del personaje (Arriba, derecha, abajo, izquierda)

Resultado en el SPACELAND
Comentarios

Dentro del SPACELAND tenemos los elementos que hemos creado: Un solo personaje ubicado en la mitad del TERRENO y dos botones en la parte inferior (Esta regin se llama ventana RUNTIME) a los que podemos dar CLICK. Tambin tenemos otras herramientas propias del programa y que nos permiten explorar el SPACELAND desde diferentes puntos de vista, as como herramientas de desplazamiento y edicin del TERRENO. Para ejecutar el programa debemos dar CLICK primero al botn SETUP y luego al botn FOREVER , tras lo cual veremos que este ltimo botn aparecer rodeado de una lnea verde indicando que el programa est en ejecucin. Con ayuda de las flechas del teclado ser posible entonces controlar al personaje, las flechas de arriba y abajo controlarn el movimiento adelante y atrs y las flechas derecha e izquierda controlarn el giro del personaje. Pgina 17

Juegos en StarLogo TNG - Juan Javier Guampe - 2012

Juego 1: El ms rpido

Problema

Crear un juego con dos personajes que se puedan controlar mediante el teclado. El objetivo del juego ser el de llegar primero a la meta, evitando tocar los obstculos que hay en el SPACELAND.
Comentarios

1. Preparar las condiciones iniciales: - Eliminar las dos tortugas de inicio - Crear los dos personajes, cada uno con diferente forma - Ajustar su tamao y otras propiedades 2. Asignar las teclas que controlarn a cada uno de los personajes 3. Crear los obstculos en el Spaceland 4. Probar y hacer modificaciones

Plan

Programando

El primer paso a realizar ser crear los dos personajes independientes, es decir, cada uno de una familia (Breed) diferente. Esto lo realizamos dando click en el botn Edit Breeds. Aqu podemos tambin crear un nuevo (New) personaje, escoger otras formas para cada uno y renombrarlos.

Comentarios

En este juego se ha dado al primer personaje el nombre de Hormiga y al segundo el nombre de Oso. Una vez que se d click en el botn OK, podemos observar que el CANVAS tiene ahora una seccin independiente para cada personaje.

Juegos en StarLogo TNG - Juan Javier Guampe - 2012

Pgina 18

Juego 1: El ms rpido
Comentarios

En la pestaa My Blocks veremos que hay un CAJN independiente para cada una de las familias (Breeds) que hemos creado, en este caso, Hormiga y Oso. Dentro de estos cajones estarn los bloques que nos permitirn crear a cada uno de los personajes.

X= -50 Y= 50

X= 50 Y= 50

Comentarios

X= 0 Y= 0

X= -50 Y= -50

X= 50 Y= -50

En la parte SETUP del CANVAS se realiza la primera parte de la programacin, de igual forma como en el ejemplo anterior. En esta oportunidad se ha empleado el bloque Clear Everyone porque queremos eliminar solo a los personajes y no todos los elementos que haya en el SPACELAND (Accin que hace el bloque Clear All)

Comentarios

Se ha creado un personaje de cada BREED o familia, se ha ajustado su tamao e igualmente se ha ubicado a cada uno de los personajes en una ooordenada diferente dentro del SPACELAND. Como se muestra en la imagen, la posicin central est determinada por las coordenadas X=0 y Y=0, este punto tambin se llama HOME. Desde esta posicin central hay 50 puntos hasta alcanzar el borde superior, inferior, izquierdo y derecho, tal como se ensea.

Juegos en StarLogo TNG - Juan Javier Guampe - 2012

Pgina 19

Juego 1: El ms rpido

Podemos usar la misma estructura que se utilizamos en el ejemplo anterior, pero esta vez realizando la programacin para dos personajes. Las flechas controlarn a la Hormiga, mientras que las teclas w,s,z,a controlarn al Oso

Ideas

Comentarios

Esta parte de la programacin se realiza en la seccin Runtime del CANVAS. Un detalle importante a destacar es el nuevo aspecto del bloque forever que ahora tiene una divisn para el personaje Hormiga y otra divisin para el personaje Oso. Lo anterior se debe a que inicialmente creamos las dos familias de personajes y desde ese momento esa accin hace que muchos de los bloques tengan ahora dos secciones, como este bloque forever. Es posible utilizar cualquier combinacin de teclas para controlar a los personajes, sin embargo, se ha optado por utilizar las flechas para controlar a un personaje y las teclas w,s,a,d para controlar al otro. Pgina 20

Juegos en StarLogo TNG - Juan Javier Guampe - 2012

Juego 1: El ms rpido
Comentarios

El siguiente paso a realizar es modificar un poco el TERRENO, es decir, la regin de color verde en el SPACELAND. Lo que vamos a hacer es dibujar un punto rojo en la mitad que ser la meta y otras zonas rectangulares de color azul que sern los obstculos. Para hacer esto debemos acudir a las herramientas de dibujo ubicadas en la pestaa Drawing en la parte inferior del SPACELAND, una vez all veremos algunas opciones para dibujar rectngulos, crculos, polgonos, dibujos a mano alzada e incluir imgenes. Tambin se encuentra all la opcin para seleccionar el color de estas figuras. Los 16 colores usados en StarLogo TNG funcionan con base en el sistema RGB (Red-GreenBlue). Al dibujar las formas en el TERRENO podemos obtener estos colores combinando los tres colores primarios: Rojo, verde y azul, con base en la tabla que aparece a continuacin. Pgina 21

Juegos en StarLogo TNG - Juan Javier Guampe - 2012

Juego 1: El ms rpido
Como vemos en la tabla, cada color tiene una frmula especfica y para poder obtenerlo en el SPACELAND debemos combinar los colores Red, Green y Blue como se indica. Para conseguir buenos resultados en los juegos es necesario ser cuidadosos con estos valores. Cada color tiene tambin asociado un nmero, el cual aparece en la ltima columna de la tabla. Podemos usar este valor en algunos juegos
Comentarios

Color Negro Gris Blanco Rojo Anaranjado Caf Amarillo Verde Lima Turquesa Cian Cielo Azul Prpura Magenta Rosado

En StarLogo TNG black gray white red orange brown yellow green lime turquoise cyan sky blue purple magenta pink

Red 0 142 255 255 255 160 255 81 0 0 0 0 0 127 255 255

Green 0 142 255 0 85 112 255 197 255 255 255 127 0 0 0 0

Blue 0 142 255 0 0 80 0 0 0 198 255 255 255 255 255 127

# 0 5 9 15 25 35 45 55 65 75 85 95 105 115 125 135

Tambin podemos usar la herramienta Edit Terrain para hacer depresiones y elevaciones en el TERRENO, stas pueden ser de formas curvas o rectas. En este modo de edicin el terreno se ve como una cuadrcula que permite hacer modificaciones un poco ms precisas

Ideas

Juegos en StarLogo TNG - Juan Javier Guampe - 2012

Pgina 22

Juego 1: El ms rpido
Comentarios

En el TERRENO queremos crear obstculos para los personajes, de tal forma que no sea tan fcil para ellos llegar al centro, que es el objetivo principal de los dos jugadores. Posteriormente programaremos una accin para hacer que los personajes vuelvan al punto de partida si se aproximan a las zonas de color azul dibujadas.

Juegos en StarLogo TNG - Juan Javier Guampe - 2012

Pgina 23

Juego 1: El ms rpido
Comentarios

Se han adicionado dos bloques IF-THEN a la programacin del movimiento del personaje Hormiga. Esta parte se encarga de tomar una decisin si el personaje se acerca a una zona de color azul (Regresa al punto de partida), si se acerca a una zona de color roja (Mensaje con el texto La Hormiga gana)

Juegos en StarLogo TNG - Juan Javier Guampe - 2012

Pgina 24

Juego 1: El ms rpido
Comentarios

Tambin se han adicionado dos bloques IF-THEN a la programacin del movimiento del personaje Oso. Esta parte se encarga de tomar una decisin si el personaje se acerca a una zona de color azul (Regresa al punto de partida), si se acerca a una zona de color roja (Mensaje con el texto El Oso gana)

Juegos en StarLogo TNG - Juan Javier Guampe - 2012

Pgina 25

Juego 1: El ms rpido
Comentarios

Finalmente podemos probar nuestro primer juego en StarLogo TNG, dando click inicialmente al botn setup y luego al botn forever que aparecen en el SPACELAND, y ms exactamente en la ventana que se encuentra debajo del TERRENO que se llama Ventana Runtime. Podemos ver que los personajes se pueden controlar con las teclas que hemos programado y que si alguno de ellos se acerca a una zona de color azul, ser regresado a su punto de partida.

Tambin podemos cambiar los nombre a los botones que aparecen en la ventana Runtime, de tal forma que estos botones tengan ms sentido dentro del juego. Para cambiar los nombres lo hacemos directamente desde la organizacin de los bloques en el CANVAS con un doble click encima del nombre original y escribiendo el nombre que deseemos.

Ideas
Juegos en StarLogo TNG - Juan Javier Guampe - 2012

Pgina 26

Juego 1: El ms rpido

Bloques adicionales usados


Este bloque se encuentra en el CAJN SetUp and Run de la pestaa Factory. Es usado de forma similar al bloque Clear All, sin embargo, solo borra los personajes que estn en el SPACELAND y no los dems elementos, tales como formas, dibujos e imgenes.

Este bloque se encuentra en el CAJN Traits de la pestaa Factory. Se utiliza para establecer las coordenadas X y Y de un personaje. En este ejemplo el bloque se us para colocar a los dos personajes en unas coordenadas especficas al inicio del juego, como se explic anteriormente.
Este bloque se encuentra en el CAJN Math de la pestaa Factory. Se utiliza para comparar si dos elementos son iguales. En el ejemplo se utiliz en conjunto con el bloque IF-THEN, como la condicin necesaria para ejecutar las acciones asociadas. Recordemos que el bloque IF.THEN requiere que la condicin o prueba (IF) sea verdadera para ejecutar las acciones (THEN) Este bloque se encuentra en el CAJN Terrain de la pestaa Factory. Este bloque reporta el color del spaceland que hay un paso adelante. En nuestro juego se us para saber si en el TERRENO haba zonas de color rojo azul.

Este bloque que se encuentra en el CAJN Colors de la pestaa Factory se utiliza para establecer un color. En StarLogo TNG existen 16 colores disponibles. Este bloque se encuentra en el CAJN Text de la pestaa Factory. Se utiliza para hacer que un personaje muestre un mensaje que ser visible en el SPACELAND. Se utiliza en conjunto con el bloque abc. Este bloque se encuentra en el CAJN Text de la pestaa Factory. Se utiliza en conjunto con el bloque say. Por defecto este bloque aparece con el texto abc, sin embargo, se puede cambiar a cualquier otro texto que se requiera con un doble click encima del texto original.

Aunque los bloques estn agrupados en CAJONES y pestaas para una mejor organizacin y comprensin, tambin es posible, muy til y mucho ms eficiente poder colocar los bloques en el CANVAS rpidamente con ayuda del teclado del computador, Cmo se hace? Tan solo es necesario escribir las primeras letras del nombre del bloque e inmediatamente aparecer una ventana con una o varias opciones de bloques cuyos nombres empiezan por dichas letras, entonces se podr fcilmente seleccionar con el mouse o con las flechas y la tecla Enter del teclado. Lo mismo se puede hacer con los nmeros.

Ideas

Juegos en StarLogo TNG - Juan Javier Guampe - 2012

Pgina 27

Juego 2: Obstculos

Problema

Crear un juego en el que un personaje debe evitar objetos en movimiento para llegar a una meta. Si los objetos tocan al personaje, ste deber empezar nuevamente. Cuando se llegue a la meta deber indicarse con un mensaje.

1. Preparar las condiciones iniciales: - Eliminar las dos tortugas de inicio - Crear los elementos del juego: Personaje y objetos (obstculos) - Ajustar propiedades (Posicin, tamao) 2. Asignar las teclas que controlarn al personaje y el movimiento de los objetos 3. Probar 4. Hacer modificaciones para mejorar

Plan

Programando

Comentarios

Empezaremos creando seis familias (Breeds) de personajes: El jugador y cinco objetos. A pesar de tener la misma forma cbica estos sern objetos independientes para StarLogo TNG y podremos asignar propiedades diferentes, como su posicin.

Juegos en StarLogo TNG - Juan Javier Guampe - 2012

Pgina 28

Juego 2: Obstculos
Comentarios

En la seccin SETUP del canvas deberemos crear a los personajes del juego y asignar su posicin inicial y su tamao. No hay que olvidar que debemos eliminar las dos tortugas que aparecen por defecto cuando abrimos el programa StarLogo TNG. Debern crearse seis personajes en el juego, uno de ellos ser el jugador y los otros cinco sern los objetos. Igualmente se asignar el tamao y la posicin de cada uno de ellos como se indica en la imagen. (Contina en la siguiente pgina)

Comentarios

Cuando se crean varias familias (Breeds) de personajes podemos luego crear a los actores del juego, usando los CAJONES que tienen los mismos nombres que hemos dado a estas familias en el momento de su creacin. Estos nuevos cajones se encuentran debajo de la pestaa My Blocks y dentro de ellos encontraremos bloques relacionados con esta familia.

Juegos en StarLogo TNG - Juan Javier Guampe - 2012

Pgina 29

Juego 2: Obstculos
Comentarios

El Jugador se ha ubicado en la esquina inferior izquierda, en las coordenadas correspondientes a esa posicin (X=-50 Y=-50), tambin se ha asignado un tamao de seis y se ha girado 90 a la derecha. Los otros cinco objetos independientes estn ubicados en diferentes partes del terreno. No hay que olvidar que aunque comparten la misma forma (Cubo), son en realidad objetos independientes que pertenecen a una familia distinta (Breed). En la imagen inferior podemos ver que el CANVAS tiene secciones independientes para cada uno de los Breeds

Juegos en StarLogo TNG - Juan Javier Guampe - 2012

Pgina 30

Juego 2: Obstculos

Comentarios

A la izquierda vemos una imagen completa de la programacin que debemos hacer en la seccin SETUP del canvas. Aunque a primera vista parece algo muy complicado, es en realidad una estructura muy fcil de entender. Las imgenes de la derecha muestran las pestaas ms usadas, Factory y My Blocks. Dentro de ellas encontramos los CAJONES que agrupan los bloques de programacin. Pgina 31

Juegos en StarLogo TNG - Juan Javier Guampe - 2012

Juego 2: Obstculos

Comentarios

Para el Jugador hemos programado los movimientos hacia la derecha e izquierda asignando las flechas derecha e izquierda del teclado, tambin hemos programado la aparicin del mensaje He ganado cuando el jugador est parado sobre una zona de color rojo. Los Objetos tienen programado solamente un movimiento hacia adelante. Cuando stos alcanzan el borde del terreno, por defecto, dan media vuelta y siguen con su movimiento hacia adelante programado.
Juegos en StarLogo TNG - Juan Javier Guampe - 2012

Pgina 32

Juego 2: Obstculos
Comentarios

La siguiente parte de la programacin debe realizarse en la seccin Collisions del CANVAS, la cual se encuentra ubicada en el extremo derecho. Esta zona y los bloques relacionados con el CAJN Collisons se usan para programar el comportamiento de los personajes cuando stos se tocan en el SPACELAND.

Dentro del CAJN Collisions de la pestaa My Blocks se encuentran los bloques de color gris que contemplan todas las combinaciones de familias (Breeds) que pueden darse, incluso, entre personajes de una misma familia. En este ejemplo se han tomado solo cinco bloques de colisin que agrupan a los cinco Objetos en relacin con el Jugador y se ha programado para ste su regreso a la posicin inicial cuando se presente la colisin.

Juegos en StarLogo TNG - Juan Javier Guampe - 2012

Pgina 33

Juego 2: Obstculos
Comentarios

Esta imagen resume la organizacin de los bloques en las secciones: Setup, Runtime y Collisions del CANVAS. En los siguientes juegos se mostrar cmo usar las otras secciones

Hasta el momento tenemos el juego como lo habamos imaginado. Sin embargo, podemos hacer algunas modificaciones para mejorarlo y de paso explicar algunos conceptos que nos ayudarn en los prximos juegos. Lo primero que haremos ser simplificar un poco. Usaremos solo dos familias de personajes: Jugador y Objetos. De esta ltima familia crearemos siete personajes que sern los obstculos. Para su ubicacin inicial se usar el bloque Random. Otro aspecto a mejorar ser el control del Jugador cuando se acerca a los extremos del SPACELAND. Recordemos que un personaje que se mueve hacia adelante o hacia atrs llegar hasta el borde y dar media vuelta para continuar con su desplazamiento

Ideas
Juegos en StarLogo TNG - Juan Javier Guampe - 2012

Pgina 34

Juego 2: Obstculos

Juegos en StarLogo TNG - Juan Javier Guampe - 2012

Pgina 35

Juego 2: Obstculos
En la imagen anterior se muestra cmo se han creado solo dos familias en lugar de seis. De la familia Jugador se ha creado solo un personaje, mientras que de la familia Objetos se han creado siete personajes. El siguiente paso es ubicar a estos siete objetos en una posicin diferente, pues de no hacerlo se crearn en el mismo lugar, pero Cmo se hace? La solucin est en un bloque llamado Random que acta como un generador de nmeros al azar entre 1 y el nmero que tenga asociado. En este caso se dej la posicin Y en 50 (Posicin superior) y la posicin X depende de la operacin: ((Random 81)-41) esto quiere decir que el computador escoge al azar un nmero entre 1 y 81 que es diferente para cada uno de los siete objetos y le resta 41. Si analizamos esta operacin podemos ver que el rango de posibilidades va desde X=-40 (Cuando el nmero al azar es 1) hasta X=40 (Cuando el nmero al azar generado por el computador es 81). Un paso final en esta solucin es hacer que los objetos queden orientados hacia abajo, con ayuda del bloque Set Heading y su valor ajustado a 180 Comentarios

Comentarios El resto de la programacin es similar al primer intento que realizamos, salvo que el movimiento para los objetos tambin es controlado mediante un bloque Random. Cada uno de los siete objetos se mueve hacia adelante con una velocidad diferente, pues el bloque Random hace que la velocidad pueda ser desde 11 (1+10, si el nmero al azar es uno) hasta 50 (40+10, si el nmero al azar es cuarenta)

Juegos en StarLogo TNG - Juan Javier Guampe - 2012

Pgina 36

Juego 2: Obstculos

Finalmente mejoramos el control del Jugador, haciendo que ste no pueda llegar ni al extremo izquierdo, ni al derecho, pues recordemos que al llegar al borde el personaje da media vuelta, para seguir con su movimiento y sera muy extrao, por ejemplo, que al seguir oprimiendo la flecha derecha, el jugador se moviera a la izquierda o viceversa. Para corregir esta situacin se utiliza una doble prueba o condicin: La primera prueba es saber si se ha presionado la flecha izquierda o la derecha, para esto se usan los bloques IF-THEN. Si la prueba es verdadera, entonces este bloque lgico debe realizar una segunda prueba y es saber si la coordenada X del Jugador no ha sobrepasado los valores -48 48 (xcor>-48 para la flecha izquierda y xcor<48 para la flecha derecha). Esta segunda prueba se hace con los bloques IF-THEN-ELSE. En caso de que la prueba sea verdadera, es decir, que el Jugador no est cerca a los extremos, entonces (THEN) se permite su movimiento a la izquierda o hacia la derecha y cuando el Jugador se encuentre en ese rango prohibido (xcor menor a -48 mayor a 48) no realizar ninguna accin, pues la seccin ELSE del bloque se ha dejado vaco. Esta forma de usar varios bloques IF dentro de otros bloques IF se llama Anidar y es algo muy comn en todos los lenguajes de programacin.
Juegos en StarLogo TNG - Juan Javier Guampe - 2012

Comentarios

Pgina 37

Juego 2: Obstculos

Bloques adicionales usados


Este bloque se encuentra en el CAJN Movement de la pestaa Factory. Es usado para girar al personaje un valor en grados. En el ejemplo se utiliz para terminar de posicionar al Jugador de tal forma que quedara observando hacia la derecha, desde la posicin inferior izquierda del SPACELAND.

Este bloque se encuentra en el CAJN Terrain de la pestaa Factory y reporta el color de la zona en donde se encuentra ubicado el personaje. Es similar al bloque Pc ahead. Estos bloques se encuentran en el CAJN Collisions de la pestaa My Blocks. Se utilizan para establecer las acciones que los personajes realizarn si se llegan a encontrar (Tocar) en el spaceland durante el desarrollo de un juego. Existen bloques de colisin para todas las posibles combinaciones de personajes, tanto de una misma familia, como de familias diferentes. Si hemos creado varias familias (Breeds) al inicio de un juego, tendremos muchos bloques de colisin. Estos bloques deben colocarse en la seccin Collisions del CANVAS y solo existe uno para cada combinacin de personajes o familias. Este bloque se encuentra en el CAJN Math de la pestaa Factory. Este bloque realiza la resta del elemento de la izquierda con el de la derecha. En el ejemplo se utiliz en conjunto con el bloque Random y otros dos nmeros para conseguir un rango de valores. Este bloque se encuentra en el CAJN Math de la pestaa Factory, se utiliza para generar un nmero entero al azar entre 1 y el nmero que se encuentra a la derecha del bloque. Es una opcin muy valiosa en programacin para generar valores al azar y su uso en este libro sobre juegos ser repetitiva, debido a las posibilidades que ofrece. Este bloque se encuentra en el CAJN Logic de la pestaa Factory. Es similar al bloque IF-THEN usado previamente, salvo que este bloque ofrece las dos opciones para la prueba o condicin, es decir, si la prueba (Test) es verdadera, entonces (Then) se realizarn las acciones que se encuentran asociadas en esta seccin, mientras que si la prueba es falsa (Else), se realizarn las acciones asocidas a esta seccin else del bloque. En el ejemplo se us para tomar una decisin con respecto a la posicin del personaje. Si el Jugador se mantena dentro de la coordenada X>-48 X<48 entonces se permita el movimiento hacia adelante o hacia atrs, de lo contrario, no debera pasar nada. Este bloque se encuentra en el CAJN Traits de la pestaa Factory y reporta la coordenada X del personaje. Si el personaje se mueve horizontalmente tambin cambia el valor de este bloque. Este bloque se encuentra en el CAJN Math de la pestaa Factory. Este bloque realiza la suma del elemento de la izquierda con el de la derecha. En el ejemplo se utiliz en conjunto con el bloque Random y otros dos nmeros para conseguir un rango de valores.

Juegos en StarLogo TNG - Juan Javier Guampe - 2012

Pgina 38

Juego 3: Contrareloj

Crear un juego de tiempo en el que un personaje debe completar un circuito para llegar a la meta. Una vez alcance este objetivo debe aparecer el tiempo que tard en hacer el recorrido. Cuando el personaje salga de la pista deber volver a empezar desde el punto de partida

Problema

1. Preparar las condiciones iniciales: - Eliminar las dos tortugas de inicio - Crear el personaje principal y ajustar sus propiedades (Tamao y posicin) - Incluir un indicador de TIEMPO 2. Asignar las teclas para el movimiento 3. Hacer la PISTA en el Spaceland 4. Probar y hacer ajustes

Plan

Programando

Comentarios

Empezaremos creando al personaje Corredor y asociando la imagen que se muestra. En este juego usaremos bloques nuevos y pondremos en prctica nuevas ideas para explicar conceptos que permitirn construir juegos cada vez mejores.

Juegos en StarLogo TNG - Juan Javier Guampe - 2012

Pgina 39

Juego 3: Contrareloj
Comentarios

Esta parte la realizamos en la seccin SETUP del CANVAS de la misma forma como se han desarrollado los juegos anteriores. Los dos bloques nuevos son: reset clock y show clock los cuales se encuentran en el CAJN Setup and Run de la pestaa Factory. Recordemos que tambin es posible colocar rpidamente los bloques si escribimos con el teclado las primera letras de su nombre Esta vez vamos a utilizar el concepto de PROCEDIMIENTO (Procedure). En la pestaa Factory encontramos un CAJN con el nombre de Procedure y dentro de l varios bloques, el primero de ellos tiene el mismo nombre que el cajn. Este bloque puede agrupar a muchos otros bloques, creando de esta forma un bloque que puede realizar varias acciones y que adems debe tener un nombre (El nombre del bloque se puede cambiar con un doble click encima de la palabra Procedure). Este nuevo bloque puede ser usado en diferentes partes del CANVAS y permitir entender mejor juegos en donde se utilicen muchos bloques, as como permitir sintetizar o compilar en un solo bloque mltiples acciones El procedimiento DEBE estar ubicado en la seccin apropiada del CANVAS, que es la seccin del personaje que realiza las acciones.
Juegos en StarLogo TNG - Juan Javier Guampe - 2012

Comentarios

Pgina 40

Juego 3: Contrareloj
Comentarios Esta parte la realizamos en la seccin Corredor del CANVAS. El nombre del procedimiento se ha cambiado a la palabra correr El bloque ifelse controla el movimiento del corredor de la siguiente forma: Si el corredor se encuentra ubicado sobre una zona de color amarillo (test), entonces no realizar ninguna accin (then est vaco), pero si no se encuentra sobre una zona amarilla entonces (else), permitir al corredor moverse mediante las flechas arriba, derecha e izquierda como se muestra en la imagen. El bloque if siguiente hace que el corredor vuelva a la posicin de inicio y con direccin hacia arriba, si ste toca una zona blanca, en otras palabras, se ha salido de la pista. El ltimo bloque if despliega un mensaje en pantalla con el tiempo realizado por el corredor, tan pronto como toque la zona azul (meta) y posiciona al vehculo (personaje) en una zona de parqueo de color amarillo. Comentarios

Todos estos bloques hacen parte del PROCEDIMIENTO llamado correr, que a su vez pertenece al personaje Corredor. Cuando se quiera que el personaje ejecute todas estas acciones solo bastar llamar o invocar al procedimiento.
Juegos en StarLogo TNG - Juan Javier Guampe - 2012

Pgina 41

Juego 3: Contrareloj
Comentarios

Como vemos en esta imagen, la mayor cantidad de bloques estn ubicados en la seccin del personaje Corredor y forman el PROCEDIMIENTO. La seccin SETUP tiene los bloques de inicio del juego y la seccin RUNTIME slo tiene un bloque forever y en su interior el PROCEDIMIENTO Correr. Este NUEVO bloque se puede encontrar en el CAJN Corredor de la pestaa My Blocks

Haciendo la pista en el Spaceland


Comentarios

Es hora de trabajar en el SPACELAND. Debemos crear la pista en un color negro, la lnea de meta en un color azul, el fin de la pista en color blanco y la zona de parqueo en color amarillo.
Comentarios

Para la construccin de la pista es necesario usar varias herramientas que ofrece el SPACELAND, por ejemplo, cuando damos click en Edit Terrain vemos que el terreno cambia y se muestra como una cuadrcula, en este modo podemos ver las coordenadas X y Y por donde va pasando el puntero del mouse (Esquina inferior izquierda). Para dibujar las zonas de colores en el juego debemos saber en dnde estn ubicadas (Coordenadas X y Y)

Es importante respetar las zonas de arranque (X=-41; Y=18) y de parqueo (X=10; Y=-43) de acuerdo con la programacin realizada, aunque se puede cambiar estas zonas a otras coordenadas X y Y cuando se entienda mucho mejor el juego y se piense en mejoras. Pgina 42

Juegos en StarLogo TNG - Juan Javier Guampe - 2012

Juego 3: Contrareloj

Para dibujar una pista como se muestra en la figura debemos: 1. Dibujar un rectngulo de color blanco que cubra todo el terreno. En la pestaa Drawing se encuentra la herramienta Rectangle, antes de usarla debemos ajustar el color a blanco moviendo los tres selectores de colores (Red-Green y Blue) al extremo derecho. Para dibujar el rectngulo se empieza desde la esquina superior izquierda moviendo el mouse sin soltar el botn. 2. Dibujar un polgono de color negro, la herramienta se encuentra en la misma pestaa Drawing y el ajuste del color se hace moviendo los tres selectores a la izquierda. Para dibujar se debe empezar por un punto, mover el el mouse y dar click para marcar un cambio de direccin. Cuando se quieran hacer curvas es necesario marcar varios puntos de giro (Con Click). La idea es regresar al punto desde donde se inici y dar un doble click para cerrar la figura. 3, Dibujar otro polgono de color blanco que tendr aproximadamente la misma forma que el polgono negro pero un poco ms pequeo y ubicado en el interior de ste. Nuevamente es necesario ajustar el color a blanco con los selectores. 4. Dibujar un pequeo rectngulo de color azul (meta) y otro rectngulo de color amarillo (Su coordenada aproximada debe ser X=10, Y=-43). Ver tabla de colores para ajustar exactamente el color con base en la escala RGB. 5. Dibujar una pequea lnea blanca con ayuda de la herramienta rectngulo, justo detrs del personaje, pues si bien ste no puede moverse hacia atrs, podra dar un giro y llegar a la zona azul (meta) sin hacer el recorrido por la pista de color negro.
Juegos en StarLogo TNG - Juan Javier Guampe - 2012

Plan

Pgina 43

Juego 3: Contrareloj

Comentarios

Es importante saber en donde empezar la pista de color negro, pues nuestro personaje ya tiene asignado una posicin de partida y debe estar en ella al inicio del juego. Para saber las coordenadas podemos utilizar la herramienta Edit Terrain y mover el puntero del mouse. Otra opcin es dar click sobre el botn SETUP que se encuentra en el CANVAS para posicionar al personaje y entonces empezar a dibujar con respecto a esta posicin Pgina 44

Juegos en StarLogo TNG - Juan Javier Guampe - 2012

Juego 3: Contrareloj

Como una segunda opcin para dibujar la pista de color negro, se puede utilizar la herramienta Pencil lpiz. Esta herramienta ofrece una opcin para seleccionar el grosor del trazo. Con un grosor alto podemos dibujar a mano alzada una pista, sin tener que usar la herramienta polgono dos veces. No hay que olvidar ajustar tambin el color a negro para hacer el trazo con el lpiz. Pgina 45

Juegos en StarLogo TNG - Juan Javier Guampe - 2012

Juego 3: Contrareloj

Juegos en StarLogo TNG - Juan Javier Guampe - 2012

Pgina 46

Juego 3: Contrareloj

Comentarios

Finalmente podemos cambiar los nombres de los bloques setup y forever, que aparecen en el CANVAS, por unos nombres que tengan una mayor relacin con el juego. Para hacerlo solo debemos dar un docle click sobre estos nombres y escribir los nombres que deseemos. Para este caso se ha reemplazado la palabra setup por Inicio y forever por Competir. Este cambio se puede ver tambin en el SPACELAND donde los dos botones tiene ahora los nuevos nombres.
Juegos en StarLogo TNG - Juan Javier Guampe - 2012

Pgina 47

Juego 3: Contrareloj

Bloques adicionales usados


Este bloque se encuentra en el CAJN Setup and Run de la pestaa Factory. Es usado para reiniciar el reloj interno que ofrece StarLogo TNG para el desarrollo de juegos, modelos y proyectos. Este bloque se encuentra en el CAJN Setup and Run de la pestaa Factory y sirve para mostrar el reloj interno que ofrece StarLogo TNG. Cada vez que damos click en un botn forever el reloj empieza a contar y podemos ver ese tiempo en segundos en la esquina inferior derecha del TERRENO. Estos bloques se encuentran en el CAJN Procedure de la pestaa Factory. Se utiliza para crear un bloque que contiene varias acciones descritas por otros bloques. En otras palabras, es un bloque creado por el programador para reunir all una serie de acciones. Este bloque debe tener un nombre y puede ser usado en diferentes partes. Debemos crear este bloque de procedimiento en la seccin del personaje que vamos a asociar las acciones. Para encontrarlo y usarlo en otras partes del programa o juego debemos abrir el CAJN del personaje, escribir directamente sobre el CANVAS el nombre que le dimos. Este bloque se encuentra en el CAJN Text de la pestaa Factory. Se usa para concatenar o unir elementos de texto. En el ejemplo se us para unir la frase Mi tiempo fue con el tiempo que marcaba el reloj en el momento de pasar por la meta. Este bloque se encuentra en el CAJN Text de la pestaa Factory, se utiliza para convertir un nmero en un texto. En el ejemplo se utiliz para convertir el tiempo (Clock) en una cadena de texto y poder as usar la herramienta anterior para unir los dos elementos de texto. Este bloque se encuentra en el CAJN Setup and Run de la pestaa Factory. Reporta el tiempo que ha transcurrido, en segundos, desde el inicio de un programa o desde el momento que el reloj se ha reiniciado

Trata de hacer las siguientes modificaciones: - Reemplaza el bloque forever por un bloque run con un lmite de tiempo en segundos y trata de llegar a la meta antes de que se acabe el tiempo. - Realiza otros modelos de pista con mayor dificultad. - Crea un segundo jugador que se controle con otras teclas e intenta jugar en pareja con otra persona para ver quin es el ms rpido.

Juegos en StarLogo TNG - Juan Javier Guampe - 2012

Pgina 48

Juego 4: Corre y dispara

Crear un juego de tiempo en el que un personaje debe evitar a los objetos en movimiento y llegar a una meta. El jugador tendr 60 segundos para llegar al objetivo, si es tocado por un objeto deber empezar nuevamente. El personaje podr disparar balas que a su vez pueden eliminar a los objetos.

Problema

1. Preparar las condiciones iniciales: - Eliminar las dos tortugas de inicio - Crear el personaje principal y los objetos - Ajustar las propiedades: Posicin, etc. 2. Asignar las teclas para el movimiento del personaje, de los objetos y las balas 3. Crear el escenario en el SPACELAND 4. Probar y hacer ajustes

Plan

Programando

Comentarios

Empezaremos creando tres personajes de familias diferentes: Jugador, Objetos y Balas. Se ha tomado como forma las imagenes que se muestran, las cuales estn en las pestaas people, basic-shapes y objects respectivamente.

Juegos en StarLogo TNG - Juan Javier Guampe - 2012

Pgina 49

Juego 4: Corre y dispara


Comentarios

Comentarios

Un detalle importante a tener en cuenta es el hecho de no haber creado personajes de la familia Balas al inicio del juego. Estos personajes se crearn durante el desarrollo del juego, para lo cual se explicar posteriormente una forma de hacerlo. En la imagen inferior se muestra una visin general de la organizacin de los bloques en seis secciones del CANVAS: Jugador - Objetos - Balas - Setup - Runtime y Collisions. Existen procedimientos en las tres primeras.

Despus de crear las tres familias (Breeds), se crean a los personajes de cada una de ellas y se establecen algunas propiedades. Al inicio del juego se crear un personaje de la familia Jugador, ubicado en la esquina inferior izquierda del terreno y con un tamao de dos. Tambin se crearn diez personajes de la familia Objetos con un tamao de tres y ubicados aleatoriamente, al azar dentro del terreno, por esta razn se ha incluido el bloque scatter Objetos que puede ser encontrado dentro del CAJN Objetos de la pestaa My Blocks. Los ltimos dos bloques se encargan de reinciar el reloj y mostrarlo dentro del SPACELAND.

Juegos en StarLogo TNG - Juan Javier Guampe - 2012

Pgina 50

Juego 4: Corre y dispara


Comentarios

Este procedimiento que tiene el nombre mueve y dispara se ha creado en la seccin Jugador del CANVAS. Esta parte de la programacin se encarga de mover al personaje y de permitirle disparar las balas. La parte relacionada con el movimiento ha sido usada en algunos juegos previos y ya se ha explicado con detalle. El penltimo bloque if se encarga de disparar las balas. Para esto se ha configurado la tecla a como condicin necesaria para ejecutar las acciones (then). Aqu se ha utilizado un nuevo bloque llamado hatch-do que se encarga de generar, originar o procrear a un personaje desde el personaje que tiene asociado este bloque. En otras palabras, ser el personaje Jugador quien genere a otro y en este caso ser al personaje Balas, por esto se usa tambin el bloque set breed en conjunto con el bloque breed: Balas que se puede encontrar dentro del CAJN Balas de la pestaa My Blocks. Dentro del bloque hatch-do tambin se han usado dos bloques ms para establecer el tamao de las balas (set size) y la altura de las balas (set altitude). El ltimo bloque if se encarga de mostrar un texto (Meta) si el Jugador llega a una zona de color rojo dibujada en el terreno.

Juegos en StarLogo TNG - Juan Javier Guampe - 2012

Pgina 51

Juego 4: Corre y dispara


Comentarios

Este procedimiento con el nombre de mueveobjetos se realiza en la seccin Objetos del canvas y se encarga de mover a cada uno de los diez objetos por el terreno en lnea recta. Adicionalmente se ha establecido un cambio de direccin de 180, si estos objetos se encuentran con zonas de color amarillo o rojo dentro del terreno. Estas zonas en donde los objetos no pueden entrar sern zonas de proteccin para el Jugador

Comentarios

Para las Balas tambin se ha creado un procedimiento llamado muevebala el cual ha sido creado en la seccin Balas del canvas. Este procedimiento se encarga de mover las balas en lnea recta, as como eliminarlas cuando se acercan a los bordes del terreno, especficamente cuando se encuentran en coordenadas (X Y) superiores a 48 inferiores a -48. De no hacer esto las balas quedaran rebotando indefinidamente por el terreno y su nmero aumentara con el paso del tiempo, a medida que el Jugador dispare ms y ms. Aqu se han empleado los bloques or, los de mayor que y menor que y el bloque die que elimina el personaje Bala. Pgina 52

Juegos en StarLogo TNG - Juan Javier Guampe - 2012

Juego 4: Corre y dispara


Comentarios

En la seccin Runtime del canvas se ha usado esta vez un bloque diferente. En los juegos previos se utiliz el bloque forever, el cual realiza las acciones colocadas dentro de este bloque continuamente, hasta detener el funcionamiento. Esta vez se ha incluido el bloque run con una opcin de segundos, el cual permite ejecutar las acciones por un tiempo determinado. En el ejemplo se ha colocado 60 segundos para ejecutar los tres procedimientos creados antes. Recordemos que estos bloques de procedimientos se encuentran en los cajones correspondientes a cada familia: Jugador, Objetos y Balas

Comentarios

El ltimo paso dentro del CANVAS es establecer lo que pasar cuando el Jugador se choque con los Objetos y cuando las Balas choquen con los Objetos. Para el caso del Jugador, ste deber volver al punto de partida (Coordenadas X=-50 y Y=-50), cuando se encuentre con cualquiera de los diez objetos, mientras que cuando las Balas y los Objetos se encuentren, los dos personajes desaparecern (die). Esta parte de la programacin se debe realizar en la seccin Collisions del CANVAS y los bloques de color gris necesarios se encuentran en el CAJN Collisions de la pestaa My Blocks

Juegos en StarLogo TNG - Juan Javier Guampe - 2012

Pgina 53

Juego 4: Corre y dispara

Comentarios

Solo restar dibujar algunas zonas de color amarillo dentro del TERRENO y una zona de color rojo que indicar la meta. Para dibujar estas zonas se puede utilizar la herramienta Rectangle Circle ubicadas en la pestaa Drawing, ajustando los colores como se ha explicado previamente. La ubicacin de estas zonas queda a decisin de cada persona, sin embargo, la zona de llegada debera quedar lo ms lejos posible de la zona de partida para conseguir un juego ms entretenido.

Juegos en StarLogo TNG - Juan Javier Guampe - 2012

Pgina 54

Juego 4: Corre y dispara

Bloques adicionales usados


Se trata de dos bloques similares en su funcionamiento, aunque pertenecen a CAJONES diferentes. El primero de ellos scatter everyone se encuentra en el cajn Setup and Run de la pestaa Factory y se encarga de colocar a todos los personajes en una posicin al azar. El segundo bloque se encarga de colocar solo a los personajes de esa familia en una posicin al azar. Se encuentra en el cajn correspondiente a dicha familia en la pestaa My Blocks Este bloque se encuentra en el CAJN Logic de la pestaa Factory y sirve para generar una copia de un personaje de cualquier familia. Dentro de la seccin do se puede indicar a qu personaje se va a generar y otras propiedades ms (Tamao, altura, color, etc) Este bloque se encuentran en el CAJN Traits de la pestaa Factory. Se utiliza para establecer la altura de un personaje con respecto al nivel del terreno. En el ejemplo se us para colocar las Balas a una altura de uno, de lo contrario los Balas estaran al mismo nivel del terreno. Este bloque se encuentra en el CAJN Traits de la pestaa Factory. Se usa para establecer al personaje que se va a generar. En el ejemplo se gener al personaje Balas y quien se encarg de generarlas fue el personaje Jugador, con ayuda del bloque hatch-do Este bloque se encuentra en el CAJN correspondiente a la familia del personaje (En el ejemplo, la familia Balas) dentro de la pestaa Factory, se utiliza junto con el bloque set breed para determinar el personaje que se va a generar durante el desarrollo del juego. Este bloque se encuentra en el CAJN Logic de la pestaa Factory. Se usa para saber si cualquiera de los dos elementos colocados en los extremos cumple con la condicin. En nuestro ejemplo, la condicin era si las coordenadas X Y eran mayores o menores a un nmero. Este bloque se encuentran en el CAJN Logic de la pestaa Factory. Se utiliza para comparar dos elementos. En el ejemplo se us para comparar su la coordenada X Y del personaje Bala era mayor o igual a un nmero. En caso de ser verdadera la afirmacin, el bloque genera un valor verdadero (True) que puede ser usado para tomar una decisin posterior. Este bloque se encuentra en el CAJN Logic de la pestaa Factory. Se utiliza para eliminar un personaje. En el ejemplo se utiliz junto a los bloques de colisin para eliminar a las Balas y a los Objetos

Trata de hacer las siguientes modificaciones: - Crear otras zonas de colores que puedan servir para mejorar el juego - Crea un segundo jugador que se controle con otras teclas e intenta jugar en pareja con otra persona para ver quin consigue llegar primero a la meta - Incrementa el nmero de Objetos para hacer el juego un poco ms difcil

Juegos en StarLogo TNG - Juan Javier Guampe - 2012

Pgina 55

Juego 5: No pares hasta terminar

Problema

Crear un juego en donde el personaje principal deba tomar objetos con forma de nmeros que van apareciendo uno a uno en una ubicacin al azar. El personaje no podr detenerse o tocar zonas de color gris, pues de hacerlo ser llevado a una zona al azar. El objetivo del juego ser tomar los cinco nmeros. Con el paso del tiempo el TERRENO se llenar de lneas y ser ms difcil avanzar.

1. Preparar las condiciones iniciales: - Eliminar las dos tortugas de inicio - Crear el personaje principal y los objetos - Ajustar las propiedades: Posicin, etc. 2. Asignar las teclas para el movimiento del personaje y la programacin de las colisiones de los personajes. 3. Probar y hacer ajustes

Plan

Programando

Juegos en StarLogo TNG - Juan Javier Guampe - 2012

Pgina 56

Juego 5: No pares hasta terminar

Comentarios

Esta imagen muestra una visin general de toda la programacin en el CANVAS. Como se aprecia, la mayor cantidad de bloques estn ubicados en la seccin Collision y en la seccin Jugador, mientras que hay una menor cantidad de bloques en las secciones Setup y Runtime. Ahora se explicar con detalle cada parte del juego.

Comentarios

Las condiciones iniciales del juego se crean, como en todos los juegos anteriores, en la seccin Setup del CANVAS. Se han creado dos personajes nicamente: Jugador y uno. Los otros personajes, es decir, los dems nmeros, se crearn durante la ejecucin de juego, a medida que el Jugador vaya tomando cada uno de ellos. Los personajes iniciales han sido ubicados al azar dentro del spaceland con ayuda de los bloques scatter Jugador y scatter uno, que se pueden encontrar en los cajones correspondientes a estas familias

El bloque pen down que est asociado con el personaje Jugador tiene la funcin de dejar un rastro, o trazar una lnea, por donde se vaya moviendo dentro del terreno. Esta lnea ser, por defecto, de color gris.

Juegos en StarLogo TNG - Juan Javier Guampe - 2012

Pgina 57

Juego 5: No pares hasta terminar


Comentarios

El movimiento del Jugador se establece con los primeros cuatro bloques if, como se ha hecho en los juegos anteriores. El bloque if final tiene la funcin de ubicar al Jugador en una zona al azar dentro del terreno, cuando ste se encuentre prximo a una zona de color gris, de hecho cuando est a 2 pasos de una zona de color gris, e incluso cuando est encima de la lnea gris que est dibujando cuando se mueve. Por esta razn el personaje no puede parar y de hacerlo ser llevado a una zona al azar.

La operacin random 101 - 51 tiene como resultado un nmero entre -50 (cuando el nmero al azar generado por el computador es 1 y al ser restado con -51 da como resultado -50) y 50 (Cuando el nmero al azar es 101: 101-51=50)
Juegos en StarLogo TNG - Juan Javier Guampe - 2012

Pgina 58

Juego 5: No pares hasta terminar


En la seccin Runtime del CANVAS se debe usar un bloque forever y dentro de la seccin del Jugador de este bloque, se incluye el procedimiento mover. Sin embargo, es necesario crear primero el procedimiento que se explica en la siguiente pgina.
Comentarios

Comentarios

La imagen de la derecha muestra la programacin realizada en la seccin Collisions del CANVAS. Bsicamente determina el comportamiento de los personajes cuando stos se tocan dentro del terreno. Para comprender mucho mejor el juego, la imagen se muestra en las siguientes pginas con un mejor detalle y una breve descripcin.

Juegos en StarLogo TNG - Juan Javier Guampe - 2012

Pgina 59

Juego 5: No pares hasta terminar

Este bloque de color gris que se encuentra en el CAJN Collisions de la pestaa My Blocks se utiliza para determinar lo que pasar cuando el personaje uno se encuentre con el personaje Jugador. Cuando esto pase, el Jugador ser llevado a una zona al azar dentro del terreno, mientras que el personaje uno generar al personaje dos (Bloque hatch-do), tambin en una zona al azar y desaparecer (Bloque die).

Comentarios

Este bloque determina lo que pasar cuando el personaje dos se encuentre con el personaje Jugador. Cuando esto pase, el Jugador ser llevado a una zona al azar dentro del terreno, mientras que el personaje dos generar al personaje tres y desaparecer.
Juegos en StarLogo TNG - Juan Javier Guampe - 2012

Comentarios

Pgina 60

Juego 5: No pares hasta terminar

Comentarios

El proceso se repite hasta que el personaje cuatro genera al personaje cinco, como se muestra en las imgenes. Esta es otra forma de generar personajes en un juego y es el bloque hatch-do el que permite hacerlo.

Comentarios

Este bloque de colisin determina lo que pasa cuando el Jugador toque al personaje cinco, haciendo que ste ltimo desaparezca y mostrando el mensaje de Lo hice. Este mensaje indica el final del juego. Pgina 61

Juegos en StarLogo TNG - Juan Javier Guampe - 2012

Juego 5: No pares hasta terminar

Comentarios

Durante el juego siempre est el Jugador y otro de los personajes de nmeros. A medida que el jugador se mueve, va dejando detrs de s un rastro de color gris. A medida que el jugador va tocando los n m e r o s , stos van desapareciendo y el siguiente nmero se genera en otra zona para que el jugador lo tome. Con el paso del tiempo el terreno se va llenando de zonas de color gris, haciendo ms difcil el desplazamiento del jugador.

Juegos en StarLogo TNG - Juan Javier Guampe - 2012

Pgina 62

Juego 5: No pares hasta terminar

Bloques adicionales usados


Este bloque se encuentra en el CAJN Traits de la pestaa Factory. Si se asocia con uno de los personajes, hace que ste vaya dejando un rastro lnea a medida que se desplaza por el terreno. Este bloque se encuentra en el CAJN Terrain de la pestaa Factory. Es similar en su funcin a los bloques patch Color y pc ahead. Se utiliza como una prueba o condicin en conjunto con un bloque if y ayuda a determina si se encuentra un color en una distancia establecida. El color y la distancia se colocan en la seccin correspondiente del bloque. En el ejemplo se utiliz para saber si el Jugador se acercaba a una zona de color gris y si esto era verdad, lo ubicaba en otra zona.

Trata de hacer las siguientes modificaciones: - Intenta dar movimiento a los nmeros, de tal forma que se an ms difcil alcanzar los objetos que debe tomar el personaje principal. - Incluye hasta el nmero 9, haciendo mucho ms difcil el juego. - Piensa en una forma diferente de hacer el juego en donde los nmeros sean reemplazados por varios personajes de UNA MISMA FAMILIA.

Juegos en StarLogo TNG - Juan Javier Guampe - 2012

Pgina 63

También podría gustarte