Este documento presenta Greenfoot, un marco de trabajo para Java que facilita el aprendizaje de programación orientada a objetos a través del desarrollo de juegos y simulaciones interactivas. Explica que Greenfoot proporciona un entorno de desarrollo integrado y bibliotecas para crear aplicaciones basadas en escenarios con actores que pueden interactuar. También describe las clases principales World y Actor y ofrece instrucciones paso a paso para crear un proyecto de ejemplo con una clase World y una clase Actor que herede de estas cl
POO y Greenfoot con introducción a la programación orientada a objetos
1. POO Y JAVA
CON
GREENFOOT
(INTRODUCCIÓN)
EDUARDO H. CALVILLO GÁMEZ
PROYECTO DE DESARROLLO DE VIDEOJUEGOS
Con info de:
• http://www.greenfoot.org/doc
• Kölling, M (2009) Introduction to Programming with Greenfoot: Objected-
Oriented Programming in Java with Games and Simulations
2. GREENFOOT
• http://www.greenfoot.org
• Marco de Trabajo (Framework) para aprender POO con
Java
• Fácil de usar y fácil para aprender POO
• IDE (Integrated Development Environment)
• Bibliotecas exclusivas para facilitar el desarrollo
• Se necesita que greenfoot este instalado para que los
programas se ejecuten
• Se pueden crear archivos JAR ejecutables
• Cuenta con bibliotecas para comunicarse con Kinect
• Enfocado al desarrollo de GUIs interactivas (juegos)
3. INFORMACIÓN
BÁSICA
• Funciona en base de escenarios
• Imágenes de fondo para la aplicación
• Dos clases principales, abstractas y no editables.
• World
• No interactuable
• Actor
• Interactuable
4. WORLD
• doc/API/greenfoot/World.html
• Hijo de java.lang.Object
• Clase abstracta (no se pueden crear objetos)
• 2 Constructores
• World (int worldWidth, int worldHeight, int cellSize)
• World (int worldWidth, int worldHeight, int cellSize, boolean
bounded)
• 19 Métodos
5. ACTOR
• doc/API/greenfoot/Actor.html
• Hijo de java.lang.Object
• Clase abstracta
• 1 Constructor
• Sin argumentos
• 20 Métodos
• Física
• Interactúa con el mundo y otros actores
7. OPCIONES
• Con el botón contextual
(derecho)
• Sobre la clase, podemos
llamar a los constructores
• Sobre el objeto, podemos
llamar a los métodos.
• Código
• Doble clic sobre las clases
despliega el código, y
podemos escoger entre
documentación (javadoc) o el
código
8.
9.
10. INTERACTUAR CON WOMBAT
5 MINS
POPULAR EL MUNDO EN LA
CONSTRUCCIÓN DEL OBJETO
EJECUTAR MÉTODOS DE LOS
OBJETOS
13. INSTRUCCIONES (2)
• Crear una subclase de World
• Dar un nombre a la clase
• Pared
• Poner una imagen de fondo en el mundo
• backgrounds -> bricks3.jpg
• Compilar
• Automáticamente se carga la imagen en el escenario.
14.
15. INSTRUCCIONES (3)
• Ajustar el tamaño del mundo a 400 x 400, no cambiar el
tamaño de la celda
• Agregar una clase hija de Actor
• Nombrarla Pingu
• Agregar una imagen
• Other -> tux.jpg
• Agregar un objeto de tipo Pingu al mundo
• Dentro del constructor de Pared
Pingu p = new Pingu();
addObject(p,200,200);
16. INSTRUCCIONES (4)
• Editar el método act()
• Agregar el método move(5)
• En caso de dudas, revisar API de Actor
• Compilar
• Ejecutar
• Checar si llego a la orilla del mundo
• World miMundo= getWorld // polimorfismo
• int x = getX();
• getImage().getWidth();
19. PRÁCTICA
• Revisar la clase Greenfoot
• doc/API/greenfoot/Greenfoot.html
• Ejercicio 1
• Generar un número aleatorio en la clase Pingu
• Hacer que el objeto se mueva ese número aleatorio
• Agregar un número aleatorio de Pingus al mundo
• Hacer que Pingu dé vuelta 33 grados
• Ejercicio 2
• Actuar solamente mientras la tecla “g” este presionada.
• Ejercicio 3
• Detener la ejecución del programa cuando algún Pingu llegue a 0,0.
• Ejercicio 5
• Agregar más objetos al mundo
• Agregar sonido
• Ejercicio 6
• Utilizar los métodos de getObjects… de la clase Actor