total pain
This commit is contained in:
		
							parent
							
								
									4c99a1e399
								
							
						
					
					
						commit
						bcebce2a6a
					
				
					 15 changed files with 402 additions and 107 deletions
				
			
		|  | @ -1,115 +1,120 @@ | |||
| public class FillTable { | ||||
|     // #region Constants | ||||
|     private static final String[] START_TIMES = { | ||||
|             "7:45", "8:35", "9:40", "10:30", "11:20", "12:10", "12:50", | ||||
|             "13:35", "14:25", "15:15", "16:15", "17:05" | ||||
|     }; | ||||
|         // #region Constants | ||||
|         private static final String[] START_TIMES = { | ||||
|                         "7:45", "8:35", "9:40", "10:30", "11:20", "12:10", "12:50", | ||||
|                         "13:35", "14:25", "15:15", "16:15", "17:05" | ||||
|         }; | ||||
| 
 | ||||
|     private static final String[] END_TIMES = { | ||||
|             "8:30", "9:20", "10:25", "11:15", "12:05", "12:50", "13:30", | ||||
|             "14:20", "15:10", "16:10", "17:00", "17:50" | ||||
|     }; | ||||
|         private static final String[] END_TIMES = { | ||||
|                         "8:30", "9:20", "10:25", "11:15", "12:05", "12:50", "13:30", | ||||
|                         "14:20", "15:10", "16:10", "17:00", "17:50" | ||||
|         }; | ||||
| 
 | ||||
|     // #region Helper Methods | ||||
|     private static void fillTable(String[] teacherShortNames, String day, String[] startTime, String[] endTime, | ||||
|             int roomIndex) { | ||||
|         int dayIndex = getDayIndex(day); | ||||
|         for (int i = 0; i < teacherShortNames.length && i < startTime.length && i < endTime.length; i++) { | ||||
|             Teacher teacher = new Teacher(teacherShortNames[i]); // Initialize Teacher with shortform | ||||
|             App.timeTable[roomIndex][dayIndex][i] = new Lesson(roomIndex, teacher.getName(), startTime[i], endTime[i], | ||||
|                     day); | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
|     private static int getDayIndex(String day) { | ||||
|         switch (day) { | ||||
|             case "Monday": | ||||
|                 return 0; | ||||
|             case "Tuesday": | ||||
|                 return 1; | ||||
|             case "Wednesday": | ||||
|                 return 2; | ||||
|             case "Thursday": | ||||
|                 return 3; | ||||
|             case "Friday": | ||||
|                 return 4; | ||||
|             default: | ||||
|                 return -1; | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
|     // #region Fill 37 | ||||
|     static void fill37TimeTable() { | ||||
|         int roomIndex = 0; | ||||
|         fillTable(new String[] { "Hm", "Hm", "Hi", "Hm", "Hm", "Lunch", "Bd", "Gi", "Gi", "Ts", "Ts", "" }, | ||||
|                 "Monday", START_TIMES, END_TIMES, roomIndex); | ||||
|         fillTable(new String[] { "Ts", "Ts", "Ts", "Ts", "Le", "Lunch", "Lunch", "Fh", "Fh", "Fh", "Fh", "" }, | ||||
|                 "Tuesday", START_TIMES, END_TIMES, roomIndex); | ||||
|         fillTable(new String[] { "Lu", "Lu", "Lu", "Lu", "Cg", "Cg", "Lunch", "Se", "Se", "Se", "Se", "" }, | ||||
|                 "Wednesday", START_TIMES, END_TIMES, roomIndex); | ||||
|         fillTable(new String[] { "Gi", "Gi", "Ba", "Ba", "Ba", "Lunch", "Bd", "Du", "Lz", "Lz" }, | ||||
|                 "Thursday", START_TIMES, END_TIMES, roomIndex); | ||||
|         fillTable(new String[] { "Kp", "KP", "Or", "Vt", "Vt", "Lunch", "Lunch", "Du", "Du", "Du", "", "" }, | ||||
|                 "Friday", START_TIMES, END_TIMES, roomIndex); | ||||
|     } | ||||
| 
 | ||||
|     // #region Fill 38 | ||||
|     static void fill38TimeTable() { | ||||
|         int roomIndex = 1; | ||||
|         fillTable(new String[] { "Bz", "Bz", "Bz", "Bz", "Bz", "Lunch", "Lunch", "Hn", "Hn", "Bu", "Hn", "Hn" }, | ||||
|                 "Monday", START_TIMES, END_TIMES, roomIndex); | ||||
|         fillTable(new String[] { "Kg", "Kg", "Eh", "Re", "Re", "Lunch", "Lunch", "Bt", "Kh", "Kh", "", "" }, | ||||
|                 "Tuesday", START_TIMES, END_TIMES, roomIndex); | ||||
|         fillTable(new String[] { "Cg", "Cg", "Cg", "Cg", "Es", "Lunch", "Lunch", "Cg", "Cg", "", "", "" }, | ||||
|                 "Wednesday", START_TIMES, END_TIMES, roomIndex); | ||||
|         fillTable(new String[] { "Do", "Do", "Gr", "Gr", "Or", "Lunch", "Lunch", "Bu", "Bu", "Zu", "", "" }, | ||||
|                 "Thursday", START_TIMES, END_TIMES, roomIndex); | ||||
|         fillTable(new String[] { "", "Hu", "Ge", "Eh", "Eh", "Bu", "Lunch", "Eh", "Eh", "", "", "" }, | ||||
|                 "Friday", START_TIMES, END_TIMES, roomIndex); | ||||
|     } | ||||
| 
 | ||||
|     // #region Fill 39 | ||||
|     static void fill39TimeTable() { | ||||
|         int roomIndex = 2; | ||||
|         fillTable(new String[] { "Bd", "Bd", "Bd", "Bd", "Bd", "Lunch", "Lunch", "Lu", "Lu", "Lu", "Lu", "" }, | ||||
|                 "Monday", START_TIMES, END_TIMES, roomIndex); | ||||
|         fillTable(new String[] { "Do", "Do", "Zu", "Zu", "Zu", "Lunch", "Lunch", "Se", "Se", "Se", "Se", "" }, | ||||
|                 "Tuesday", START_TIMES, END_TIMES, roomIndex); | ||||
|         fillTable(new String[] { "Cg", "Cg", "Cg", "Cg", "Bu", "Lunch", "Lunch", "Gi", "Gi", "Gi", "Gi", "" }, | ||||
|                 "Wednesday", START_TIMES, END_TIMES, roomIndex); | ||||
|         fillTable(new String[] { "Bd", "Bd", "Bd", "Bd", "Or", "Lunch", "Lunch", "Le", "Le", "Le", "", "" }, | ||||
|                 "Thursday", START_TIMES, END_TIMES, roomIndex); | ||||
|         fillTable(new String[] { "Gi", "Gi", "Gr", "Gr", "Gi", "Lunch", "Lunch", "Hi", "Hi", "Hi", "", "" }, | ||||
|                 "Friday", START_TIMES, END_TIMES, roomIndex); | ||||
|     } | ||||
| 
 | ||||
|     static boolean isBreak(int intHour, int intMinute) { | ||||
|         // Check if the time is between 7 AM and 5 PM | ||||
|         if (intHour >= 7 && intHour <= 17) { | ||||
|             // Check if the time falls between any lesson start and end times | ||||
|             for (int i = 0; i < START_TIMES.length; i++) { | ||||
|                 // Split the start and end times into hours and minutes | ||||
|                 String[] startTime = START_TIMES[i].split(":"); | ||||
|                 String[] endTime = END_TIMES[i].split(":"); | ||||
| 
 | ||||
|                 int startHour = Integer.parseInt(startTime[0]); | ||||
|                 int startMinute = Integer.parseInt(startTime[1]); | ||||
|                 int endHour = Integer.parseInt(endTime[0]); | ||||
|                 int endMinute = Integer.parseInt(endTime[1]); | ||||
| 
 | ||||
|                 // Check if the given time is during the current lesson | ||||
|                 if ((intHour > startHour || (intHour == startHour && intMinute >= startMinute)) && | ||||
|                         (intHour < endHour || (intHour == endHour && intMinute < endMinute))) { | ||||
|                     return false; // It's not a break, it's during a lesson | ||||
|         // #region Helper Methods | ||||
|         private static void fillTable(String[] teacherShortNames, String day, String[] startTime, String[] endTime, | ||||
|                         int roomIndex) { | ||||
|                 int dayIndex = getDayIndex(day); | ||||
|                 for (int i = 0; i < teacherShortNames.length && i < startTime.length && i < endTime.length; i++) { | ||||
|                         Teacher teacher = new Teacher(teacherShortNames[i]); // Initialize Teacher with shortform | ||||
|                         App.timeTable[roomIndex][dayIndex][i] = new Lesson(roomIndex, teacher.getName(), startTime[i], | ||||
|                                         endTime[i], | ||||
|                                         day); | ||||
|                 } | ||||
|             } | ||||
|             return true; // If no lessons match, it must be a break | ||||
|         } | ||||
| 
 | ||||
|         return false; // Time is outside of the school hours (7 AM to 6 PM roughly) | ||||
|     } | ||||
|         private static int getDayIndex(String day) { | ||||
|                 switch (day) { | ||||
|                         case "Monday": | ||||
|                                 return 0; | ||||
|                         case "Tuesday": | ||||
|                                 return 1; | ||||
|                         case "Wednesday": | ||||
|                                 return 2; | ||||
|                         case "Thursday": | ||||
|                                 return 3; | ||||
|                         case "Friday": | ||||
|                                 return 4; | ||||
|                         default: | ||||
|                                 return -1; | ||||
|                 } | ||||
|         } | ||||
| 
 | ||||
|     static String whatBreakIsIt(int intHour, int intMinute, int intDay) { | ||||
|         return "No Break"; // If no break is found, return "No Break" | ||||
|     } | ||||
|         // #region Fill 37 | ||||
|         static void fill37TimeTable() { | ||||
|                 int roomIndex = 0; | ||||
|                 fillTable(new String[] { "Hm", "Hm", "Hi", "Hm", "Hm", "Lunch", "Bd", "Gi", "Gi", "Ts", "Ts", "" }, | ||||
|                                 "Monday", START_TIMES, END_TIMES, roomIndex); | ||||
|                 fillTable(new String[] { "Ts", "Ts", "Ts", "Ts", "Le", "Lunch", "Lunch", "Fh", "Fh", "Fh", "Fh", "" }, | ||||
|                                 "Tuesday", START_TIMES, END_TIMES, roomIndex); | ||||
|                 fillTable(new String[] { "Lu", "Lu", "Lu", "Lu", "Cg", "Cg", "Lunch", "Se", "Se", "Se", "Se", "" }, | ||||
|                                 "Wednesday", START_TIMES, END_TIMES, roomIndex); | ||||
|                 fillTable(new String[] { "Gi", "Gi", "Ba", "Ba", "Ba", "Lunch", "Bd", "Du", "Lz", "Lz" }, | ||||
|                                 "Thursday", START_TIMES, END_TIMES, roomIndex); | ||||
|                 fillTable(new String[] { "Kp", "KP", "Or", "Vt", "Vt", "Lunch", "Lunch", "Du", "Du", "Du", "", "" }, | ||||
|                                 "Friday", START_TIMES, END_TIMES, roomIndex); | ||||
|         } | ||||
| 
 | ||||
|         // #region Fill 38 | ||||
|         static void fill38TimeTable() { | ||||
|                 int roomIndex = 1; | ||||
|                 fillTable(new String[] { "Bz", "Bz", "Bz", "Bz", "Bz", "Lunch", "Lunch", "Hn", "Hn", "Bu", "Hn", "Hn" }, | ||||
|                                 "Monday", START_TIMES, END_TIMES, roomIndex); | ||||
|                 fillTable(new String[] { "Kg", "Kg", "Eh", "Re", "Re", "Lunch", "Lunch", "Bt", "Kh", "Kh", "", "" }, | ||||
|                                 "Tuesday", START_TIMES, END_TIMES, roomIndex); | ||||
|                 fillTable(new String[] { "Cg", "Cg", "Cg", "Cg", "Es", "Lunch", "Lunch", "Cg", "Cg", "", "", "" }, | ||||
|                                 "Wednesday", START_TIMES, END_TIMES, roomIndex); | ||||
|                 fillTable(new String[] { "Do", "Do", "Gr", "Gr", "Or", "Lunch", "Lunch", "Bu", "Bu", "Zu", "", "" }, | ||||
|                                 "Thursday", START_TIMES, END_TIMES, roomIndex); | ||||
|                 fillTable(new String[] { "", "Hu", "Ge", "Eh", "Eh", "Bu", "Lunch", "Eh", "Eh", "", "", "" }, | ||||
|                                 "Friday", START_TIMES, END_TIMES, roomIndex); | ||||
|         } | ||||
| 
 | ||||
|         // #region Fill 39 | ||||
|         static void fill39TimeTable() { | ||||
|                 int roomIndex = 2; | ||||
|                 fillTable(new String[] { "Bd", "Bd", "Bd", "Bd", "Bd", "Lunch", "Lunch", "Lu", "Lu", "Lu", "Lu", "" }, | ||||
|                                 "Monday", START_TIMES, END_TIMES, roomIndex); | ||||
|                 fillTable(new String[] { "Do", "Do", "Zu", "Zu", "Zu", "Lunch", "Lunch", "Se", "Se", "Se", "Se", "" }, | ||||
|                                 "Tuesday", START_TIMES, END_TIMES, roomIndex); | ||||
|                 fillTable(new String[] { "Cg", "Cg", "Cg", "Cg", "Bu", "Lunch", "Lunch", "Gi", "Gi", "Gi", "Gi", "" }, | ||||
|                                 "Wednesday", START_TIMES, END_TIMES, roomIndex); | ||||
|                 fillTable(new String[] { "Bd", "Bd", "Bd", "Bd", "Or", "Lunch", "Lunch", "Le", "Le", "Le", "", "" }, | ||||
|                                 "Thursday", START_TIMES, END_TIMES, roomIndex); | ||||
|                 fillTable(new String[] { "Gi", "Gi", "Gr", "Gr", "Gi", "Lunch", "Lunch", "Hi", "Hi", "Hi", "", "" }, | ||||
|                                 "Friday", START_TIMES, END_TIMES, roomIndex); | ||||
|         } | ||||
| 
 | ||||
|         static boolean isBreak(int intHour, int intMinute) { | ||||
|                 // Check if the time is between 7 AM and 5 PM | ||||
|                 if (intHour >= 7 && intHour <= 17) { | ||||
|                         // Check if the time falls between any lesson start and end times | ||||
|                         for (int i = 0; i < START_TIMES.length; i++) { | ||||
|                                 // Split the start and end times into hours and minutes | ||||
|                                 String[] startTime = START_TIMES[i].split(":"); | ||||
|                                 String[] endTime = END_TIMES[i].split(":"); | ||||
| 
 | ||||
|                                 int startHour = Integer.parseInt(startTime[0]); | ||||
|                                 int startMinute = Integer.parseInt(startTime[1]); | ||||
|                                 int endHour = Integer.parseInt(endTime[0]); | ||||
|                                 int endMinute = Integer.parseInt(endTime[1]); | ||||
| 
 | ||||
|                                 // Check if the given time is during the current lesson | ||||
|                                 if ((intHour > startHour || (intHour == startHour && intMinute >= startMinute)) && | ||||
|                                                 (intHour < endHour || (intHour == endHour && intMinute < endMinute))) { | ||||
|                                         return false; // It's not a break, it's during a lesson | ||||
|                                 } | ||||
|                         } | ||||
|                         return true; // If no lessons match, it must be a break | ||||
|                 } | ||||
| 
 | ||||
|                 return false; // Time is outside of the school hours (7 AM to 6 PM roughly) | ||||
|         } | ||||
| 
 | ||||
|         static String whatBreakIsIt(int intHour, int intMinute, int intDay) { | ||||
|                 boolean isABreak = false; | ||||
|                 for (int i = 0; i < END_TIMES.length; i++) { | ||||
| 
 | ||||
|                 } | ||||
|                 return "No Break"; // If no break is found, return "No Break" | ||||
|         } | ||||
| } | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue