¡Crea el juego de salón más conocido de los 80s!
Encuentra tu camino a través de un laberinto
mientras comes bolitas. ¡Cuidado con los
fantasmas!
Creado por: Susan Miller, University of Colorado, School of Education
Este trabajo ha sido diseñado como parte del proyecto Scalable Games Design.
Fue creado usando secciones de trabajos previos realizados por Fred Gluck y Cathy Brand. Traducido y
adaptado por Yolanda Martínez Treviño, Silvia Iliana Ramírez R. del ITESM, Campus Mty.
Revisado por: Ma. Guadalupe Roque Díaz de León, Campus Mty.
Este material esta basado en trabajo patrocinado por el National Science Foundation con el Grant No. DRL-1312129
y CNS-1138526. Cualquier opinión, descubrimiento y conclusiones o recomendaciones expresadas en este material
son del autor o autores y no necesariamente reflejan las opiniones del National Science Foundation.
Creando
“PacMan”
PacMan Curriculum v3.02017 Page 2 of 22 Scalable Game Design
Vocabulario/Definiciones
Algoritmo Colección de instrucciones diseñadas para desempeñar una
tarea específica.
Atributo Una variable que pertenece a un agente (como el aroma),
llamada Variable Local en el área de programación.
Corchetes Método para agrupar información adicional al utilizar “[“ y “]”
Transmisión
(Broadcast)
Los controladores mandan (o transmiten) un mensaje
Fantasma El agente que persigue al PacMan
Colisión Evento en el cual dos agentes chocan
Difusión Proceso en el que los valores de un atributo (en este juego, el
aroma) cambian con base en la ubicación de la fuente
Incremento Aumentar en uno el valor de un atributo
Ascenso de
Colinas (Hill-
Climbing)
Una forma especifica de la técnica o algoritmo de búsqueda en
el cual el agente que está buscando utiliza información
(atributos de agente) que está “incrustada” en el piso
Método Colección de reglas que tienen un nombre y son evaluadas por
un agente como respuesta a un mensaje
PacMan Personaje principal que come las bolitas mientras que el
usuario lo mueve alrededor del mundo
Paréntesis Método para agrupar información adicional utilizando “(“y“)”
Poleo o Sondeo Proceso de pedir a los agentes que actualicen una propiedad de
la simulación y después tomen una acción basada en el valor
de la propiedad de la simulación
Propagar La difusión del aroma
Aleatoriamente Que ocurre al azar
Orden de regla Orden en el cual las reglas se definen para cada agente
Propiedad de
simulación
Un valor que tiene un nombre y que todos los agentes pueden
ver y actualizar
PacMan Curriculum v3.02017 Page 3 of 22 Scalable Game Design
Estás a punto de crear tu primer juego. Dado que esto es nuevo para ti, te daremos algunas
partes del código. Pero cuidado– tendrás que encontrar los patrones para crear el resto del
código. Si tienes dificultades, ¡pide ayuda a algún compañero!
Entra a AgentCubes y Crea un juego nuevo
Paso 1 Crear Juego
Da clic en el
botón
New Project Proyecto Nuevo
en la esquina
inferior derecha
de la Ventana
para
Elegir Proyecto
ProjectChooser.
Paso 2 Da un nombre a
tu juego
Teclea PacMan
como nombre
para el proyecto
y haz clic en OK
Crea los agentes para PacMan
Paso 3
Haz clic en el botón +Agente, en la parte inferior izquierda de la pantalla.
De la ventana Buscador de Formas selecciona Inflatable Icon (ícono inflable), luego
Miscellaneous (Varios), luego packy para obtener una imagen de PacMan.
Teclea PacMan en el espacio para el nombre del agente (Agent Name)
Haz clic en OK
PacMan Curriculum v3.02017 Page 4 of 22 Scalable Game Design
Paso 4
Para editar el dibujo del PacMan, haz doble clic en el ícono del agente (no en el nombre
sino en la imagen).
Puedes hacer clic en el botón ELIMINA Clear para borrar la imagen actual.
Dibuja tu propio PacMan, usando la herramienta lápiz y la caja de colores (el
cuadrado de color que está en el centro de la columna que aparece en el lado izquierdo). Haz clic en la herramienta caja de colores para elegir un nuevo color.
Usa la herramienta cubeta para llenar el espacio con el color seleccionado.
Haz clic en el botón + para inflar tu dibujo.
Usa la barra deslizante Límite Superior (Ceiling) para empujar tu imagen hacia abajo.
Haz clic en la caja Orientación Vertical (upright) para poner a PacMan “de pie”.
Selecciona front and back connected (frente y espalda conectados) que está enfrente
de la palabra Surfaces (Superficies) para que PacMan tenga 2 lados.
Paso 5 Crea el
Fantasma.
Haz clic en el
botón +Agente
Ponle de nombre
fantasma
Selecciona
Miscellaneous
(Varios) dentro
de
Inflatable Icon
(ícono inflable),
busca – ghosty Puedes editar y
cambiar el color
o dibujar tu
propio
fantasma.
He aquí un Fantasma de PacMan.
PacMan Curriculum v3.02017 Page 5 of 22 Scalable Game Design
Paso
6
Haz una
segunda
representación
o forma en la
parte de abajo
de la ventana.
Da nombre a tu
nueva forma y
luego haz clic
en OK
Luego haz
doble clic en la
imagen que está
al lado del
nombre de la
nueva forma y
edítala.
Cambia el color del fantasma de manera que se vea diferente al fantasma original.
Paso
7
Crea la pared
Haz clic en el
botón +Agente
Ponle de
nombre Pared
Selecciona
Cube (Cubo) y
luego
selecciona el
cubo que tu
quieras.
Pared
Paso
8
Crea el piso
Haz clic en el
botón +Agente
Ponle de
nombre Piso
Selecciona Tile
(ladrillo) y elige
el que tu
quieras.
Piso
Paso
9
Crea la Bolita
Haz clic en el
botón +Agente
Bolita
PacMan Curriculum v3.02017 Page 6 of 22 Scalable Game Design
Ponle de
nombre
Bolita
Selecciona un inflatable icon (ícono inflable), borra la imagen, dibuja la bolita, usa +
para inflarla y usa la barra deslizante Límite Superior (Ceiling) para “aplanarla”.
Paso
10
Haz el mundo
del Nivel1
Haz clic en el
botón + al
lado de la
palabra World
(Mundo)
Cuando
aparezca la caja
del nuevo mundo, teclea
Nivel1 en el
espacio Name.
TECLEA
ROWS 16
COLUMNS 21
OK
Paso
11
Diseña tu
mundo
Usa la
herramienta
(rectángulo de
líneas
punteadas)
para dibujar un
arreglo de pisos
en el mundo.
Usa la misma
herramienta para crear la
pared con los
cubos y para
poner bolitas
arriba del piso.
Usa la
herramienta
lápiz para
agregar agentes
individualmente
Los Fantasmas están en un área rectangular abierta. PacMan está en la esquina
inferior izquierda.
PacMan Curriculum v3.02017 Page 7 of 22 Scalable Game Design
(el PacMan y
los Fantasmas).
Paso
12
Utiliza el botón
Save localizado a un lado del nombre
de tu Mundo
para guardar tu
Mundo cuando
te guste como se ve.
Solamente guarda Save tu Mundo cuando hayas diseñado el espacio del
juego para iniciar un juego. De esta forma podrás usar el
botón Reiniciar Que volverá al punto de inicio, es decir el último
diseño de juego que guardaste.
Es hora de crear comportamientos para tus Agentes
Paso 13 Crea el
comportamiento
de un agente Haz clic en un
agente y su
Ventana de
Comportamiento
(Behavior)
aparecerá en la
parte de abajo del
mundo.
Para crear las reglas, vas a
arrastrar los
elementos que
representan las
condiciones de la
izquierda y las
acciones de la
derecha.
Esta regla dice:
IF (SI) el usuario presiona la tecla (key) flecha hacia arriba (UP
ARROW), AND (Y) NOT see ( Y NO veo) una Pared en la dirección
hacia arriba,
THEN (ENTONCES) mi PacMan se mueve hacia arriba
Sugerencia: Haz clic en la condición See, y luego en el botón NO que
está en la parte inferior de la ventana para hacer la condición NOT See
(NO veo).
Crea 3 reglas más para hacer que el PacMan se mueva a la derecha, a la
izquierda y hacia abajo.
NOTA: Haz clic en la regla que hiciste, luego haz clic en el botón
+RULE (+REGLA) en la parte inferior de la ventana para crear cada
nueva regla.
PacMan Curriculum v3.02017 Page 8 of 22 Scalable Game Design
Paso 14 Programa el
PacMan para
comer bolitas.
Primero toma un momento para pensar en el PacMan y las bolitas. ¿El
PacMan realmente se come las Bolitas? No, es sólo un dibujo que no
puede comer nada. Se trata de una ilusión. Cuando el PacMan está al lado
de las Bolitas, entonces la Bolita desaparece, haciendo parecer que el
PacMan se la comió.
Observa el siguiente código, PacMan ve una Bolita arriba de él:
Dice…
IF (SI) se presiona la flecha arriba Y veo una Bolita arriba THEN
(ENTONCES)…
borro la Bolita de arriba de mí Y
me muevo hacia arriba
Ahora agrega otras 3 reglas para las otras 3 direcciones.
Paso 15 Programa los
Fantasmas
para que se
muevan de
manera
aleatoria
Haz clic en el agente para agregarle comportamiento.
¿Cómo puedes hacer que los Fantasmas se muevan más rápido o más
lento?
Experimenta con el número que pones en la condición once every (una
vez cada).
¿Se deben mover los Fantasmas sobre las bolitas?
¿O solamente en el piso?
¡Decídelo y prográmalo de acuerdo a tu decisión!
PacMan Curriculum v3.02017 Page 9 of 22 Scalable Game Design
Paso 16 Crear la regla
para terminar
el juego
cuando
PacMan está
al lado de un
Fantasma.
Haz clic en el PacMan y agrega
esta regla
Nota: Necesitas
una regla similar
para cada forma
diferente del
Fantasma.
Esta regla dice:
IF (SI) estoy NEXT TO (Al lado de) al menos 1 Fantasma Verde
THEN (ENTONCES)
show a message (muestra el mensaje)
“¡El Fantasma Verde atrapó a Pacman! ¡Trata otra vez!” Y
Reload the World (Vuelve a cargar el mundo)
Sugerencia: ¡Usa
o
para terminar el juego!
PacMan Curriculum v3.02017 Page 10 of 22 Scalable Game Design
Manual del Alumno 2
Parte 2 – Haciendo que el Fantasma persiga al
PacMan
Paso 1:
Primero, asegurémonos que nuestro PacMan emite un aroma. Para hacer esto, necesitamos poner un
valor al atributo “S” del PacMan. S representa el aroma (Por el nombre en inglés scent). Hay varias
formas de hacer esto. Por ejemplo, podemos crear esta regla al final de la lista de reglas de PacMan:
Esta regla dice “Siempre da a S el valor 1000”. AgentCubes interpreta una condición vacía como verdadera. Esta regla debe aparecer DESPUÉS del resto de las reglas de PacMan, al final del método
while running (mientras se esté ejecutando).
Hasta ahora, tu Fantasma sólo se mueve de manera aleatoria, por el piso, o bien, por el
Piso y las bolitas…en realidad no persigue al PacMan, ¿Verdad? ¡Eso está a punto de
cambiar!
El Fantasma inteligentemente buscará al agente PacMan usando un Patrón de
Pensamiento Computacional llamado “búsqueda”. En esta ocasión, usaremos un método de búsqueda específico llamado Ascenso de Colinas (Hill Climbing). Imagina que el
agente PacMan emite un aroma. Ascenso de Colinas (Hill climbing) es un procedimiento
o algoritmo para encontrar la dirección en la cual el aroma es más fuerte.
El aroma se va a esparcir, o propagar, por el agente Piso usando un Patrón de
Pensamiento Computacional llamado “difusión”. Difusión es un proceso fundamental
(físico, biológico y social) por el cual los objetos se mueven de áreas de mayor
concentración a áreas de menor concentración. ¡Entre más cerca se encuentre la fuente
del aroma, mayor sera su valor!1.
Esta fase del proyecto introduce el concepto de “atributo de un agente” el cual es
información única que se guarda en cada ocurrencia de un agente. En programación a
este atributo del agente se le llama variable local.
PacMan Curriculum v3.02017 Page 11 of 22 Scalable Game Design
Reto:
¿Qué pasará si pones estar regla arriba de las reglas de movimiento de PacMan? ¿El PacMan será
capaz de moverse?
Otra forma de inicializar el atributo S del agente PacMan es poner el valor cuando el PacMan se
agrega al Mundo. Para hacerlo, crea un nuevo Método eligiendo el botón +Método de la parte de
abajo de la ventana. Haz clic en la palabra “on” en la parte gris y amarilla del método y cámbialo
por “when creating new agent” (cuando se cree un nuevo agente).
Tu método “cuando se cree un nuevo agente” debe quedar como este:
Si usas este método para poner valor al atributo S de PacMan, asegúrate de borrar y volver a
dibujar el PacMan y luego GUARDAR el Mundo.
Nota: Si olvidas guardar el Mundo, PacMan podría no tener ningún valor para el atributo S
cuando se vuelva a cargar el Mundo.
Verificando el valor del atributo S del agente PacMan:
1. Selecciona el PacMan en el Mundo.
2. Selecciona Mostrar Atributos del Agente (Show Agent Attributes) del botón que tiene
un engrane en la parte superior de la ventana de AgentCubes.
3. Debes ver aparecer esta ventana:
4. Si la S no se ve en la ventana, quiere decir que todavía no se le ha asignado un valor.
5. Si pusiste la acción de ponerle valor a la S en el método mientras que esté corriendo del
agente PacMan, ejecuta el juego brevemente. Y la S debe aparecer en la ventana de
Atributos.
6. Si usaste el método cuando se crea un nuevo agente, borra y vuelve a dibujar el
PacMan y luego Guarda el Mundo. La S debe aparecer en la ventana de Atributos.
PacMan Curriculum v3.02017 Page 12 of 22 Scalable Game Design
¿Por qué multiplicamos por 0.25? Cuando calculas el promedio de un conjunto de números, los sumas y luego divides la suma entre la cantidad de números. En este caso, dividir entre 4 es equivalente a multiplicar por 0.25
Paso 2:
Ahora, como el aroma se está difundiendo, o esparciendo, necesitamos encontrar el promedio del
aroma del área alrededor del agente Piso o del agente Bolita. Imagínate que los aromas vienen del
norte, sur, este y oeste. El aroma en el centro, entonces, se calcula como el promedio de estos cuatro aromas. ¿Cómo podemos hacer esto en el programa?
Difundir el aroma con las bolitas
El agente bolita tendrá el comportamiento que se muestra abajo; solamente se requiere calcular y
guardar el promedio de los cuatro atributos S de los agentes que se encuentran alrededor del agente.
Recuerda que usaste el nombre de atributo S para representar el aroma (por su nombre en inglés
scent).
S = 0.25*( S[arriba] + S[abajo] + S[derecha] + S[izquierda])
La acción “set” (establecer) coloca al atributo S de cada agente bolita el promedio de los atributos de los agentes que están arriba, abajo y a ambos lados:
S = 0.25*(S[left] + S[right] + S[up] + S[down])
PacMan Curriculum v3.02017 Page 13 of 22 Scalable Game Design
Cambiar el color del piso de acuerdo con el valor S del agente Piso
Puedes agregar acción al Mapa al cambiar el color del piso de acuerdo con el valor S del agente
Piso. Así, puedes ver el valor S difundirse por el mundo.
Nota que el piso debe tener un color relativamente claro. Una forma fácil de crear un agente piso
coloreado con un tono claro es hacer que el piso sea algún ícono inflable (inflatable icon). Da
clic en el botón ELIMINAR para borrar el dibujo. Luego escoge un color claro usando la caja de
colores y ponlo en el dibujo en 2D usando la herramienta cubeta. Ahora tienes un rectángulo
plano en un color claro que puede ser acomodado debajo de las bolitas y el PacMan.
Haz un mundo de prueba con tu agente Piso de color claro y el PacMan. Ejecuta tu juego y los
colores cambiantes deben mostrar que la S es alta cerca del PacMan y baja lejos de él. Agrega un
Fantasma y observa que sigue a PacMan en este mundo simple.
PacMan Curriculum v3.02017 Page 14 of 22 Scalable Game Design
AHORA…¡Difunde el aroma
por el piso agregando una regla
al agente Piso!
Asegúrate de que los paréntesis “(” y los
corchetes “[” se cierran, es decir, tienen sus
paréntesis “)” y corchetes “]” equivalentes.
Paso 3:
Para que los Fantasmas sepan hacia donde caminar, tienen que determinar hacia donde es más fuerte
el aroma. Llamamos a esto Ascenso de Colinas (Hill-Climbing). Si fuera la vida real, olfatearía hacia
arriba, hacia abajo, hacia la izquierda y hacia la derecha. El Fantasma caminaría hacia donde el
aroma fuera más fuerte. Necesitamos programar el Fantasma para que haga esto. Haremos un
MÉTODO para que el Fantasma siga este conjunto de reglas. Observa el código que se muestra
abajo.
La regla del método while running (mientras que se esté ejecutando) dice:
“ONCE EVERY 0.5 seconds, follow the Chase Pacman procedure” que significa:
“UNA VEZ CADA 0.5 segundos, sigue o lleva a cabo el procedimiento llamado Chase PacMan
(Persigue a PacMan)”.
La regla del método Persigue al PacMan (Chase Pacman) dice:
“IF (SI) el aroma (S) arriba (up) de ti es mayor o igual que cualquiera de los otros aromas en las
diferentes direcciones (down –abajo, left- izquierda, right- derecho), THEN (entonces) muévete
(move) hacia arriba (up).”
¿En qué se parecen las ALARMAS DE INCENDIO y la programación?
Un MÉTODO es un conjunto de reglas que tienen un nombre… reglas que se siguen en una situación específica. Éstas se ejecutan cuando se les manda llamar …similar a cuando suena una alarma de incendios, lo cual significa que hay reglas que tienes que seguir. Puedes crear un MÉTODO haciendo clic en el botón +Method (+Método) en la parte de abajo del comportamiento del Agente.
PacMan Curriculum v3.02017 Page 15 of 22 Scalable Game Design
Es decir:
“SI el aroma de arriba de ti es mayor o igual que cualquiera de los otros aromas en las diferentes
direcciones (abajo, izquierda o derecha) ENTONCES muévete hacia arriba.
Ahora, agrega el resto de las reglas para que el Fantasma sepa que hacer
SI el aroma de abajo (S[down]) es mayor…
¿Qué pasa SI el aroma de la izquierda es mayor?
¿Qué pasa SI el aroma de la derecha es mayor?
¡Ejecuta tu juego para ver si el Fantasma persigue al PacMan! Si no funciona, es hora de hacer algo de resolución de problemas. Revisa lo siguiente:
o La regla “pon al atributo S de PacMan el valor 1000” debe ser al última en el método while running (mientras se esté ejecutando).
o O, si usaste el método “cuando crees un nuevo agente” (when creating
new agent) pon a la S el valor 1000, borra y vuelve a dibujar al PacMan, luego guarda el Mundo de manera que el valor inicial de S se guarde.
o En las reglas de “perseguir”, el nombre del método debe ser el mismo en
el mensaje de acción y en el nombre del método que está en el espacio amarillo y gris del método Ascenso de Colinas (Hill Climbing).
o El uso de parentesis “(“ y corchetes “[“ de las reglas del agente Piso
deben ser correctas. Observa la gráfica de la ecuación del agente piso 2 páginas antes de ésta y compáralo con la ecuación que se encuentra en tu agente Piso.
o Revisa tus reglas de Ascenso de Colinas (Hill Climbing) otra vez y
asegúrate de que las flechas de las acciones apuntan a la dirección correcta y que las condiciones de cada una de las reglas son correctas.
PacMan Curriculum v3.02017 Page 16 of 22 Scalable Game Design
Difusión y Ascenso de Colinas (Hill-Climbing) Paso 1:
Para determinar qué pasa en tu juego, es útil observar los atributos del agente.
1. En tu mundo, haz clic en ejecutar hasta que el Fantasma se mueva fuera de la caja y luego
da clic en parar.
2. No vuelvas a cargar el mundo.
3. El aroma de PacMan (el valor de S) se ha difundido a través del mundo.
4. Par ver como el aroma de PacMan (el valor de S) se ha difundido, haz clic en cualquier
parte del piso.
5. Después haz clic en el menú de la ventana de AgentCubes y selecciona la opción Show
Agent Attributes (Muestra los Atributos del Agente)
6. Aparecerá una ventana que muestre el valor del atributo S para ese agente.
7. Haz clic en el mundo. ¿El valor de S es más grande cerca de PacMan y más pequeño lejos del
PacMan?
Revisa los atributos de los cuatro cuadros alrededor del Fantasma (arriba, abajo, izquierda y derecha)
y luego avanza el juego paso a paso usando el botón de manera que puedas ver si tu Fantasma
se está moviendo hacia el agente con el valor S mayor.
Si el Fantasma se mueve hacia el lugar equivocado o no se mueve, regresa y revisa tus reglas en el
método Persigue a PacMan (Chase PacMan). Compara tus reglas con las de alguno de tus amigos.
• ¿Las condiciones son correctas?
• ¿Las flechas en las acciones move (mover) son correctas?
• Revisa que PacMan tenga un valor S dando clic en él y observando en la caja de diálogo de
atributos. Observa en las páginas anteriores las sugerencias acerca de cómo poner valor al
atributo S del PacMan
PacMan Curriculum v3.02017 Page 17 of 22 Scalable Game Design
Fin de la Unidad. Hoja de Revisión. PacMan
A) Los principales patrones de pensamiento computacional que revisamos son:
1) Control del Usuario (User Control): moviendo intencionalmente un agente.
a. Usando las teclas para mover un agente.
b. Un ejemplo es mover el PacMan.
2) Absorción (Absorb): eliminar agentes de la escena.
a. Usa la acción “Borrar” (“Erase”) de AgentCubes.
b. Por ejemplo, borrar las bolitas.
3) Colisión (Collision): cuando 2 agentes chocan
a. Uso de la condición “Ver” (“See”)
b. Uso de la condición “Apilado” (Stacked), ó
c. Uso de la condición “Al lado de” (Next to).
d. Por ejemplo, cuando PacMan come bolitas o cuando pierdes el juego
porque un Fantasma toca al PacMan.
B) Los principales Patrones de Pensamiento Computacional NUEVOS que aprendimos son:
1) Difusión (Diffusion): esparcir el aroma (olor) de un agente a través de un medio
(como el fondo (background)). Usamos un atributo de agente llamado S en el
agente que será perseguido, y difundimos el aroma poniendo el atributo en el
fondo (background) usando el promedio de los 4 aromas alrededor de él,
S = .25 * (S[izquierda]+S[derecha]+S[arriba]+S[abajo])
2) Ascenso de Colinas (Hill-Climbing): seguir el valor más alto del aroma S.
Solamente funcionará si se ha hecho la difusión antes, por lo que estos 2 patrones
van de la mano. Un ejemplo es el método que creamos en el Fantasma para
moverse hacia el agente que esté alrededor que tenga el valor más alto de “S”.
C) Otros conceptos que hemos cubierto en AgentCubes son:
1) Resolución de problemas en la simulación y considerar el orden de las reglas.
2) Usar sonidos y mensajes en el juego.
3) Usar tiempo en las acciones usando la condición UNA VEZ CADA ( “Once
every”).
Manual para el Alumno 4a:
PacMan Cambia de Dirección
Reto
Antes de iniciar este reto:
Debes tener el juego básico PacMan completo, que se gana si
PacMan se come todas las bolitas y los Fantasmas se mueven
de manera aleatoria, o bien, persiguen al PacMan. El PacMan
pierde si un Fantasma lo atrapa. El mundo debe tener paredes
que los Fantasmas y el PacMan no puedan atravesar.
Descripción del reto:
PacMan debe voltear a la dirección a la que se está moviendo.
¿Qué considerar?:
¿Necesitas un agente nuevo?
¿Necesitas una regla nueva?
Debes estar pensando que requieres nuevos agentes …¡PERO ESPERA! Como cada PacMan
seguirá las mismas reglas, no necesitas un agente nuevo, ¡sino 3 formas o representaciones
nuevas (shapes en inglés)!
Pasos:
• Selecciona PacMan haciendo clic en su imagen, luego haz clic en el botón +Shape y dale
un nombre a esta nueva forma.
• Haz doble clic en la imagen que está al lado del nombre nuevo y aparecerá la ventana de
dibujo.
• Borra la imagen y dibuja al PacMan “viendo” hacia una dirección diferente.
• Una vez que tengas 4 formas diferentes, necesitarás cambiar tu código para que cuando
el PacMan cambie la dirección a la que va, también cambie para tener una nueva forma.
• Usa la acción cambia (change) con un punto en el centro porque eso significa
“cámbiame a mí mismo a” (“change me to”) de modo que el agente puede modificar su
propia forma.
• PRUEBA tu programa para confirmar que la imagen cambia cuando el PacMan cambia
su dirección.
Cambia Direcciones
Haz que el pacman “vea” a la dirección a
la que va.
Manual para el Alumno 4b:
El PacMan se mueve Todo el Tiempo. Reto
Antes de iniciar este reto:
Debes tener el juego básico PacMan completo, se gana si PacMan come
todas las bolitas y los Fantasmas se mueven de manera aleatoria, o si
persiguen al PacMan. PacMan pierde si un Fantasma lo atrapa. El
mundo debe tener paredes que los Fantasmas y PacMan no puedan
atravesar.
Debes tener 4 formas diferentes de PacMan de manera que vea hacia la dirección hacia la
que va.
Descripción del Reto:
PacMan se moverá continuamente en la dirección a la cual está “viendo”.
Este reto te da el punto de partida, pero no te dará todo el código. Revisa el código que se
encuentra abajo: Dice, cuando se presiona la flecha a la derecha y no veo una pared a la
derecha, cambia la imagen del PacMan para usar la que “ve” hacia la derecha. Una vez cada
0.2 segundos, haz que yo (PacMan) me mueva en esa dirección (se ejecute el método
MoverEnDireccion (Movedirection).
Cuando se manda llamar el método MoverEnDireccion, el PacMan hace lo siguiente:
Si me veo viendo hacia la derecha Y no veo una pared a la derecha, me muevo a la derecha.
El efecto de esta regla del método MoverEnDireccion es hacer que el PacMan se mueva
hacia donde esté “viendo” mientras que no haya pared en esa dirección.
Todavía hay mucho que hacer:
Moverse Continuamente
Haz que el PacMan se mueva hasta el final de
la fila de bolitas
PacMan Curriculum v3.02017 Page 20 of 22 Scalable Game Design
Paso 1:
Crea el código para las demás direcciones.
Paso 2:
Prueba tu programa (Sugerencia: asegúrate de que tu PacMan todavía deja su aroma
por todas partes).
Haz clic en el PacMan con la herramienta flecha grande para seleccionarlo y ejecutar el
programa.
Usa colores para decidir qué reglas son verdaderas o falsas. En este caso, la primera regla
es roja, lo que significa que la flecha a la derecha no ha sido presionada o que hay una
pared “en su camino”.
La siguiente regla es verde, lo que significa que cada 0.2 de segundos, el PacMan recibe
la indicación de ejecutar su método MoverEnDireccion (Movedirection).
El método MoverEnDireccion (Movedirection) es verde, lo que significa que alguna, o
ambas condiciones son verdaderas.
El PacMan “ve” que su forma actual es la de “ver a la derecha” Y no ve una pared, lo que
hace que la regla sea VERDADERA, de modo que PacMan se moverá un paso a la
derecha.
PacMan Curriculum v3.02017 Page 21 of 22 Scalable Game Design
Manual para el Alumno 4c:
Bolita de Poder. Reto
Antes de iniciar este reto:
Debes tener el juego básico PacMan completo, se gana si
PacMan come todas las bolitas y los Fantasmas se mueven de
manera aleatoria, o bien, persiguen al PacMan. PacMan pierde
si un Fantasma lo atrapa. El mundo debe tener paredes que los
Fantasmas y el PacMan no puedan atravesar.
Debes tener 4 formas diferentes de PacMan de manera que vea
hacia la dirección hacia la que va, y se mueva de manera
continua.
Descripción del Reto:
• Agregar Bolitas de Poder al mundo.
• Las bolitas de Poder le dan a PacMan la habilidad temporal de comerse a los
enemigos. Los enemigos se vuelven de color azul obscuro y empiezan a moverse en
la dirección opuesta a la que originalmente iban.
Este reto te da el punto de partida, pero no te dará todo el código.
Para ayudarte, piensa en lo siguiente …
• Necesitarás un agente nuevo: la Bolita de Poder (Power Pellet)
• ¿Necesitas un nuevo agente para los fantasmas azules?
• Cuando el fantasma persigue al PacMan, tiene un aroma de 1000. ¿Qué pasa si
tiene un aroma de -1000? ¿Cómo puedes poner valor para ese nuevo aroma?
¿Cómo puedes limitar por tiempo ese valor?
• Sugerencia: Usa la acción ascenso de colinas (Hill-Climbing) en lugar de usar
todo el código para “olfatear”.
Bolitas de Poder
Haz una Bolita de Poder que permita que PacMan se coma a los
Fantasmas
PacMan Curriculum v3.02017 Page 22 of 22 Scalable Game Design
Manual para el Alumno 4d:
Siguiente Nivel. Reto
Antes de iniciar este reto:
Debes tener el juego básico PacMan completo, se gana si
PacMan come todas las bolitas y los Fantasmas se mueven de
manera aleatoria, o bien, persiguen al PacMan. PacMan pierde
si un Fantasma lo atrapa. El mundo debe tener paredes que los
Fantasmas y el PacMan no puedan atravesar.
Debes tener 4 formas diferentes de PacMan de manera que vea
hacia la dirección hacia la que va.
Descripción del Reto:
• Cuando el juego termina, aparece un nuevo nivel, ¡Más difícil que el anterior!
Este reto te marca el punto de partida, pero no te dará todo el código.
Para ayudarte, piensa en lo siguiente …
• ¿Necesitas un Agente nuevo? ¿Un mundo nuevo?
• ¿Cuándo aparecerá el nuevo nivel?
• ¿Qué código se necesita cambiar para hacer que el nuevo nivel aparezca?
Debes tener una regla como esta:
¿Como puedes incorporar esta acción en lugar de parar el juego?
Siguiente Nivel
¡Haz un segundo nivel para el PacMan!
¡Siguiente
Nivel!
Top Related