Skip to content

Commit

Permalink
Refactor Organizer class and update simulation data
Browse files Browse the repository at this point in the history
- Move Organizer constructor definition to Organizer.cpp
- Hide console cursor in Organizer constructor
- Add runSimulation method to Organizer class
  • Loading branch information
Mohammad-Radwan committed Dec 25, 2024
1 parent 41c5b88 commit 98c8e8e
Show file tree
Hide file tree
Showing 3 changed files with 17 additions and 10 deletions.
7 changes: 1 addition & 6 deletions Includes/Organizer.h
Original file line number Diff line number Diff line change
Expand Up @@ -40,12 +40,7 @@ class Organizer {
int index;
bool running;
private:
Organizer()
: FileName("../../../InputText.txt")
, requests(), cancellations(), outCars(), backCars(), hospitals(nullptr), TotalSimulationTime(0),
HospitalsCount(0), Total_EP_Patients_in_AllHospitals(0), Total_SP_Patients_in_AllHospitals(0),
Total_NP_Patients_in_AllHospitals(0), CancellationsCount(0), Total_N_Cars_in_AllHospitals(0),
Total_S_Cars_in_AllHospitals(0), variableIndex(0), index(0), running(true) {};
Organizer();

Organizer(const Organizer& other) = delete;

Expand Down
1 change: 0 additions & 1 deletion OutputFile.txt
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,6 @@ FT PatientID QT WT

Patients: 35 [EP: 11, SP: 12, NP: 12]
Hospitals: 5
Hospitals: 5
Cars: 62 [Scars: 20, Ncars: 42]
Average Waiting Time: 9.17143
Average Cars Busyness Time: 10.3548
Expand Down
19 changes: 16 additions & 3 deletions src/Organizer.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,19 @@ Organizer* Organizer::GetInstance()
return instance;
}

Organizer::Organizer() : FileName("../../../InputText.txt")
, requests(), cancellations(), outCars(), backCars(), hospitals(nullptr), TotalSimulationTime(0),
HospitalsCount(0), Total_EP_Patients_in_AllHospitals(0), Total_SP_Patients_in_AllHospitals(0),
Total_NP_Patients_in_AllHospitals(0), CancellationsCount(0), Total_N_Cars_in_AllHospitals(0),
Total_S_Cars_in_AllHospitals(0), variableIndex(0), index(0), running(true)
{
HANDLE hWindows = GetStdHandle(STD_OUTPUT_HANDLE);
CONSOLE_CURSOR_INFO cursorInfo;
GetConsoleCursorInfo(hWindows, &cursorInfo);
cursorInfo.bVisible = false;
SetConsoleCursorInfo(hWindows, &cursorInfo);
};

void Organizer::setHospital(Hospital **&HospitalsArray) {
this->hospitals = HospitalsArray;
}
Expand Down Expand Up @@ -123,6 +136,7 @@ void Organizer::distributeRequests(int timeStep)
hospitals[HospitalID - 1]->receive(request);
}
}

void Organizer::runSimulation(bool SilentMode ) {
int timestep = 1;
UI ui;
Expand Down Expand Up @@ -305,14 +319,13 @@ void Organizer::removeLastTimestep()
while (StartPos.Y > 0)
{
StartPos.Y -= 1;
StartPos.X = 0; // Move to the start of the line
StartPos.X = 0;


// Read the first character of the previous line
wchar_t firstChar;
DWORD charsRead;
ReadConsoleOutputCharacterW(hConsole, &firstChar, 1, StartPos, &charsRead);

// Check if the first character is '#'
if (firstChar == L'#')
break;
}
Expand Down

0 comments on commit 98c8e8e

Please sign in to comment.