#ifndef GAME_H #define GAME_H #include #include #include #include #include #include #include "racecar.h" class Game { public: Game(); void run(); bool isTrackCollision(float x, float y); int determineQuadrant(float x, float y); void displaySavedTimes(); void determineLap(int millis, std::string timerString); void displayEndGame(); void loadHighScores(); void writeHighScores(); private: int max_x; int max_y; int direction; sf::RenderWindow window; sf::Font font; sf::Text speedText; sf::Text mapText; sf::Text timerText; sf::Clock gameTimeClock; sf::View view; Racecar racecar; std::vector> timesAndQuadrants; // Store times and quadrants bool lapFinished; unsigned int lastRound = 0; const std::string highScoresFile = "high_scores.txt"; std::vector highScores; std::vector lapPoints; // Store lap times float modifier = 1.0f; sf::Music backgroundMusic; std::string asciiMap = " /------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------\\ \n" " / \\ \n" " / | \n" " / | \n" " / _____________________________________________________________________________________________________________________________________________________________ | \n" " / / \\ | \n" " / / | | \n" " / | /------------------------------------------------------\\ / | \n" "/ | / \\ _____ __________________ .___.___ / / \n" "| || | / _ \\ / _____/\\_ ___ \\| | | / / \n" "| || | / /_\\ \\ \\_____ \\ / \\ \\/| | | / / \n" "| || __________________________ | / | \\/ \\\\ \\___| | | / / \n" "| || / \\ | \\____|__ /_______ / \\______ /___|___| / / \n" "| || / | | \\/ \\/ \\/ / / \n" "| || | | | __________ _____ _________ _____________________ / / \n" "| || | / / \\______ \\ / _ \\ \\_ ___ \\_ _____/\\______ \\ / / \n" "| || | / / | _/ / /_\\ \\/ \\ \\/ | __)_ | _/ / / \n" "| || | / / | | \\/ | \\ \\____| \\ | | \\ / / \n" "| || | / / |____|_ /\\____|__ /\\______ /_______ / |____|_ / / / \n" "| || | / / \\/ \\/ \\/ \\/ \\/ / / \n" "| || | / / / / \n" "| || | / / / / \n" "| || | / / / / \n" "| || | | | / / \n" "| || | | | / / \n" "| || | \\ \\ / / \n" "| || | \\ \\ / / \n" "\\ \\/ / \\ \\____________________________________________________________________________________/ / \n" " \\ / \\ / \n" " \\ / \\ / \n" " \\ / \\ / \n" " \\ / \\ / \n" " \\____________________/ \\_________________________________________________________________________________________________________/ "; }; #endif // GAME_H