Files
fissh/src/main.cpp

47 lines
943 B
C++

// main.cpp
#include "Aquarium.h"
#ifdef __OpenBSD__
#include <unistd.h>
#endif
#include <chrono>
#include <iostream>
#include <thread>
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;
}