- Obtener enlace
- X
- Correo electrónico
- Otras aplicaciones
- Obtener enlace
- X
- Correo electrónico
- Otras aplicaciones
Hola y buen día a
todos mis lectores, esta es la tercera parte del proyecto para desarrollar el
inicio de un juego para PC en lenguaje Java utilizando el entorno Greenfoot, (Parte1, Parte 2) aquí les va...
¿Qué comen las tortugas? ¡Pizza!
Lo siguiente,
queremos dar a la tortuga algo que hacer: recolectar algo de comida y comerla.
Para hacer esto, necesitamos algunos nuevos objetos en nuestro mundo: rebanadas
de pizza. (Así es, nuestra tortuga come
pizza. Ésta no es una lección de biología—Es un juego de computadora.)
¿De dónde vienen
los objetos? De una clase. Así que primero, necesitamos crear una clase Pizza.
Damos click derecho en la clase Actor y seleccionar la función New
Subclass. En la caja de dialogo resultante, ingresa Pizza como el nombre de
la clase, y busca la imagen de la rebanada de pizza en la categoría food. Da click en OK.
Tan pronto como las clases son compiladas de nuevo, puedes añadir
unas cuantas rebanadas de pizza (al igual que tortugas) a tu mundo.
Inténtalo. Deja a tu tortuga correr alrededor para recolectar
pizza. Te darás cuenta, sin embargo, que la tortuga no come la pizza (aún).
Solamente atraviesa la pizza. Arreglaremos eso ahora.
Dos tips
Si estás trabajando y experimentando en Greenfoot un poco, te
habrás dado cuenta que necesitas re-crear todos los objetos en el mundo después
de cada compilación. Esto se puede volver un poco tedioso después de un tiempo,
especialmente si tenemos muchos objetos.
Aquí hay dos tips rápidos para hacer tu vida en Greenfoot un poco
más fácil.
- Puedes dar click + shift en el mundo. Éste es un atajo para crear un objeto de la clase que esté actualmente seleccionada en el diagrama de clase a la derecha.
- Cuando todos los objetos están en el mundo como quieres que estén al inicio de tu juego, puedes dar click derecho en el fondo del mundo y seleccionar Save the World para guardar este estado del mundo. Este estado va entonces a ser re-creado automáticamente después de cada compilación o reset.
Detección de colisión
OK, tenemos pizza. Tenemos una tortuga. La tortuga está
hambrienta.
La última parte qué hacer por hoy es hacer que la tortuga se dé
cuenta cuando pasa por alguna pizza y hacer a la tortuga comer la pizza. Para
esto vamos a necesitar lo que se llama collision
detection (detección de colisión) para detectar cuando hemos pasado por
alguna rebanada de pizza. El código completo para hacer esto se encuentra a continuación:
Este código debería ser agregado al final del método act en la clase Turtle. Hay varios nuevos
elementos en este segmento de código. Vamos a verlos uno por uno.
La primera línea llama a un método Greenfoot: getOneIntersectingObject(Pizza.class). Este método
revisa donde la tortuga interseca un objeto de la clase pizza (o, en otras
palabras, pregunta, “¿Estamos tocando una rebanada de pizza?”). Si estamos
tocando una rebanada de pizza, este método regresa el objeto pizza que encontramos. Si
no, regresa un valor especial, null, que nos dice que no estamos tocando nada.
El símbolo de igual ( = ) en la primera línea es un operador de asignación. Almacena el resultado de
nuestra revisión de colisión (el objeto pizza o null) en una variable. Una
variable es una parte de almacenamiento donde podemos guardar objetos. En
nuestro caso, la variable ha sido declarada usando la siguiente sentencia al
inicio de la primera línea:
Esto declara una variable llamada pizza que puede sostener objetos Actor (objetos que viven en el mundo Greenfoot).
Después de la primera línea, la variable pizza sostiene el objeto pizza sobre el que pasamos, o sostiene null si no hemos pasado sobre una rebanada de pizza en este paso.
Ahora sigue otro ejemplo de una sentencia if. En pseudocódigo, el estado de las siguientes líneas sería el siguiente:
Después de la primera línea, la variable pizza sostiene el objeto pizza sobre el que pasamos, o sostiene null si no hemos pasado sobre una rebanada de pizza en este paso.
Ahora sigue otro ejemplo de una sentencia if. En pseudocódigo, el estado de las siguientes líneas sería el siguiente:
La revisión de condición es hecha con la siguiente expresión:
El símbolo != significa no igual. Por lo tanto, aquí estamos diciendo, “Si nuestra variable pizza no es igual a null…” El efecto es que la instrucción en el cuerpo de la sentencia if es ejecutada sólo si la variable pizza no es igual a null, eso es, si hemos pasado sobre alguna pizza.
La siguiente línea entonces elimina el objeto pizza del mundo. Se muestra a continuación la versión completa de nuestro método act en esta etapa.
Inténtalo. Una vez que hayas escrito este código, tu tortuga puede caminar alrededor y comer pizza:
El símbolo != significa no igual. Por lo tanto, aquí estamos diciendo, “Si nuestra variable pizza no es igual a null…” El efecto es que la instrucción en el cuerpo de la sentencia if es ejecutada sólo si la variable pizza no es igual a null, eso es, si hemos pasado sobre alguna pizza.
La siguiente línea entonces elimina el objeto pizza del mundo. Se muestra a continuación la versión completa de nuestro método act en esta etapa.
Inténtalo. Una vez que hayas escrito este código, tu tortuga puede caminar alrededor y comer pizza:
Conclusión
En este artículo, aprendiste un poco más sobre escribir código
Java, y acerca de algunos métodos útiles de Greenfoot.
- Las sentencias if pueden ser usadas para ejecutar una acción solo bajo cierta condición.
- Las sentencias if tienen una condición y un cuerpo. El cuerpo es ejecutado solamente si la condición es true.
- El método Greenfoot.isKeyDown puede ser usado para revisar presiones de tecla.
- El método Greenfoot.isKeyDown puede ser usado como la condición en una sentencia if.
- La detección de colisión puede ser usada para revisar donde un objeto toca a otro.
- Las variables son usadas para almacenar objetos.
- El valor especial null es usado para indica que no tenemos un objeto.
Bien, eso es todo por ahora, pero próximamente tendremos mucho más
de este interesante proyecto, no se lo pierdan porque pondremos a nuestra
tortuga en la mira de un predador. No olviden comentar, compartir, hacer
peticiones, plantear sus dudas o criticas abajo, con gusto daré respuesta,
saludos.
Traducción: El Blog De Baro.
Escrito por: Michael Kölling.
aprender java creando un juego
Greenfoot
java
Java Greenfoot
Java magazine
java poo
Juegos
Juegos en java
poo
Principiantes java
Programación
Video juegos
Video juegos Greenfoot
- Obtener enlace
- X
- Correo electrónico
- Otras aplicaciones
Comentarios
Publicar un comentario