-
Notifications
You must be signed in to change notification settings - Fork 0
/
Block.pde
84 lines (82 loc) · 2.51 KB
/
Block.pde
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
class Block{
//fields
int xcoord, ycoord, angle;
char type;
PImage blockImage;
//constructors
//Empty block
Block(int xcoord_, int ycoord_){
xcoord = xcoord_;
ycoord = ycoord_;
}
//Vertical or horizontal block
Block(int xcoord_, int ycoord_, char type_){
xcoord = xcoord_;
ycoord = ycoord_;
type = type_;
switch(type){
case 'v':
blockImage = loadImage("wallV.jpg"); break;
case 'h':
blockImage = loadImage("wallH.jpg"); break;
}
}
//overloaded constructor takes additional angle param if type is a corner, cap, or T
//xcoord, ycoord, type(v, h, c, p, t), angle(1 = up right(up), 2 = low right(right),
//3 = low left(down), 4 = up left(left)
//v = vertical, h = horiz, c = corner, p = cap, t = T intersection
//NOTE: If you pass an angle param for type v or h it will not draw anything in that block
Block(int xcoord_, int ycoord_, char type_, int angle_){
xcoord = xcoord_;
ycoord = ycoord_;
type = type_;
angle = angle_;
switch(type){
case 'c': //corner
switch(angle){
case 1:
blockImage = loadImage("cornerUR.jpg"); break;
case 2:
blockImage = loadImage("cornerLR.jpg"); break;
case 3:
blockImage = loadImage("cornerLL.jpg"); break;
case 4:
blockImage = loadImage("cornerUL.jpg"); break;
}break;//end angle switch
case 'p': //cap
switch(angle){
case 1:
blockImage = loadImage("capU.jpg"); break;
case 2:
blockImage = loadImage("capR.jpg"); break;
case 3:
blockImage = loadImage("capD.jpg"); break;
case 4:
blockImage = loadImage("capL.jpg"); break;
}break;//end angle switch
case 't': //T section
switch(angle){
case 1:
blockImage = loadImage("tU.jpg"); break;
case 2:
blockImage = loadImage("tR.jpg"); break;
case 3:
blockImage = loadImage("tD.jpg"); break;
case 4:
blockImage = loadImage("tL.jpg"); break;
}break;//end angle switch
}//end type switch
}
//methods
void drawBlock(){
fill(0);
//draws empty box if no image specified
if (blockImage == null){
rect(xcoord*50, ycoord*50, 50, 50);
}else{
image(blockImage, xcoord*50, ycoord*50);
fill(255);
//text(xcoord*50, xcoord*50, ycoord*50); text(ycoord*50, xcoord*50, ycoord*50+10); //For troubleshooting
}
}
}//eof