-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathStadium.java
148 lines (111 loc) · 4.36 KB
/
Stadium.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
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
public class Stadium {
public static int ROWS = 27;
public static int COLUMNS = 35;
private static String[] SEAT_NUMBERS = {
"9 1234567890 123456789 1234567890 1",
"8 1234567890 123456789 1234567890 2",
"7 1234567890 123456789 1234567890 3",
"6 4",
"55 12345678 1234567 12345678 15",
"44 8 1234567 1234567 1234567 1 26",
"33 77 12 37",
"22 66 1234561234567123456 23 48",
"11 55 0 12345123456712345 1 34 59",
"99 44 98 123412345671234 12 45 11",
"88 33 876 --------------- 123 56 22",
"77 22 765| |234 67 33",
"66 11 654| |345 78 44",
"55 | | 55",
"44 87 543| |456 11 66",
"33 76 432| |567 22 77",
"22 65 321 --------------- 678 33 88",
"11 54 21 432176543214321 89 44 99",
"95 43 1 54321765432154321 0 55 11",
"84 32 6543217654321654321 66 22",
"73 21 77 33",
"62 1 7654321 7654321 7654321 8 44",
"51 87654321 7654321 87654321 55",
"4 6",
"3 0987654321 987654321 0987654321 7",
"2 0987654321 987654321 0987654321 8",
"1 0987654321 987654321 0987654321 9"
};
private static String[] SEAT_ROWS = {
"Z CCCCCCCCCC FFFFFFFFF IIIIIIIIII K",
"Z BBBBBBBBBB EEEEEEEEE HHHHHHHHHH K",
"Z AAAAAAAAAA DDDDDDDDD GGGGGGGGGG K",
"Z K",
"ZY BBBBBBBB DDDDDDD FFFFFFFF JK",
"ZY T AAAAAAA CCCCCCC EEEEEEE H JK",
"ZY TS GH JK",
"ZY TS CCCCCCFFFFFFFIIIIII GH JK",
"ZY TS X BBBBBEEEEEEEHHHHH L GH JK",
"DC TS XW AAAADDDDDDDGGGG KL GH AB",
"DC TS XWV --------------- JKL GH AB",
"DC TS XWV| |JKL GH AB",
"DC TS XWV| |JKL GH AB",
"DC | | AB",
"DC RQ XWV| |JKL IJ AB",
"DC RQ XWV| |JKL IJ AB",
"DC RQ XWV --------------- JKL IJ AB",
"DC RQ XW SSSSPPPPPPPMMMM KL IJ AB",
"XW RQ X TTTTTQQQQQQQNNNNN L IJ LM",
"XW RQ UUUUUURRRRRRROOOOOO IJ LM",
"XW RQ IJ LM",
"XW R OOOOOOO MMMMMMM KKKKKKK J LM",
"XW PPPPPPPP NNNNNNN LLLLLLLL LM",
"X M",
"X TTTTTTTTTT QQQQQQQQQ NNNNNNNNNN M",
"X UUUUUUUUUU RRRRRRRRR OOOOOOOOOO M",
"X VVVVVVVVVV SSSSSSSSS PPPPPPPPPP M"
};
private static String[] SEAT_SECTIONS = {
"3 3333333333 333333333 3333333333 3",
"3 3333333333 333333333 3333333333 3",
"3 3333333333 333333333 3333333333 3",
"3 3",
"33 22222222 2222222 22222222 33",
"33 2 2222222 2222222 2222222 2 33",
"33 22 22 33",
"33 22 1111111111111111111 22 33",
"33 22 1 11111111111111111 1 22 33",
"44 22 11 111111111111111 11 22 44",
"44 22 111 --------------- 111 22 44",
"44 22 111| |111 22 44",
"44 22 111| |111 22 44",
"44 | | 44",
"44 22 111| |111 22 44",
"44 22 111| |111 22 44",
"44 22 111 --------------- 111 22 44",
"44 22 11 111111111111111 11 22 44",
"33 22 1 11111111111111111 1 22 33",
"33 22 1111111111111111111 22 33",
"33 22 22 33",
"33 2 2222222 2222222 2222222 2 33",
"33 22222222 2222222 22222222 33",
"3 3",
"3 3333333333 333333333 3333333333 3",
"3 3333333333 333333333 3333333333 3",
"3 3333333333 333333333 3333333333 3"
};
private Seat[][] seats;
public Stadium() {
seats = new Seat[ROWS][COLUMNS];
for (int r=0; r<ROWS; r++) {
String secString = SEAT_SECTIONS[r];
String rowString = SEAT_ROWS[r];
String numString = SEAT_NUMBERS[r];
for (int c=0; c<COLUMNS; c++) {
byte section = (byte)Character.digit(secString.charAt(c),10);
char row = (char)rowString.charAt(c);
byte number = (byte)Character.digit(numString.charAt(c),10);
if (!Character.isLetter(row))
seats[r][c] = null;
else
seats[r][c] = new Seat(section, row, number);
}
}
}
public Seat[][] getSeats() { return seats; }
public Seat getSeat(int row, int col) { return seats[row][col]; }
}