-
Notifications
You must be signed in to change notification settings - Fork 0
/
nave2.java
73 lines (67 loc) · 2.02 KB
/
nave2.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)
import java.util.*;
/**
* Write a description of class nave2 here.
*
* @author (your name)
* @version (a version number or a date)
*/
public class nave2 extends Actor
{
/**
* Act - do whatever the nave2 wants to do. This method is called whenever
* the 'Act' or 'Run' button gets pressed in the environment.
*/
int velocidad=4;
int direccion=1;
boolean cambia = false;//
public void act()
{
if(getRotation()!=180);
setRotation(180);
if(getY()>=30&& !cambia)
{
direccion =-1;//-1 es hacia arriba
}
else
{
cambia=true;
}
if(getY()<=getWorld().getHeight()-30&&cambia)
{
direccion=1;// hacia abajo
}
else
{
cambia=false;
}
setLocation(getX(),getY()+(velocidad*direccion));
reglas();
int x=Greenfoot.getRandomNumber(50); //randon para dar tiempo de atacar al jefe
if(x==25)
{
Ataque attack=new Ataque(2);
getWorld().addObject(attack,getX()-10,getY());
}
}
public void incVelocidad()//nos incrementa la velocidad
{
velocidad++;
}
private void reglas()
{
nave n=(nave)getOneIntersectingObject(nave.class);//cuando intersecte a la nave
if(n!=null)
{
espacio esp=(espacio)getWorld();
esp.removeObject(n); //remueve el objeto
esp.addObject(new nave(),50,300);
esp.vidas.decrementar();//me quita una vida
if(esp.vidas.obtenerValor()==0)//si la vida es cero termina el juego
{
GameOver t=new GameOver();
getWorld().addObject(t,((getWorld().getWidth()/2)+30),((getWorld().getHeight()/2)+150));
}
}
}
}