From defc3937480c34014010d6eb14b1504bbb03bdca Mon Sep 17 00:00:00 2001 From: thatscringebro Date: Tue, 10 Oct 2023 14:53:20 -0400 Subject: [PATCH] follow the player --- game.cpp | 19 +++++++++++- game.h | 34 +++++++++++++++++++++ map | 81 ++++++++++++++++++++----------------------------- racecar.cpp | 7 +++++ racecar.h | 2 ++ terminal_racer | Bin 50720 -> 59352 bytes 6 files changed, 94 insertions(+), 49 deletions(-) diff --git a/game.cpp b/game.cpp index a094bbf..55e866c 100644 --- a/game.cpp +++ b/game.cpp @@ -13,12 +13,23 @@ Game::Game() // Create a text object for displaying speed speedText.setFont(font); + // Create a map text object and set its properties + mapText.setFont(font); + mapText.setCharacterSize(24); + mapText.setFillColor(sf::Color::White); + mapText.setPosition(10, 10); + racecar.setPosition(max_x / 2, max_y / 2); // Set initial position for the racecar } void Game::run() { sf::Clock clock; + // Create a view that will follow the racecar + sf::View view(sf::FloatRect(0, 0, max_x, max_y)); + view.setCenter(racecar.getX(), racecar.getY()); // Center the view on the racecar + window.setView(view); + while (window.isOpen()) { float dt = clock.restart().asSeconds(); @@ -73,8 +84,14 @@ void Game::run() { } + // Update the view to follow the racecar + view.setCenter(racecar.getX(), racecar.getY()); + window.setView(view); + window.clear(); - window.draw(racecar.getDrawable()); // Draw the racecar + mapText.setString(asciiMap); + window.draw(mapText); + window.draw(racecar.getDrawable()); window.draw(speedText); window.display(); diff --git a/game.h b/game.h index cf22422..506f464 100644 --- a/game.h +++ b/game.h @@ -17,7 +17,41 @@ private: sf::RenderWindow window; sf::Font font; sf::Text speedText; + sf::Text mapText; Racecar racecar; + 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 diff --git a/map b/map index 357522e..05d4be5 100644 --- a/map +++ b/map @@ -1,48 +1,33 @@ - /¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯\ - / \ - / | - / | - / _____________________________________________________________________________________________________________________________________________________________ | - / / \ | - / / | | - / | /¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯\ / | - / | / \ _____ __________________ .___.___ / / - | || | / _ \ / _____/\_ ___ \| | | / / - | || | / /_\ \ \_____ \ / \ \/| | | / / - | || __________________________ | / | \/ \\ \___| | | / / - | || / \ | \____|__ /_______ / \______ /___|___| / / - | || / | | \/ \/ \/ / / - | || | | | __________ _____ _________ _____________________ / / - | || | / / \______ \ / _ \ \_ ___ \\_ _____/\______ \ / / - | || | / / | _/ / /_\ \/ \ \/ | __)_ | _/ / / - | || | / / | | \/ | \ \____| \ | | \ / / - | || | / / |____|_ /\____|__ /\______ /_______ / |____|_ / / / - | || | / / \/ \/ \/ \/ \/ / / - | || | / / / / - | || | / / / / - | || | / / / / - | || | | | / / - | || | | | / / - | || | \ \ / / - | || | \ \ / / - \ \/ / \ \____________________________________________________________________________________/ / - \ / \ / - \ / \ / - \ / \ / - \ / \ / - \____________________/ \_________________________________________________________________________________________________________/ - - - - - - - - - - - - - - - + /¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯\ + / \ + / | + / | + / _____________________________________________________________________________________________________________________________________________________________ | + / / \ | + / / | | + / | /¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯\ / | +/ | / \ _____ __________________ .___.___ / / +| || | / _ \ / _____/\_ ___ \| | | / / +| || | / /_\ \ \_____ \ / \ \/| | | / / +| || __________________________ | / | \/ \\ \___| | | / / +| || / \ | \____|__ /_______ / \______ /___|___| / / +| || / | | \/ \/ \/ / / +| || | | | __________ _____ _________ _____________________ / / +| || | / / \______ \ / _ \ \_ ___ \\_ _____/\______ \ / / +| || | / / | _/ / /_\ \/ \ \/ | __)_ | _/ / / +| || | / / | | \/ | \ \____| \ | | \ / / +| || | / / |____|_ /\____|__ /\______ /_______ / |____|_ / / / +| || | / / \/ \/ \/ \/ \/ / / +| || | / / / / +| || | / / / / +| || | / / / / +| || | | | / / +| || | | | / / +| || | \ \ / / +| || | \ \ / / +\ \/ / \ \____________________________________________________________________________________/ / + \ / \ / + \ / \ / + \ / \ / + \ / \ / + \____________________/ \_________________________________________________________________________________________________________/ diff --git a/racecar.cpp b/racecar.cpp index 31259d5..8c20f26 100644 --- a/racecar.cpp +++ b/racecar.cpp @@ -65,3 +65,10 @@ float Racecar::getSpeed() const { return speed; } +float Racecar::getX() const { + return carText.getPosition().x; +} + +float Racecar::getY() const { + return carText.getPosition().y; +} diff --git a/racecar.h b/racecar.h index 3ae4890..740a281 100644 --- a/racecar.h +++ b/racecar.h @@ -17,6 +17,8 @@ public: sf::Text getDrawable(); void setPosition(float x, float y); float getSpeed() const; // Get the current speed of the car + float getX() const; + float getY() const; private: sf::Text carText; diff --git a/terminal_racer b/terminal_racer index 8264f95e4a774d025d800cbccd1d7a259be32c5c..87573dc07eadee0ede328d52d51b0cf2eb5c8abc 100755 GIT binary patch literal 59352 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 CX@`aY