-
Notifications
You must be signed in to change notification settings - Fork 0
/
LC_LSelect.pde
88 lines (86 loc) · 2.4 KB
/
LC_LSelect.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
85
86
87
88
//=======================================\\
// LOGICOLOUR : A COLOURFUL PUZZLE GAME \\
// ------------------------------------- \\
// AUTHOR: KYLE DERBY MACINNIS \\
// DATE: MARCH 12, 2015 \\
// ------------------------------------- \\
// LAST UPDATED: MARCH 12, 2015 \\
// ------------------------------------- \\
// \\
// LC_LSelect.pde \\
// \\
// ------------------------------------- \\
//=======================================\\
// Level Select Class
class LSelect {
// Number of Levels
int numLevels;
// Button List for Selecting Levels
Button[] btnList;
// Default Constructor
public LSelect()
{
// No Levels
numLevels = 0;
// No Buttons
btnList = null;
}
// Normal Constructor
public LSelect(int num)
{
// Initialize Button List
btnList = new Button[0];
// Set Number of Levels
numLevels = num;
// Button Propertie Variables
String bLabel;
int bHt, bWd, x, y;
color bclr, tclr;
// Make Buttons for Each Level
for (int i = 0; i < numLevels; i++)
{
// Initialize Button Properties
bLabel = "Level " + str(i+1);
bHt = (hSize/((num/2)+4));
bWd = wSize/5;
x = ((wSize/3)*(1+(i%2)));
y = (((bHt*3)/4)*(i-(i%2))+((bHt*3)/2));
bclr = color(00,22,44);
tclr = color(255);
// Append Level Select Buttons to List
btnList = (Button[])append(this.btnList, new Button(bHt, bWd, x, y, bclr, tclr, bLabel));
}
}
// Display Level Select Screen
public void Display()
{
// Check for Correct BtnList and Levels
if (btnList == null || numLevels == 0)
{
// Make Warning Screen and Proceed no Further
background(100, 00, 00);
textFont(WarningFont, 20);
fill(255);
textAlign(CENTER);
text("Error: Levels Failed to Load Properly!\n\nPlease Restart.", (width/2), (height/2));
} else
{
// Make Background and Text
background(00, 44, 88);
textFont(GameFont, 30);
fill(255);
textAlign(CENTER,CENTER);
text("Please Select a Level:", (wSize/2), hSize/(this.numLevels+2)-gSize/2);
// Display All Buttons
for (int i = 0; i < this.numLevels; i++)
{
btnList[i].Display();
}
}
}
// Return # of Levels
public int getLevels()
{
return this.numLevels;
}
}