-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathColorBlock.java
46 lines (39 loc) · 1.15 KB
/
ColorBlock.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
import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)
/**
* Write a description of class ColorBlock here.
*
* @author (your name)
* @version (a version number or a date)
*/
public class ColorBlock extends GameObj implements IColored
{
public void update()
{
setImage(getColoredIcon(getColor(), false));
}
public boolean pushable(GameObj obj) {
if (obj instanceof Pushy || obj instanceof PowerPistonHead) return true;
return false;
}
public void onMove() {
setColor(getNextColor());
Sound.drop.play();
}
public String getColoredIcon(int color, boolean bool) {
if (color==1) return "36.bmp";
if (color==2) return "37.bmp";
if (color==3) return "38.bmp";
if (color==4) return "112.bmp";
return "119.bmp";
}
public int getColor() {
return extraData.getInt("color");
}
public void setColor(int color) {
extraData.setInt("color", color);
setImage(getColoredIcon(color, false));
}
public int getNextColor() {
return getColor()>=3?1:getColor()+1;
}
}