Taller de Juegos Federico Raimondo (fraimondo@dc.uba.ar) Clase 4 3 de Junio de 2011 Federico Raimondo (4) Taller de Juegos 3 de Junio de 2011 1 / 11 Battle City Battle City Federico Raimondo (4) Taller de Juegos 3 de Junio de 2011 2 / 11 Battle City Objetos Un ladrillo (luego duplicamos). Un tanque (el jugador). Un tanque enemigo. Una bala para el enemigo. Una bala para el tanque. Federico Raimondo (4) Taller de Juegos 3 de Junio de 2011 3 / 11 Battle City Ladrillos Un sólo color (vamos a sensar por colores). Va a sensar si una bala lo toca. Si la bala lo toca, envı́a el mensaje “balaimpacto” y se esconde. Federico Raimondo (4) Taller de Juegos 3 de Junio de 2011 4 / 11 Battle City Jugador Vamos a hacer el jugador sensando si las teclas correspondientes estan presionadas. No puede atravezar ladrillos: Sólo se mueve si el color rojo (frente) no está tocando un ladrillo. Federico Raimondo (4) Taller de Juegos 3 de Junio de 2011 5 / 11 Battle City Enemigo Objetivo: buscar el jugador. Vamos a comparar la posición X e Y del tanque con el jugador. 1 2 Lo movemos en el eje Y. Lo movemos en el eje X. Federico Raimondo (4) Taller de Juegos 3 de Junio de 2011 6 / 11 Battle City Enemigo: Paso 1 Por Siempre: Si (posición en Y del jugador + 10) < posición en Y Repetir hasta que (posición en Y < posicion en Y de jugador + 10) Apuntar en dirección abajo Mover 1 paso Si (posición en Y del jugador - 10) > posición en Y Repetir hasta que (posición en Y > posicion en Y de jugador - 10) Apuntar en dirección arriba Mover 1 paso Si (posición en X del jugador - 10) > posición en X Repetir hasta que (posición en X > posicion en X de jugador - 10) Apuntar en dirección derecha Mover 1 paso Si (posición en X del jugador + 10) < posición en X Repetir hasta que (posición en X < posicion en X de jugador + 10) Apuntar en dirección izquierda Mover 1 paso Federico Raimondo (4) Taller de Juegos 3 de Junio de 2011 7 / 11 Battle City Enemigo: Paso 2 No puede atravezar ladrillos: Sólo se mueve si el color rojo (frente) no está tocando un ladrillo. Federico Raimondo (4) Taller de Juegos 3 de Junio de 2011 8 / 11 Battle City La bala del jugador Cuando se presiona la barra espaciadora, se dispara. La bala aparece donde esta el jugador 1. Se apunta en la dirección del jugador 1. Se va moviendo de a 10 pasos y sensando si está tocando al enemigo. Si toca al enemigo, envı́a el mensaje “muerteenemigo” y se esconde. Cuando recibe el mensaje “balaimpacto”, esta desaparece. El enemigo deberá “escuchar” el mensaje “muerteenemigo”, y desaparecer. Federico Raimondo (4) Taller de Juegos 3 de Junio de 2011 9 / 11 Battle City La bala del enemigo Cuando se recibe el mensaje “disparoenemigo” se dispara. La bala aparece donde está el enemigo. Se apunta en la dirección del enemigo. Se va moviendo de a 5 pasos y sensando si está tocando al jugador 1. Si toca al jugador 1, el jugador 1 pierde. Federico Raimondo (4) Taller de Juegos 3 de Junio de 2011 10 / 11 Battle City Enemigo: Paso 3 Objetivo: dispararle el jugador. Vamos a comparar la posición X e Y del tanque con el jugador. Si (posición X del jugador - 10) < posición X < (posición X del jugador + 10) Federico Raimondo (4) Taller de Juegos 3 de Junio de 2011 11 / 11 Battle City Enemigo: Paso 3 Objetivo: dispararle el jugador. Vamos a comparar la posición X e Y del tanque con el jugador. Si (posición X del jugador - 10) < posición X < (posición X del jugador + 10) Si posición Y del jugador < posición Y Apuntamos abajo. Enviamos el mensaje “disparoenemigo”. Federico Raimondo (4) Taller de Juegos 3 de Junio de 2011 11 / 11 Battle City Enemigo: Paso 3 Objetivo: dispararle el jugador. Vamos a comparar la posición X e Y del tanque con el jugador. Si (posición X del jugador - 10) < posición X < (posición X del jugador + 10) Si posición Y del jugador < posición Y Apuntamos abajo. Enviamos el mensaje “disparoenemigo”. Si no (esta arriba) Apuntamos arriba. Enviamos el mensaje “disparoenemigo”. Federico Raimondo (4) Taller de Juegos 3 de Junio de 2011 11 / 11 Battle City Enemigo: Paso 3 Objetivo: dispararle el jugador. Vamos a comparar la posición X e Y del tanque con el jugador. Si (posición X del jugador - 10) < posición X < (posición X del jugador + 10) Si posición Y del jugador < posición Y Apuntamos abajo. Enviamos el mensaje “disparoenemigo”. Si no (esta arriba) Apuntamos arriba. Enviamos el mensaje “disparoenemigo”. Si (posición Y del jugador - 10) < posición Y < (posición Y del jugador + 10) Si posición X del jugador < posición X Apuntamos izquierda. Enviamos el mensaje “disparoenemigo”. Si no (esta a la derecha) Apuntamos derecha. Enviamos el mensaje “disparoenemigo”. Federico Raimondo (4) Taller de Juegos 3 de Junio de 2011 11 / 11