juegos en starlogo tng segunda parte

54
Juegos en StarLogo TNG - Juan Javier Guampe - 2012 Página 12 CAPÍTULO II Empezando a programar Bloques básicos de programación Programas sencillos Cap 2

Upload: starlogotng

Post on 03-Aug-2015

451 views

Category:

Documents


9 download

DESCRIPTION

Segunda parte del libro: "Juegos en StarLogo TNG"

TRANSCRIPT

Page 1: Juegos en StarLogo TNG Segunda Parte

Juegos en StarLogo TNG - Juan Javier Guampe - 2012Página 12

CAPÍTULO II

Empezando a programar

Bloques básicos de programación

Programas sencillos

Cap2

Page 2: Juegos en StarLogo TNG Segunda Parte

Juegos en StarLogo TNG - Juan Javier Guampe - 2012 Juegos en StarLogo TNG - Juan Javier Guampe - 2012Página 12 Página 13

CAPÍTULO IIEmpezando a programar

Cuando abrimos StarLogo TNG se mostrarán por defecto dos tortugas ubicadas en el Spaceland, a pesar de no haber hecho ninguna acción en el escenario de programación o Canvas. Por esta razón, uno de los primeros pasos es el de preparar las condiciones iniciales del juego, como por ejemplo: Número de personajes, tamaño, posición, colores, entre muchos otros detalles. Esta primera fase se realiza en la sección SET UP del Canvas.

El Canvas es el espacio de programación, allí se deben ensamblar los bloques organizadamente, por esta razón el área está dividida en secciones marcadas con los nombres: TURTLE, EVERYONE, SET UP, RUNTIME y COLLISIONS.

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

? Problema

IdeasPlan

Programando

Comentarios

Page 3: Juegos en StarLogo TNG Segunda Parte

Juegos en StarLogo TNG - Juan Javier Guampe - 2012Página 14

Empezando a programar

¿ Cómo crear y controlar a un personaje en un juego?

? Problema Plan1. Preparar las condiciones iniciales:- Eliminar las dos tortugas de inicio- Crear 1 personaje- Ajustar su tamaño y otras propiedades2. Asignar las teclas que controlarán al personaje3. Probar y hacer modificaciones

Programando

Comentarios

En StarLogo TNG se utilizan bloques de programación que se ensamblan como las fichas de un rompecabezas. Estas fichas están agrupadas por pestañas y categorías. Hasta el momento se han usado algunos bloques de las categorías “Setup and Run”, “Traits” y “Shapes” que se encuentran en la pestaña “Factory” y de la pestaña “My Blocks” se utilizó la categoría “Turtles”.

Page 4: Juegos en StarLogo TNG Segunda Parte

Juegos en StarLogo TNG - Juan Javier Guampe - 2012 Juegos en StarLogo TNG - Juan Javier Guampe - 2012Página 14 Página 15

Empezando a programar

Ideas

ComentariosDespués 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 sección RUNTIME del CANVAS como se muestra en la imagen superior.

En esta parte se han usado algunos bloques de la categoría “Movement”, “Logic” y “Controls” de la pestaña “Factory” que es la que aparece por defecto al iniciar el programa. Al abrir cada categoría se pueden ver los bloques de programación disponibles, así como una pequeña descripción, en inglés, al ubicar el puntero del mouse sobre dicho objeto.

Las categorías también se pueden llamar CAJONES, pues se pueden abrir como cajones de la vida real y dentro de ellos existirán objetos, que en nuestro caso son los bloques de programación.

Después 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.

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

Page 5: Juegos en StarLogo TNG Segunda Parte

Juegos en StarLogo TNG - Juan Javier Guampe - 2012Página 16

Empezando a programar

Bloques utilizados en el ejemploEste bloque se encuentra en el CAJÓN “SetUp and Run” y es usado en todos los juegos que se explicarán 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 sección del mismo nombre en el CANVAS y una vez colocado allí también aparecerá reflejado en el SPACELAND, específicamente en una pequeña ventana llamada RUNTIME. Al dar click en este botón se establecerán las condiciones iniciales que hayamos programado.

Este bloque se encuentra en el CAJÓN “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 CAJÓN “Turtles” de la pestaña “My Blocks”. Se utiliza para crear personajes y asignar algunas propiedades. El bloque tiene un espacio “num” para el número de personajes y una sección “do” para las propiedades. En el ejemplo se usó para crear un solo personaje y asignar algunas propiedades como el tamaño (Set size) y la forma (Set Shape).

Son bloques de números que pueden ser usados en diferentes partes del programa. Se pueden encontrar en el CAJÓN “Math” de la pestaña “Factory”. Una forma mucho más rápida de encontrar estos bloques es escribir directamente con el teclado el número indicado e inmediatamente aparecerá en el CANVAS.

Este bloque que se encuentra en el CAJÓN “Traits” de la pestaña “Factory” se utiliza para determinar el tamaño del personaje. El bloque necesita de un número que se encaja en la parte derecha.

Este bloque ayuda a seleccionar una figura para el personaje que se utilice, también se encuentra en el CAJÓN “Traits” de la pestaña “Factory”. StarLogo TNG pone a disposición algunas figuras o formas.

Las formas o figuras disponibles en StarLogo TNG se encuentra en el CAJÓN “Shapes” de la pestaña “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 años.

Este bloque se encuentra en el CAJÓN “Set Up and Run” de la pestaña “Factory”. Se debe colocar en la sección “RUNTIME” del CANVAS y al igual que el bloque SETUP, este bloque también se ve reflejado en el SPACELAND. Dentro de él se colocan las acciones que se deseen ejecutar mientras el bloque esté en operación. Tanto para iniciar como para detener las acciones se debe dar un Click sobre él.Este bloque se encuentra en el CAJÓN “Logic” de la pestaña “Factory”. Se trata de un bloque muy importante cuya función es usada por todos los lenguajes de programación. El bloque se encarga de ejecutar una serie de acciones cuando una condición se cumple. En nuestro ejemplo la condición 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 condición, se deben ejecutar las acciones que aparecen en la parte “then” del bloque, que en nuestro ejemplo es ir adelante (Forward), ir atrás (Back) o girar a la derecha o izquiera (Right o Left)

Este bloque se encuentra en el CAJÓN “Controls” de la pestaña “Factory”. En el ejemplo se utilizó como la condición del bloque anterior (if-test-then), de esta forma si la flecha Arriba (KEYBOARD UP ARROW) se ha oprimido, entonces se ejecutarán las acciones que aparecen en la parte “then” del bloque IF. De igual forma se usaron tres bloques más, cada uno para las otras tres opciones de movimiento (Abajo, Izquierda y Derecha). Por defecto solo aparece el botón de flecha Arriba y los otros se seleccionan con ayuda del cursor del mouse, como se muestra en la imagen.

Page 6: Juegos en StarLogo TNG Segunda Parte

Juegos en StarLogo TNG - Juan Javier Guampe - 2012 Juegos en StarLogo TNG - Juan Javier Guampe - 2012Página 16 Página 17

Resultado en el SPACELAND

Empezando a programar

Este bloque se encuentra en el CAJÓN “Movement” de la pestaña “factory” y es usado para asignar un movimiento hacia adelante de un personaje. En la sección “steps” del bloque se debe colocar un número y éste determina cuan lento o rápido será dicho movimiento.

Este bloque se encuentra en el CAJÓN “Movement” de la pestaña “factory” y es usado para asignar un movimiento hacia atrás de un personaje. En la sección “steps” del bloque se debe colocar un número y éste determina cuan lento o rápido será dicho movimiento hacia atrás.

Este bloque se encuentra en el CAJÓN “Movement” de la pestaña “factory” y es usado para asignar un giro hacia la izquierda de un personaje. En la sección “degs” del bloque se debe colocar un número que indica cuántos grados girará. Este bloque puede ser fácilmente 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 CAJÓN “Traits” de la pestaña “factory” y es usado para asignar un rumbo en grados a un personaje. En otras palabras, sirve para establecer una dirección a seguir, por tanto requiere de un número que determina la dirección 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 dirección del personaje (Arriba, derecha, abajo, izquierda)

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 región se llama ventana RUNTIME) a los que podemos dar CLICK. También tenemos otras herramientas propias del programa y que nos permiten explorar el SPACELAND desde diferentes puntos de vista, así como herramientas de desplazamiento y edición del TERRENO.

Para ejecutar el programa debemos dar CLICK primero al botón SETUP y luego al botón FOREVER , tras lo cual veremos que este último botón aparecerá rodeado de una línea verde indicando que el programa está en ejecución. Con ayuda de las flechas del teclado será posible entonces controlar al personaje, las flechas de arriba y abajo controlarán el movimiento adelante y atrás y las flechas derecha e izquierda controlarán el giro del personaje.

Comentarios

Page 7: Juegos en StarLogo TNG Segunda Parte

Juegos en StarLogo TNG - Juan Javier Guampe - 2012Página 18

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 botón “Edit Breeds”. Aquí podemos también crear un nuevo (“New”) personaje, escoger otras formas para cada uno y renombrarlos.

Juego 1: El más rápido

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 obstáculos que hay en el SPACELAND.

? Problema Plan1. Preparar las condiciones iniciales:- Eliminar las dos tortugas de inicio- Crear los dos personajes, cada uno con diferente forma- Ajustar su tamaño y otras propiedades2. Asignar las teclas que controlarán a cada uno de los personajes3. Crear los obstáculos en el Spaceland4. Probar y hacer modificaciones

ProgramandoComentarios

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 botón “OK”, podemos observar que el CANVAS tiene ahora una sección independiente para cada personaje.

Comentarios

Page 8: Juegos en StarLogo TNG Segunda Parte

Juegos en StarLogo TNG - Juan Javier Guampe - 2012 Juegos en StarLogo TNG - Juan Javier Guampe - 2012Página 18 Página 19

Juego 1: El más rápido

En la pestaña “My Blocks” veremos que hay un CAJÓN independiente para cada una de las familias (Breeds) que hemos creado, en este caso, “Hormiga” y “Oso”. Dentro de estos cajones estarán los bloques que nos permitirán crear a cada uno de los personajes.

Comentarios

X= 50Y= 50

X= -50Y= 50

X= 50Y= -50

X= -50Y= -50

X= 0Y= 0

En la parte SETUP del CANVAS se realiza la primera parte de la programación, 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 (Acción que hace el bloque “Clear All”)

Comentarios

Se ha creado un personaje de cada BREED o familia, se ha ajustado su tamaño 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 posición central está determinada por las coordenadas X=0 y Y=0, este punto también se llama HOME. Desde esta posición central hay 50 puntos hasta alcanzar el borde superior, inferior, izquierdo y derecho, tal como se enseña.

Comentarios

Page 9: Juegos en StarLogo TNG Segunda Parte

Juegos en StarLogo TNG - Juan Javier Guampe - 2012Página 20

Ideas

Podemos usar la misma estructura que se utilizamos en el ejemplo anterior, pero esta vez realizando la programación para dos personajes. Las flechas controlarán a la “Hormiga”, mientras que las teclas w,s,z,a controlarán al “Oso”

Esta parte de la programación se realiza en la sección “Runtime” del CANVAS. Un detalle importante a destacar es el nuevo aspecto del bloque “forever” que ahora tiene una divisón para el personaje “Hormiga” y otra división para el personaje “Oso”. Lo anterior se debe a que inicialmente creamos las dos familias de personajes y desde ese momento esa acción hace que muchos de los bloques tengan ahora dos secciones, como este bloque “forever”.

Es posible utilizar cualquier combinación 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.

Comentarios

Juego 1: El más rápido

Page 10: Juegos en StarLogo TNG Segunda Parte

Juegos en StarLogo TNG - Juan Javier Guampe - 2012 Juegos en StarLogo TNG - Juan Javier Guampe - 2012Página 20 Página 21

Juego 1: El más rápido

El siguiente paso a realizar es modificar un poco el TERRENO, es decir, la región 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 serán los obstáculos.

Para hacer esto debemos acudir a las herramientas de dibujo ubicadas en la pestaña “Drawing” en la parte inferior del SPACELAND, una vez allí veremos algunas opciones para dibujar rectángulos, círculos, polígonos, dibujos a mano alzada e incluir imágenes. También se encuentra allí la opción para seleccionar el color de estas figuras.

Los 16 colores usados en StarLogo TNG funcionan con base en el sistema RGB (Red-Green-Blue). 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 continuación.

Comentarios

Page 11: Juegos en StarLogo TNG Segunda Parte

Juegos en StarLogo TNG - Juan Javier Guampe - 2012Página 22

Juego 1: El más rápido

Color En StarLogo TNG Red Green Blue #Negro black 0 0 0 0

Gris gray 142 142 142 5Blanco white 255 255 255 9

Rojo red 255 0 0 15Anaranjado orange 255 85 0 25

Café brown 160 112 80 35Amarillo yellow 255 255 0 45

Verde green 81 197 0 55Lima lime 0 255 0 65

Turquesa turquoise 0 255 198 75Cian cyan 0 255 255 85Cielo sky 0 127 255 95Azul blue 0 0 255 105

Púrpura purple 127 0 255 115Magenta magenta 255 0 255 125Rosado pink 255 0 127 135

Como vemos en la tabla, cada color tiene una fórmula específica 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 también asociado un número, el cual aparece en la última columna de la tabla. Podemos usar este valor en algunos juegos

Comentarios

Ideas

También 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 edición el terreno se ve como una cuadrícula que permite hacer modificaciones un poco más precisas

Page 12: Juegos en StarLogo TNG Segunda Parte

Juegos en StarLogo TNG - Juan Javier Guampe - 2012 Juegos en StarLogo TNG - Juan Javier Guampe - 2012Página 22 Página 23

Juego 1: El más rápido

En el TERRENO queremos crear obstáculos para los personajes, de tal forma que no sea tan fácil para ellos llegar al centro, que es el objetivo principal de los dos jugadores. Posteriormente programaremos una acción para hacer que los personajes vuelvan al punto de partida si se aproximan a las zonas de color azul dibujadas.

Comentarios

Page 13: Juegos en StarLogo TNG Segunda Parte

Juegos en StarLogo TNG - Juan Javier Guampe - 2012Página 24

Juego 1: El más rápido

Se han adicionado dos bloques “IF-THEN” a la programación del movimiento del personaje “Hormiga”. Esta parte se encarga de tomar una decisión 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”)

Comentarios

Page 14: Juegos en StarLogo TNG Segunda Parte

Juegos en StarLogo TNG - Juan Javier Guampe - 2012 Juegos en StarLogo TNG - Juan Javier Guampe - 2012Página 24 Página 25

Juego 1: El más rápido

También se han adicionado dos bloques “IF-THEN” a la programación del movimiento del personaje “Oso”. Esta parte se encarga de tomar una decisión 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”)

Comentarios

Page 15: Juegos en StarLogo TNG Segunda Parte

Juegos en StarLogo TNG - Juan Javier Guampe - 2012Página 26

Juego 1: El más rápido

Finalmente podemos probar nuestro primer juego en StarLogo TNG, dando click inicialmente al botón “setup” y luego al botón “forever” que aparecen en el SPACELAND, y más 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.

Comentarios

Ideas

También podemos cambiar los nombre a los botones que aparecen en la ventana “Runtime”, de tal forma que estos botones tengan más sentido dentro del juego.

Para cambiar los nombres lo hacemos directamente desde la organización de los bloques en el CANVAS con un doble click encima del nombre original y escribiendo el nombre que deseemos.

Page 16: Juegos en StarLogo TNG Segunda Parte

Juegos en StarLogo TNG - Juan Javier Guampe - 2012 Juegos en StarLogo TNG - Juan Javier Guampe - 2012Página 26 Página 27

Juego 1: El más rápido

Bloques adicionales usadosEste bloque se encuentra en el CAJÓN “SetUp and Run” de la pestaña “Factory”. Es usado de forma similar al bloque “Clear All”, sin embargo, solo borra los personajes que están en el SPACELAND y no los demás elementos, tales como formas, dibujos e imágenes.

Este bloque se encuentra en el CAJÓN “Traits” de la pestaña “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 específicas al inicio del juego, como se explicó anteriormente.

Este bloque se encuentra en el CAJÓN “Math” de la pestaña “Factory”. Se utiliza para comparar si dos elementos son iguales. En el ejemplo se utilizó en conjunto con el bloque IF-THEN, como la condición necesaria para ejecutar las acciones asociadas. Recordemos que el bloque IF.THEN requiere que la condición o prueba (IF) sea verdadera para ejecutar las acciones (THEN)

Este bloque se encuentra en el CAJÓN “Terrain” de la pestaña “Factory”. Este bloque reporta el color del spaceland que hay un paso adelante. En nuestro juego se usó para saber si en el TERRENO había zonas de color rojo ó azul.

Este bloque que se encuentra en el CAJÓN “Colors” de la pestaña “Factory” se utiliza para establecer un color. En StarLogo TNG existen 16 colores disponibles.

Este bloque se encuentra en el CAJÓN “Text” de la pestaña “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 CAJÓN “Text” de la pestaña “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.

Ideas

Aunque los bloques están agrupados en CAJONES y pestañas para una mejor organización y comprensión, también es posible, muy útil y mucho más eficiente poder colocar los bloques en el CANVAS rápidamente con ayuda del teclado del computador, ¿Cómo 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á fácilmente seleccionar con el mouse o con las flechas y la tecla “Enter” del teclado. Lo mismo se puede hacer con los números.

Page 17: Juegos en StarLogo TNG Segunda Parte

Juegos en StarLogo TNG - Juan Javier Guampe - 2012Página 28

Juego 2: Obstáculos

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.

? Problema Plan1. Preparar las condiciones iniciales:- Eliminar las dos tortugas de inicio- Crear los elementos del juego: Personaje y objetos (obstáculos)- Ajustar propiedades (Posición, tamaño)2. Asignar las teclas que controlarán al personaje y el movimiento de los objetos3. Probar 4. Hacer modificaciones para mejorar

ProgramandoEmpezaremos creando seis familias (Breeds) de personajes: El jugador y cinco objetos. A pesar de tener la misma forma cúbica estos serán objetos independientes para StarLogo TNG y podremos asignar propiedades diferentes, como su posición.

Comentarios

Page 18: Juegos en StarLogo TNG Segunda Parte

Juegos en StarLogo TNG - Juan Javier Guampe - 2012 Juegos en StarLogo TNG - Juan Javier Guampe - 2012Página 28 Página 29

Juego 2: Obstáculos

En la sección SETUP del canvas deberemos crear a los personajes del juego y asignar su posición inicial y su tamaño. No hay que olvidar que debemos eliminar las dos tortugas que aparecen por defecto cuando abrimos el programa StarLogo TNG.

Deberán crearse seis personajes en el juego, uno de ellos será el jugador y los otros cinco serán los objetos. Igualmente se asignará el tamaño y la posición de cada uno de ellos como se indica en la imagen. (Continúa en la siguiente página)

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 creación. Estos nuevos cajones se encuentran debajo de la pestaña “My Blocks” y dentro de ellos encontraremos bloques relacionados con esta familia.

Comentarios

Page 19: Juegos en StarLogo TNG Segunda Parte

Juegos en StarLogo TNG - Juan Javier Guampe - 2012Página 30

Juego 2: Obstáculos

El “Jugador” se ha ubicado en la esquina inferior izquierda, en las coordenadas correspondientes a esa posición (X=-50 Y=-50), también se ha asignado un tamaño de seis y se ha girado 90° a la derecha.

Los otros cinco objetos independientes están 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”

Comentarios

Page 20: Juegos en StarLogo TNG Segunda Parte

Juegos en StarLogo TNG - Juan Javier Guampe - 2012 Juegos en StarLogo TNG - Juan Javier Guampe - 2012Página 30 Página 31

Juego 2: Obstáculos

A la izquierda vemos una imagen completa de la programación que debemos hacer en la sección SETUP del canvas. Aunque a primera vista parece algo muy complicado, es en realidad una estructura muy fácil de entender.

Las imágenes de la derecha muestran las pestañas más usadas, “Factory” y “My Blocks”. Dentro de ellas encontramos los CAJONES que agrupan los bloques de programación.

Comentarios

Page 21: Juegos en StarLogo TNG Segunda Parte

Juegos en StarLogo TNG - Juan Javier Guampe - 2012Página 32

Juego 2: Obstáculos

Para el “Jugador” hemos programado los movimientos hacia la derecha e izquierda asignando las flechas derecha e izquierda del teclado, también hemos programado la aparición 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.

Comentarios

Page 22: Juegos en StarLogo TNG Segunda Parte

Juegos en StarLogo TNG - Juan Javier Guampe - 2012 Juegos en StarLogo TNG - Juan Javier Guampe - 2012Página 32 Página 33

Juego 2: Obstáculos

La siguiente parte de la programación debe realizarse en la sección “Collisions” del CANVAS, la cual se encuentra ubicada en el extremo derecho. Esta zona y los bloques relacionados con el CAJÓN “Collisons” se usan para programar el comportamiento de los personajes cuando éstos se tocan en el SPACELAND.

Comentarios Dentro del CAJÓN “Collisions” de la pestaña “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 colisión que agrupan a los cinco “Objetos” en relación con el “Jugador” y se ha programado para éste su regreso a la posición inicial cuando se presente la colisión.

Page 23: Juegos en StarLogo TNG Segunda Parte

Juegos en StarLogo TNG - Juan Javier Guampe - 2012Página 34

Juego 2: Obstáculos

Esta imagen resume la organización de los bloques en las secciones: “Setup”, “Runtime” y “Collisions” del CANVAS. En los siguientes juegos se mostrará cómo usar las otras secciones

Comentarios

Ideas

Hasta el momento tenemos el juego como lo habíamos imaginado. Sin embargo, podemos hacer algunas modificaciones para mejorarlo y de paso explicar algunos conceptos que nos ayudarán en los próximos 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 serán los obstáculos. Para su ubicación 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 atrás llegará hasta el borde y dará media vuelta para continuar con su desplazamiento

Page 24: Juegos en StarLogo TNG Segunda Parte

Juegos en StarLogo TNG - Juan Javier Guampe - 2012 Juegos en StarLogo TNG - Juan Javier Guampe - 2012Página 34 Página 35

Juego 2: Obstáculos

Page 25: Juegos en StarLogo TNG Segunda Parte

Juegos en StarLogo TNG - Juan Javier Guampe - 2012Página 36

Juego 2: Obstáculos

En la imagen anterior se muestra cómo 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 posición diferente, pues de no hacerlo se crearán en el mismo lugar, pero ¿Cómo se hace? La solución está en un bloque llamado “Random” que actúa como un generador de números al azar entre 1 y el número que tenga asociado. En este caso se dejó la posición “Y” en 50 (Posición superior) y la posición “X” depende de la operación: ((Random 81)-41) esto quiere decir que el computador escoge al azar un número entre 1 y 81 que es diferente para cada uno de los siete objetos y le resta 41. Si analizamos esta operación podemos ver que el rango de posibilidades va desde X=-40 (Cuando el número al azar es 1) hasta X=40 (Cuando el número al azar generado por el computador es 81). Un paso final en esta solución es hacer que los objetos queden orientados hacia abajo, con ayuda del bloque “Set Heading” y su valor ajustado a 180°

Comentarios

El resto de la programación es similar al primer intento que realizamos, salvo que el movimiento para los objetos también 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 número al azar es uno) hasta 50 (40+10, si el número al azar es cuarenta)

Comentarios

Page 26: Juegos en StarLogo TNG Segunda Parte

Juegos en StarLogo TNG - Juan Javier Guampe - 2012 Juegos en StarLogo TNG - Juan Javier Guampe - 2012Página 36 Página 37

Juego 2: Obstáculos

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 sería muy extraño, por ejemplo, que al seguir oprimiendo la flecha derecha, el jugador se moviera a la izquierda o viceversa. Para corregir esta situación se utiliza una doble prueba o condición: 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 lógico 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 acción, pues la sección “ELSE” del bloque se ha dejado vacío. Esta forma de usar varios bloques IF dentro de otros bloques IF se llama “Anidar” y es algo muy común en todos los lenguajes de programación.

Comentarios

Page 27: Juegos en StarLogo TNG Segunda Parte

Juegos en StarLogo TNG - Juan Javier Guampe - 2012Página 38

Juego 2: Obstáculos

Bloques adicionales usados

Este bloque se encuentra en el CAJÓN “Movement” de la pestaña “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 posición inferior izquierda del SPACELAND.

Este bloque se encuentra en el CAJÓN “Terrain” de la pestaña “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 CAJÓN “Collisions” de la pestaña “My Blocks”. Se utilizan para establecer las acciones que los personajes realizarán si se llegan a encontrar (Tocar) en el spaceland durante el desarrollo de un juego. Existen bloques de colisión 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 colisión. Estos bloques deben colocarse en la sección “Collisions” del CANVAS y solo existe uno para cada combinación de personajes o familias.

Este bloque se encuentra en el CAJÓN “Math” de la pestaña “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 números para conseguir un rango de valores.

Este bloque se encuentra en el CAJÓN “Math” de la pestaña “Factory”, se utiliza para generar un número entero al azar entre “1” y el número que se encuentra a la derecha del bloque. Es una opción muy valiosa en programación 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 CAJÓN “Logic” de la pestaña “Factory”. Es similar al bloque IF-THEN usado previamente, salvo que este bloque ofrece las dos opciones para la prueba o condición, es decir, si la prueba (Test) es verdadera, entonces (Then) se realizarán las acciones que se encuentran asociadas en esta sección, mientras que si la prueba es falsa (Else), se realizarán las acciones asocidas a esta sección “else” del bloque. En el ejemplo se usó para tomar una decisión con respecto a la posición del personaje. Si el “Jugador” se mantenía dentro de la coordenada “X>-48 ó X<48” entonces se permitía el movimiento hacia adelante o hacia atrás, de lo contrario, no debería pasar nada.

Este bloque se encuentra en el CAJÓN “Traits” de la pestaña “Factory” y reporta la coordenada “X” del personaje. Si el personaje se mueve horizontalmente también cambia el valor de este bloque.

Este bloque se encuentra en el CAJÓN “Math” de la pestaña “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 números para conseguir un rango de valores.

Page 28: Juegos en StarLogo TNG Segunda Parte

Juegos en StarLogo TNG - Juan Javier Guampe - 2012 Juegos en StarLogo TNG - Juan Javier Guampe - 2012Página 38 Página 39

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 Plan1. Preparar las condiciones iniciales:- Eliminar las dos tortugas de inicio- Crear el personaje principal y ajustar sus propiedades (Tamaño y posición)- Incluir un indicador de TIEMPO2. Asignar las teclas para el movimiento3. Hacer la PISTA en el Spaceland4. Probar y hacer ajustes

ProgramandoEmpezaremos creando al personaje “Corredor” y asociando la imagen que se muestra. En este juego usaremos bloques nuevos y pondremos en práctica nuevas ideas para explicar conceptos que permitirán construir juegos cada vez mejores.

Comentarios

Page 29: Juegos en StarLogo TNG Segunda Parte

Juegos en StarLogo TNG - Juan Javier Guampe - 2012Página 40

Juego 3: Contrareloj

Esta parte la realizamos en la sección 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 CAJÓN “Setup and Run” de la pestaña “Factory”. Recordemos que también es posible colocar rápidamente los bloques si escribimos con el teclado las primera letras de su nombre

Comentarios

Esta vez vamos a utilizar el concepto de PROCEDIMIENTO (Procedure). En la pestaña “Factory” encontramos un CAJÓN con el nombre de “Procedure” y dentro de él varios bloques, el primero de ellos tiene el mismo nombre que el cajón. Este bloque puede agrupar a muchos otros bloques, creando de esta forma un bloque que puede realizar varias acciones y que además 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 múltiples acciones

El procedimiento DEBE estar ubicado en la sección apropiada del CANVAS, que es la sección del personaje que realiza las acciones.

Comentarios

Page 30: Juegos en StarLogo TNG Segunda Parte

Juegos en StarLogo TNG - Juan Javier Guampe - 2012 Juegos en StarLogo TNG - Juan Javier Guampe - 2012Página 40 Página 41

Juego 3: Contrareloj

Esta parte la realizamos en la sección “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 acción (“then” está vacío), 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 posición de inicio y con dirección 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 vehículo (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.

Comentarios

Page 31: Juegos en StarLogo TNG Segunda Parte

Juegos en StarLogo TNG - Juan Javier Guampe - 2012Página 42

Juego 3: Contrareloj

Como vemos en esta imagen, la mayor cantidad de bloques están ubicados en la sección del personaje “Corredor” y forman el PROCEDIMIENTO. La sección SETUP tiene los bloques de inicio del juego y la sección RUNTIME sólo tiene un bloque “forever” y en su interior el P R O C E D I M I E N T O “Correr”.Este NUEVO bloque se puede encontrar en el CAJÓN “Corredor” de la pestaña “My Blocks”

Comentarios

Haciendo la pista en el Spaceland

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

Es importante respetar las zonas de arranque (X=-41; Y=18) y de parqueo (X=10; Y=-43) de acuerdo con la programación 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.

Comentarios

Para la construcción 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 cuadrícula, 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 dónde están ubicadas (Coordenadas “X” y “Y”)

Comentarios

Page 32: Juegos en StarLogo TNG Segunda Parte

Juegos en StarLogo TNG - Juan Javier Guampe - 2012 Juegos en StarLogo TNG - Juan Javier Guampe - 2012Página 42 Página 43

Juego 3: Contrareloj

Plan Para dibujar una pista como se muestra en la figura debemos:1. Dibujar un rectángulo de color blanco que cubra todo el terreno. En la pestaña “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 rectángulo se empieza desde la esquina superior izquierda moviendo el mouse sin soltar el botón.

2. Dibujar un polígono de color negro, la herramienta se encuentra en la misma pestaña “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 dirección. 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 polígono de color blanco que tendrá aproximadamente la misma forma que el polígono negro pero un poco más pequeño y ubicado en el interior de éste. Nuevamente es necesario ajustar el color a blanco con los selectores.

4. Dibujar un pequeño rectángulo de color azul (meta) y otro rectángulo 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 pequeña línea blanca con ayuda de la herramienta rectángulo, justo detrás del personaje, pues si bien éste no puede moverse hacia atrás, podría dar un giro y llegar a la zona azul (meta) sin hacer el recorrido por la pista de color negro.

Page 33: Juegos en StarLogo TNG Segunda Parte

Juegos en StarLogo TNG - Juan Javier Guampe - 2012Página 44

Juego 3: Contrareloj

Es importante saber en donde empezar la pista de color negro, pues nuestro personaje ya tiene asignado una posición 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 opción es dar click sobre el botón SETUP que se encuentra en el CANVAS para posicionar al personaje y entonces empezar a dibujar con respecto a esta posición

Comentarios

Ideas

Page 34: Juegos en StarLogo TNG Segunda Parte

Juegos en StarLogo TNG - Juan Javier Guampe - 2012 Juegos en StarLogo TNG - Juan Javier Guampe - 2012Página 44 Página 45

Juego 3: Contrareloj

Ideas

Como una segunda opción para dibujar la pista de color negro, se puede utilizar la herramienta “Pencil” ó lápiz. Esta herramienta ofrece una opción para seleccionar el grosor del trazo. Con un grosor alto podemos dibujar a mano alzada una pista, sin tener que usar la herramienta polígono dos veces. No hay que olvidar ajustar también el color a negro para hacer el trazo con el lápiz.

Page 35: Juegos en StarLogo TNG Segunda Parte

Juegos en StarLogo TNG - Juan Javier Guampe - 2012Página 46

Juego 3: Contrareloj

Page 36: Juegos en StarLogo TNG Segunda Parte

Juegos en StarLogo TNG - Juan Javier Guampe - 2012 Juegos en StarLogo TNG - Juan Javier Guampe - 2012Página 46 Página 47

Juego 3: Contrareloj

Finalmente podemos cambiar los nombres de los bloques “setup” y “forever”, que aparecen en el CANVAS, por unos nombres que tengan una mayor relación 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 también en el SPACELAND donde los dos botones tiene ahora los nuevos nombres.

Comentarios

Page 37: Juegos en StarLogo TNG Segunda Parte

Juegos en StarLogo TNG - Juan Javier Guampe - 2012Página 48

Juego 3: Contrareloj

Bloques adicionales usados

Este bloque se encuentra en el CAJÓN “Setup and Run” de la pestaña “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 CAJÓN “Setup and Run” de la pestaña “Factory” y sirve para mostrar el reloj interno que ofrece StarLogo TNG. Cada vez que damos click en un botón “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 CAJÓN “Procedure” de la pestaña “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 sección del personaje que vamos a asociar las acciones. Para encontrarlo y usarlo en otras partes del programa o juego debemos abrir el CAJÓN del personaje, ó escribir directamente sobre el CANVAS el nombre que le dimos.

Este bloque se encuentra en el CAJÓN “Text” de la pestaña “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 CAJÓN “Text” de la pestaña “Factory”, se utiliza para convertir un número 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 CAJÓN “Setup and Run” de la pestaña “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 límite 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 quién es el más rápido.

Page 38: Juegos en StarLogo TNG Segunda Parte

Juegos en StarLogo TNG - Juan Javier Guampe - 2012 Juegos en StarLogo TNG - Juan Javier Guampe - 2012Página 48 Página 49

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 Plan1. Preparar las condiciones iniciales:- Eliminar las dos tortugas de inicio- Crear el personaje principal y los objetos - Ajustar las propiedades: Posición, etc.2. Asignar las teclas para el movimiento del personaje, de los objetos y las balas3. Crear el escenario en el SPACELAND4. Probar y hacer ajustes

ProgramandoEmpezaremos creando tres personajes de familias diferentes: “Jugador”, “Objetos” y “Balas”. Se ha tomado como forma las imagenes que se muestran, las cuales están en las pestañas “people”, “basic-shapes” y “objects” respectivamente.

Comentarios

Page 39: Juegos en StarLogo TNG Segunda Parte

Juegos en StarLogo TNG - Juan Javier Guampe - 2012Página 50

Juego 4: Corre y dispara

Después 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 tamaño de dos. También se crearán diez personajes de la familia “Objetos” con un tamaño de tres y ubicados aleatoriamente, ó al azar dentro del terreno, por esta razón se ha incluido el bloque “scatter Objetos” que puede ser encontrado dentro del CAJÓN “Objetos” de la pestaña “My Blocks”. Los últimos dos bloques se encargan de reinciar el reloj y mostrarlo dentro del SPACELAND.

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 crearán durante el desarrollo del juego, para lo cual se explicará posteriormente una forma de hacerlo. En la imagen inferior se muestra una visión general de la organización de los bloques en seis secciones del CANVAS: Jugador - Objetos - Balas - Setup - Runtime y Collisions. Existen procedimientos en las tres primeras.

Comentarios

Page 40: Juegos en StarLogo TNG Segunda Parte

Juegos en StarLogo TNG - Juan Javier Guampe - 2012 Juegos en StarLogo TNG - Juan Javier Guampe - 2012Página 50 Página 51

Juego 4: Corre y dispara

Este procedimiento que tiene el nombre “mueve y dispara” se ha creado en la sección “Jugador” del CANVAS. Esta parte de la programación 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 penúltimo bloque “if” se encarga de disparar las balas. Para esto se ha configurado la tecla “a” como condición 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 también el bloque “set breed” en conjunto con el bloque “breed: Balas” que se puede encontrar dentro del CAJÓN “Balas” de la pestaña “My Blocks”. Dentro del bloque “hatch-do” también se han usado dos bloques más para establecer el tamaño 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.

Comentarios

Page 41: Juegos en StarLogo TNG Segunda Parte

Juegos en StarLogo TNG - Juan Javier Guampe - 2012Página 52

Juego 4: Corre y dispara

Este procedimiento con el nombre de “mueveobjetos” se realiza en la sección “Objetos” del canvas y se encarga de mover a cada uno de los diez objetos por el terreno en línea recta. Adicionalmente se ha establecido un cambio de dirección 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 serán zonas de protección para el “Jugador”

Comentarios

Para las “Balas” también se ha creado un procedimiento llamado “muevebala” el cual ha sido creado en la sección “Balas” del canvas. Este procedimiento se encarga de mover las balas en línea recta, así como eliminarlas cuando se acercan a los bordes del terreno, específicamente cuando se encuentran en coordenadas (“X” ó “Y”) superiores a 48 ó inferiores a -48. De no hacer esto las balas quedarían rebotando indefinidamente por el terreno y su número aumentaría con el paso del tiempo, a medida que el “Jugador” dispare más y más. Aquí se han empleado los bloques “or”, los de mayor que y menor que y el bloque “die” que elimina el personaje “Bala”.

Comentarios

Page 42: Juegos en StarLogo TNG Segunda Parte

Juegos en StarLogo TNG - Juan Javier Guampe - 2012 Juegos en StarLogo TNG - Juan Javier Guampe - 2012Página 52 Página 53

Juego 4: Corre y dispara

En la sección “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 opción 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 desaparecerán (“die”).

Esta parte de la programación se debe realizar en la sección “Collisions” del CANVAS y los bloques de color gris necesarios se encuentran en el CAJÓN “Collisions” de la pestaña “My Blocks”

Comentarios

Page 43: Juegos en StarLogo TNG Segunda Parte

Juegos en StarLogo TNG - Juan Javier Guampe - 2012Página 54

Juego 4: Corre y dispara

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 pestaña “Drawing”, ajustando los colores como se ha explicado previamente.

La ubicación de estas zonas queda a decisión de cada persona, sin embargo, la zona de llegada debería quedar lo más lejos posible de la zona de partida para conseguir un juego más entretenido.

Comentarios

Page 44: Juegos en StarLogo TNG Segunda Parte

Juegos en StarLogo TNG - Juan Javier Guampe - 2012 Juegos en StarLogo TNG - Juan Javier Guampe - 2012Página 54 Página 55

Juego 4: Corre y dispara

Bloques adicionales usadosSe trata de dos bloques similares en su funcionamiento, aunque pertenecen a CAJONES diferentes. El primero de ellos “scatter everyone” se encuentra en el cajón “Setup and Run” de la pestaña “Factory” y se encarga de colocar a todos los personajes en una posición al azar. El segundo bloque se encarga de colocar solo a los personajes de esa familia en una posición al azar. Se encuentra en el cajón correspondiente a dicha familia en la pestaña “My Blocks”

Este bloque se encuentra en el CAJÓN “Logic” de la pestaña “Factory” y sirve para generar una copia de un personaje de cualquier familia. Dentro de la sección “do” se puede indicar a qué personaje se va a generar y otras propiedades más (Tamaño, altura, color, etc)

Este bloque se encuentran en el CAJÓN “Traits” de la pestaña “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” estarían al mismo nivel del terreno.

Este bloque se encuentra en el CAJÓN “Traits” de la pestaña “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 CAJÓN correspondiente a la familia del personaje (En el ejemplo, la familia “Balas) dentro de la pestaña “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 CAJÓN “Logic” de la pestaña “Factory”. Se usa para saber si cualquiera de los dos elementos colocados en los extremos cumple con la condición. En nuestro ejemplo, la condición era si las coordenadas “X” ó “Y” eran mayores o menores a un número.

Este bloque se encuentran en el CAJÓN “Logic” de la pestaña “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 número. En caso de ser verdadera la afirmación, el bloque genera un valor “verdadero” (“True”) que puede ser usado para tomar una decisión posterior.

Este bloque se encuentra en el CAJÖN “Logic” de la pestaña “Factory”. Se utiliza para eliminar un personaje. En el ejemplo se utilizó junto a los bloques de colisión 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 quién consigue llegar primero a la meta

- Incrementa el número de “Objetos” para hacer el juego un poco más difícil

Page 45: Juegos en StarLogo TNG Segunda Parte

Juegos en StarLogo TNG - Juan Javier Guampe - 2012Página 56

Juego 5: No pares hasta terminar

Crear un juego en donde el personaje principal deba tomar objetos con forma de números que van apareciendo uno a uno en una ubicación 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 números. Con el paso del tiempo el TERRENO se llenará de líneas y será más difícil avanzar.

? ProblemaPlan

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

Programando

Page 46: Juegos en StarLogo TNG Segunda Parte

Juegos en StarLogo TNG - Juan Javier Guampe - 2012 Juegos en StarLogo TNG - Juan Javier Guampe - 2012Página 56 Página 57

Juego 5: No pares hasta terminar

Esta imagen muestra una visión general de toda la programación en el CANVAS. Como se aprecia, la mayor cantidad de bloques están ubicados en la sección “Collision” y en la sección “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 sección “Setup” del CANVAS.

Se han creado dos personajes únicamente: “Jugador” y “uno”. Los otros personajes, es decir, los demás números, se crearán durante la ejecución 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

Comentarios

El bloque “pen down” que está asociado con el personaje “Jugador” tiene la función de dejar un rastro, o trazar una línea, por donde se vaya moviendo dentro del terreno. Esta línea será, por

defecto, de color gris.

Page 47: Juegos en StarLogo TNG Segunda Parte

Juegos en StarLogo TNG - Juan Javier Guampe - 2012Página 58

Juego 5: No pares hasta terminar

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 función de ubicar al “Jugador” en una zona al azar dentro del terreno, cuando éste se encuentre próximo 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 línea gris que está dibujando cuando se mueve. Por esta razón el personaje no puede parar y de hacerlo será llevado a una zona al azar.

Comentarios

La operación “random 101 - 51” tiene como resultado un número entre -50 (cuando el número al azar generado por el computador es 1 y al ser restado con -51 da como resultado -50) y 50 (Cuando el número al azar es 101: 101-51=50)

Page 48: Juegos en StarLogo TNG Segunda Parte

Juegos en StarLogo TNG - Juan Javier Guampe - 2012 Juegos en StarLogo TNG - Juan Javier Guampe - 2012Página 58 Página 59

Juego 5: No pares hasta terminar

En la sección “Runtime” del CANVAS se debe usar un bloque “forever” y dentro de la sección del “Jugador” de este bloque, se incluye el procedimiento “mover”. Sin embargo, es necesario crear primero el procedimiento que se explica en la siguiente página.

Comentarios

La imagen de la derecha muestra la programación realizada en la sección “Collisions” del CANVAS. Básicamente 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 páginas con un mejor detalle y una breve descripción.

Comentarios

Page 49: Juegos en StarLogo TNG Segunda Parte

Juegos en StarLogo TNG - Juan Javier Guampe - 2012Página 60

Juego 5: No pares hasta terminar

Este bloque de color gris que se encuentra en el CAJÓN “Collisions” de la pestaña “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”), también 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á.

Comentarios

Page 50: Juegos en StarLogo TNG Segunda Parte

Juegos en StarLogo TNG - Juan Javier Guampe - 2012 Juegos en StarLogo TNG - Juan Javier Guampe - 2012Página 60 Página 61

Juego 5: No pares hasta terminar

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

Comentarios

Este bloque de colisión 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.

Comentarios

Page 51: Juegos en StarLogo TNG Segunda Parte

Juegos en StarLogo TNG - Juan Javier Guampe - 2012Página 62

Juego 5: No pares hasta terminar

Durante el juego siempre está el “Jugador” y otro de los p e r s o n a j e s de números. A medida que el jugador se mueve, va dejando detrás 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 número 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 más difícil el desplazamiento del jugador.

Comentarios

Page 52: Juegos en StarLogo TNG Segunda Parte

Juegos en StarLogo TNG - Juan Javier Guampe - 2012 Juegos en StarLogo TNG - Juan Javier Guampe - 2012Página 62 Página 63

Juego 5: No pares hasta terminar

Bloques adicionales usadosEste bloque se encuentra en el CAJÓN “Traits” de la pestaña “Factory”. Si se asocia con uno de los personajes, hace que éste vaya dejando un rastro ó línea a medida que se desplaza por el terreno.

Este bloque se encuentra en el CAJÓN “Terrain” de la pestaña “Factory”. Es similar en su función a los bloques “patch Color” y “pc ahead”. Se utiliza como una prueba o condición 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 sección 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 números, de tal forma que se aún más difícil alcanzar los objetos que debe tomar el personaje principal.

- Incluye hasta el número 9, haciendo mucho más difícil el juego.

- Piensa en una forma diferente de hacer el juego en donde los números sean reemplazados por varios personajes de UNA MISMA FAMILIA.

Page 53: Juegos en StarLogo TNG Segunda Parte

Juegos en StarLogo TNG - Juan Javier Guampe - 2012Página 64

CAPÍTULO III

Más juegos sencillos

Más bloques de programación

Introducción al uso de variables

Cap3

Page 54: Juegos en StarLogo TNG Segunda Parte

Juegos en StarLogo TNG - Juan Javier Guampe - 2012 Juegos en StarLogo TNG - Juan Javier Guampe - 2012Página 64 Página 65