Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 7

lOMoARcPSD|40115314

2.3 Práctica 02 - practica2

ingenieria de software (Servicio Nacional de Adiestramiento en Trabajo Industrial)

Escanea para abrir en Studocu

Studocu no está patrocinado ni avalado por ningún colegio o universidad.


Descargado por Víctor Hugo ([email protected])
lOMoARcPSD|40115314

SENATI Java Fundamentals (Oracle)

PRÁCTICA 02

Realice las siguientes actividades:

1. Abra MundoAbeja y luego:

- Ingrese al código de la clase BeeWorld y cambie el nombre del autor y la versión.

- Revise el código de las clases Abeja, Bug, Fly y Spider. Cambie el nombre del autor y la
versión.

- Ejecute la animación.

2. Acceda a la carpeta Recursos, luego:

- Copie las imágenes a la carpeta images de su proyecto.

- Copie los archivos de audio a la carpeta sounds de su proyecto.

3. Acceda al código de BeeWorld y:

- Redimensione el tamaño a 840x600.

- Modifique el código de prepare() de modo que se vea como:

Abeja abe1 = new Abeja();


addObject(abe1,298,200);
abe1.setLocation(337,183);

int x;
int y;
x = Greenfoot.getRandomNumber(super.getWidth()-1);
y = Greenfoot.getRandomNumber(super.getHeight()-1);
addObject(new Fly(),x,y);

- Modifique el código para ubicar aleatoriamente una araña.

- Modifique el código para ubicar aleatoriamente 5 moscas y 5 arañas, use for o while.

Julio Alberto Arteaga Orellana 1

Descargado por Víctor Hugo ([email protected])


lOMoARcPSD|40115314

SENATI Java Fundamentals (Oracle)

4. Acceda al código de Abeja, modifique el código para que se vea como:

public class Abeja extends Actor


{
// Declaración de variables
private GreenfootImage img_abe1;
private GreenfootImage img_abe2;
private int ptos;

// Constructor
public Abeja()
{
img_abe1=new GreenfootImage("bee1.png");
img_abe2=new GreenfootImage("bee2.png");
setImage(img_abe1);
ptos=0;
}

// Método que se ejecuta con Act o con Run


public void act()
{
}
}

5. Acceda al código de act(), luego:

- Modifique el código para que se vea como:

mover(); // Se desplaza zumbando y cambiando imagen


siPulsaTecla(); // Si se pulsa flecha derecha o izquierda, gira
siTocaCome(); // Si toca a Fly o Spider, come
siTocaBorde(); // Si llega a un borde, sale por el lado contrario
siClicMouse(); // Si se hace clic, se traslada la abeja
siJuegoFin(); // Si ptos = número de insectos, termina

- Lo anterior representa el guion de la animación, iremos implementado cada uno de estos


métodos con detalle. Si algún método es complejo, lo dividiremos en partes e

Julio Alberto Arteaga Orellana 2

Descargado por Víctor Hugo ([email protected])


lOMoARcPSD|40115314

SENATI Java Fundamentals (Oracle)

implementaremos dichas partes con detalle. Y continuaremos con este proceso en un


diseño descendente.

6. Acceda a la clase Abeja, luego:

- Agregue el código siguiente:

// Se desplaza cambiando de imagen


private void mover(){
move(1);
if (getImage() == img_abe1)
setImage(img_abe2);
else
setImage(img_abe1);
}

- Asegúrese de entender el código y ejecute. Puede que necesite comentar instrucciones.

7. En la clase Abeja:

- Agregue el siguiente método (completando el código) para que gire 2 grados según se
pulse la tecla direccional derecha o izquierda:

// Si se pulsa flecha derecha o izquierda, gira


private void siPulsaTecla(){
if (Greenfoot.isKeyDown("left"))
turn(-2);
else if (…………………………..)
turn(2);
}

- Agregue el siguiente método (completando el código) para comer moscas y arañas:

// Si toca a Fly o Spider, come


private void siTocaCome(){
if (isTouching(Fly.class)){
removeTouching(Fly.class);

Julio Alberto Arteaga Orellana 3

Descargado por Víctor Hugo ([email protected])


lOMoARcPSD|40115314

SENATI Java Fundamentals (Oracle)

Greenfoot.playSound("slurp.mp3");
ptos++;
}
if (………………………….){
………………………….
………………………….
………………………….
}
}

- Agregue el código siguiente para el movimiento de la abeja:

// Si llega a un borde, sale por el lado contrario


private void siTocaBorde(){
if(siTocaBordeDer())
setLocation(6,getY());
else if(siTocaBordeIzq())
setLocation(getWorld().getWidth()-6,getY());
else if(siTocaBordeSup())
setLocation(getX(),getWorld().getHeight()-6);
else if(siTocaBordeInf())
setLocation(getX(),6);
}
// Verifica si toca borde derecho
private boolean siTocaBordeDer(){
// Si su posición en X es igual al ancho del mundo --> reubicarse
if (getX()>=getWorld().getWidth()-5)
return true;
else
return false;
}
// Verifica si toca borde izquierdo
private boolean siTocaBordeIzq(){
if (getX()<=5)
return true;
else
return false;

Julio Alberto Arteaga Orellana 4

Descargado por Víctor Hugo ([email protected])


lOMoARcPSD|40115314

SENATI Java Fundamentals (Oracle)

}
// Verifica si toca borde superior
private boolean siTocaBordeSup(){
if (getY()<=5)
return true;
else
return false;
}
// Verifica si toca borde inferior
private boolean siTocaBordeInf(){
if (getY()>=getWorld().getHeight()-5)
return true;
else
return false;
}

8. En la clase Abeja:

- Agregue el siguiente método para trasladar la abeja al hacer un click:

// Si se hace clic, se traslada


private void siClicMouse(){
MouseInfo mouse = Greenfoot.getMouseInfo();
if (mouse!=null){
if (mouse.getButton()==1){
setLocation(mouse.getX(),mouse.getY());
}
}
}

- Agregue y modifique el siguiente método para finalizar el juego:

// Si puntos = número de insectos, termina


private void siJuegoFin(){
if (ptos==2)
Greenfoot.stop();
}

Julio Alberto Arteaga Orellana 5

Descargado por Víctor Hugo ([email protected])


lOMoARcPSD|40115314

SENATI Java Fundamentals (Oracle)

9. Agregue un sonido para indicar el inicio y otro para el final de la animación.

10. Finalmente:

- Cambie el nombre de la clase Abeja por Ave.

Ave

- Reemplace las imágenes de la abeja por imágenes de un ave, use 2 o más imágenes
para dar la sensación de movimiento (puede usar un arreglo de imágenes).

La mayor parte de las grandes cosas que ha


conseguido el hombre, fueron declaradas
imposibles antes de que alguien las hiciera.
Louis D. Brandeis.

Julio Alberto Arteaga Orellana 6

Descargado por Víctor Hugo ([email protected])

También podría gustarte