// main.cpp #include "Aquarium.h" #ifdef __OpenBSD__ #include #endif #include #include #include int main() { // Get the singleton instance Aquarium &aquarium = Aquarium::getInstance(); #ifdef __OpenBSD__ // Most restrictive pledge - no file access needed! if (pledge("stdio tty", NULL) == -1) { perror("pledge"); return 1; } #endif // Initialize the aquarium display aquarium.resize(); // Setup initial entities // Main game loop while (true) { // Check for user input int input = aquarium.checkInput(); if (input == 'q' || input == 'Q' || input == 27) { // ESC key break; } // Check if terminal was resized if (aquarium.checkResize()) { aquarium.resize(); } // Redraw the aquarium aquarium.redraw(); // Control frame rate (~20 FPS) // std::this_thread::sleep_for(std::chrono::milliseconds(1)); } return 0; }