-
Notifications
You must be signed in to change notification settings - Fork 0
/
freeze_ball.java
57 lines (55 loc) · 1.93 KB
/
freeze_ball.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
import greenfoot.*;
/**
* Write a description of class freeze_ball here.
*
* @author (your name)
* @version (a version number or a date)
*/
public class freeze_ball extends Projectiles
{
SimpleTimer timer = new SimpleTimer();
freeze_ball_explode explode = new freeze_ball_explode();
/**
* Act - do whatever the freeze_ball wants to do. This method is called whenever
* the 'Act' or 'Run' button gets pressed in the environment.
*/
public void act()
{
if(isTouching(Dennis.class) && !Dennis.grace && !Dennis.defence){
getWorld().addObject(explode, getX() + 20, getY());
if(!Dennis.defence){
Dennis.isHit = true;
}
getWorld().removeObject(this);
return;
}
if(isTouching(Firen.class) && !Firen.grace){
getWorld().addObject(explode, getX() - 20, getY());
if(!Firen.defence){
Firen.isHit = true;
}
getWorld().removeObject(this);
return;
}
if(isTouching(Deep.class) && !Deep.grace && !Deep.isDefencing){
getWorld().addObject(explode, getX() + 20, getY());
if(!Deep.isDefencing){
Deep.isHited = true;
}
getWorld().removeObject(this);
return;
}
super.act();
move(5);
animate();
}
public void animate(){
if(timer.millisElapsed() > 0)setImage("fadownball1.png");
if(timer.millisElapsed() > 50)setImage("fadownball2.png");
if(timer.millisElapsed() > 100)setImage("fadownball3.png");
if(timer.millisElapsed() > 150)setImage("fadownball4.png");
if(timer.millisElapsed() > 200)setImage("fadownball3.png");
if(timer.millisElapsed() > 250)setImage("fadownball2.png");
if(timer.millisElapsed() > 300)timer.mark();
}
}