/
del00n
/
Space_Lab
Обзор
Документация
Войти
/
del00n
/
Space_Lab
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
Game.h
71 строка
1 KB
del00n
upload files
15 янв 2026, 13:41
15 янв 2026, 13:41
197850f
Код
Авторство
О чём код?
#ifndef GAME_H #define GAME_H #include <SFML/Graphics.hpp> #include <vector> #include <memory> #include "Engine.h" #include "LevelManager.h" enum GameState { STATEFLYING, STATELANDING, STATELANDED, STATECRASHED }; class Game { public: Game(const LevelConfig& config); void processEvents(); void update(float dt); void render(); void run(); private: sf::RenderWindow win; GameState gameState; bool hasStartedLanding = false; World world; std::unique_ptr<World> landingWorld; Autopilot ap; Autopilot landingAutopilot; std::vector<sf::Vertex> trail; static constexpr size_t MaxTrail = 1000; sf::Font font; sf::Text txtSpeed; sf::Text txtFinish; sf::Text txtLandingMessage; sf::Text txtCrash; sf::Text txtWind; sf::Text txtWindControl; float simTime = 0.f; float landingTime = 0.f; bool missionComplete = false; bool pendingClose = false; bool manualControlMode = false; float manualRotationInput = 0.f; float manualThrustInput = 0.f; float windStrength = 0.f; sf::Vector2f windVelocity{0.f, 0.f}; LevelConfig levelConfig; static constexpr float MAX_WIND_STRENGTH = 200.f; static constexpr float WIND_CHANGE_RATE = 5.f; static constexpr float ATMOSPHERE_RADIUS = 250.f; static constexpr float PLANET_RADIUS = 60.f; void startLandingSequence(); void updateLandingScene(float dt); void renderLandingScene(); }; #endif