-
Notifications
You must be signed in to change notification settings - Fork 0
/
DrawTile.java
103 lines (92 loc) · 2.56 KB
/
DrawTile.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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
package remake2048;
import java.awt.Color;
import java.awt.Graphics2D;
public class DrawTile {
public static final int WIDTH = 80;
public static final int HEIGHT = 80;
public static final int ARC_WIDTH = 15;
public static final int ARC_HEIGHT = 15;
private int value;
private int x;
private int y;
private Tile tile;
//makes a DrawTile based on the specifications of a Tile
public DrawTile(Tile tile){
this.tile = tile;
this.value = tile.getValue();
this.y = findX(tile.x);
this.x = findY(tile.y);
}
//finds the pixel location X for a arr location X
private int findX(int arrX){
if(arrX == 0){
return 10;
}else if(arrX == 1){
return 100;
}else if(arrX == 2){
return 190;
}else if(arrX == 3){
return 280;
}else{
return 300;
}
}
//finds the pixel location Y for a arr location Y
private int findY(int arrY){
if(arrY == 0){
return 10;
}else if(arrY == 1){
return 100;
}else if(arrY == 2){
return 190;
}else if(arrY == 3){
return 280;
}else{
return 300;
}
}
//draws the color of the cube to the graphics object given based on the value of the tile value
public void render(Graphics2D g2){
if(value == 3){
g2.setColor(Color.RED);
g2.fillRoundRect(x, y, WIDTH, HEIGHT, ARC_WIDTH, ARC_HEIGHT);
}else if(value == 6){
g2.setColor(Color.BLUE);
g2.fillRoundRect(x, y, WIDTH, HEIGHT, ARC_WIDTH, ARC_HEIGHT);
}else if(value == 12){
g2.setColor(Color.PINK);
g2.fillRoundRect(x, y, WIDTH, HEIGHT, ARC_WIDTH, ARC_HEIGHT);
}else if(value == 24){
g2.setColor(Color.GREEN);
g2.fillRoundRect(x, y, WIDTH, HEIGHT, ARC_WIDTH, ARC_HEIGHT);
}else if(value == 48){
g2.setColor(Color.MAGENTA);
g2.fillRoundRect(x, y, WIDTH, HEIGHT, ARC_WIDTH, ARC_HEIGHT);
}else if(value == 96){
g2.setColor(Color.ORANGE);
g2.fillRoundRect(x, y, WIDTH, HEIGHT, ARC_WIDTH, ARC_HEIGHT);
}else if(value == 192){
g2.setColor(Color.CYAN);
g2.fillRoundRect(x, y, WIDTH, HEIGHT, ARC_WIDTH, ARC_HEIGHT);
}else if(value == 348){
g2.setColor(Color.YELLOW);
g2.fillRoundRect(x, y, WIDTH, HEIGHT, ARC_WIDTH, ARC_HEIGHT);
}else if(value == 768){
g2.setColor(Color.LIGHT_GRAY);
g2.fillRoundRect(x, y, WIDTH, HEIGHT, ARC_WIDTH, ARC_HEIGHT);
}else if(value == 1536){
g2.setColor(Color.darkGray);
g2.fillRoundRect(x, y, WIDTH, HEIGHT, ARC_WIDTH, ARC_HEIGHT);
}else if(value == 3072){
g2.setColor(Color.GRAY);
g2.fillRoundRect(x, y, WIDTH, HEIGHT, ARC_WIDTH, ARC_HEIGHT);
}
}
public Boolean equals(int testValue){
if(tile.getValue() == testValue){
return true;
}else{
return false;
}
}
}