-
Notifications
You must be signed in to change notification settings - Fork 6
/
Plant.java
73 lines (64 loc) · 1.79 KB
/
Plant.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)
/**
* Write a description of class Plant here.
*
* @author (your name)
* @version (a version number or a date)
*/
public class Plant extends animatedObject
{
public int maxHp;
public boolean isAlive = true;
public int hp;
public int damage;
public boolean opaque = false;
public MyWorld MyWorld;
public Plant() {
}
/**
* Act - do whatever the Plant wants to do. This method is called whenever
* the 'Act' or 'Run' button gets pressed in the environment.
*/
public void act()
{
if (getWorld() != null) {
if (isLiving()) {
update();
if (!opaque) {
getImage().setTransparency(255);
} else {
getImage().setTransparency(125);
}
} else {
MyWorld = (MyWorld)getWorld();
AudioPlayer.play(80,"gulp.mp3");
MyWorld.board.removePlant(getXPos(), getYPos());
MyWorld.removeObject(this);
return;
}
}
}
public void update() {
}
public int getXPos() {
return ((getX()-Board.xOffset)/Board.xSpacing);
}
public int getYPos() {
return ((getY()-Board.yOffset)/Board.ySpacing);
}
@Override
public void addedToWorld(World world) {
MyWorld = (MyWorld)getWorld();
MyWorld.addObject(new Dirt(), getX(), getY()+30);
}
public boolean isLiving() {
if (hp <=0) {
isAlive = false;
} else {
isAlive = true;
}
return isAlive;
}
public void hit(int dmg) {
}
}