From f85888d35a2bf8e0472cf7eee44b6ae7dc7c6d71 Mon Sep 17 00:00:00 2001 From: thatscringebro Date: Tue, 10 Oct 2023 10:13:48 -0400 Subject: [PATCH] divide into files --- game.cpp | 48 +++++++++++++++++++++++++++++++++++++++++ game.h | 24 +++++++++++++++++++++ main.cpp | 57 ++++--------------------------------------------- racecar.cpp | 7 ++++++ racecar.h | 11 ++++++++++ racingcar.cpp | 0 terminal_racer | Bin 0 -> 32824 bytes 7 files changed, 94 insertions(+), 53 deletions(-) create mode 100644 game.h create mode 100644 racecar.cpp create mode 100644 racecar.h delete mode 100644 racingcar.cpp create mode 100755 terminal_racer diff --git a/game.cpp b/game.cpp index e69de29..90ee2f8 100644 --- a/game.cpp +++ b/game.cpp @@ -0,0 +1,48 @@ +#include "game.h" + +#define DELAY 30000 + +Game::Game() + : x(0), y(0), max_x(800), max_y(600), direction(0), + window(sf::VideoMode(max_x, max_y), "SFML Window") { + if (!font.loadFromFile("cascaydia.otf")) { + std::cerr << "Failed to load font" << std::endl; + exit(1); + } + + text.setString("o"); + text.setFont(font); + text.setCharacterSize(24); + text.setFillColor(sf::Color::White); +} + +void Game::run() { + while (window.isOpen()) { + sf::Event event; + while (window.pollEvent(event)) { + if (event.type == sf::Event::Closed) { + window.close(); + } + } + + if (sf::Keyboard::isKeyPressed(sf::Keyboard::Up) && y > 0) { + y--; + } + if (sf::Keyboard::isKeyPressed(sf::Keyboard::Down) && y < max_y - 1) { + y++; + } + if (sf::Keyboard::isKeyPressed(sf::Keyboard::Left) && x > 0) { + x--; + } + if (sf::Keyboard::isKeyPressed(sf::Keyboard::Right) && x < max_x - 1) { + x++; + } + + window.clear(); + text.setPosition(x, y); + window.draw(text); + window.display(); + sf::sleep(sf::microseconds(DELAY)); + } +} + diff --git a/game.h b/game.h new file mode 100644 index 0000000..22de421 --- /dev/null +++ b/game.h @@ -0,0 +1,24 @@ +#ifndef GAME_H +#define GAME_H + +#include +#include + +class Game { +public: + Game(); + void run(); + +private: + int x; + int y; + int max_x; + int max_y; + int direction; + sf::RenderWindow window; + sf::Font font; + sf::Text text; +}; + +#endif // GAME_H + diff --git a/main.cpp b/main.cpp index ab0349a..a41e8aa 100644 --- a/main.cpp +++ b/main.cpp @@ -1,60 +1,11 @@ #include #include - -#define DELAY 30000 +#include "game.h" +#include "racecar.h" int main(int argc, char** argv) { - int x = 0, y = 0; - int max_x = 800, max_y = 600; - int direction = 0; - - sf::RenderWindow window(sf::VideoMode(max_x, max_y), "SFML Window"); - - sf::Font font; - if (!font.loadFromFile("cascaydia.otf")) { - std::cerr << "Failed to load font" << std::endl; - return 1; - } - - sf::Text text("o", font, 24); - text.setFillColor(sf::Color::White); - - while (window.isOpen()) { - sf::Event event; - while (window.pollEvent(event)) { - if (event.type == sf::Event::Closed) { - window.close(); - } - } - - if (sf::Keyboard::isKeyPressed(sf::Keyboard::Up) && y > 0) { - y--; - } - if (sf::Keyboard::isKeyPressed(sf::Keyboard::Down) && y < max_y - 1) { - y++; - } - if (sf::Keyboard::isKeyPressed(sf::Keyboard::Left) && x > 0) { - x--; - } - if (sf::Keyboard::isKeyPressed(sf::Keyboard::Right) && x < max_x - 1) { - x++; - } - - // Clear the window - window.clear(); - - // Set the position of the text - text.setPosition(x, y); - - // Draw the text on the window - window.draw(text); - - // Display everything that was drawn - window.display(); - - sf::sleep(sf::microseconds(DELAY)); - } + Game game; + game.run(); return 0; } - diff --git a/racecar.cpp b/racecar.cpp new file mode 100644 index 0000000..3d49b03 --- /dev/null +++ b/racecar.cpp @@ -0,0 +1,7 @@ +#include "racecar.h" + +Racecar::Racecar() { + // Add the implementation for the Racecar class constructor here if needed. + // You can include any member variables and functions specific to Racecar. +} + diff --git a/racecar.h b/racecar.h new file mode 100644 index 0000000..c301646 --- /dev/null +++ b/racecar.h @@ -0,0 +1,11 @@ +#ifndef RACECAR_H +#define RACECAR_H + +class Racecar { +public: + Racecar(); + // Add any member functions or variables for the Racecar class here if needed. +}; + +#endif // RACECAR_H + diff --git a/racingcar.cpp b/racingcar.cpp deleted file mode 100644 index e69de29..0000000 diff --git a/terminal_racer b/terminal_racer new file mode 100755 index 0000000000000000000000000000000000000000..2287ac3c4da918492c784008033c458a7be24bbc GIT binary patch literal 32824 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 A&Hw-a literal 0 HcmV?d00001