From aa19fff3ddff9a9f145459a660ac700a792a286d Mon Sep 17 00:00:00 2001 From: Stepland <16676308+Stepland@users.noreply.github.com> Date: Wed, 23 Oct 2019 01:13:01 +0200 Subject: [PATCH] Add main headers --- src/Main.cpp | 58 ++++++++++--------------------------- src/Model/Chart.hpp | 6 ++++ src/Model/MusicList.hpp | 6 ++++ src/Model/Score.hpp | 6 ++++ src/Screens/Gameplay.hpp | 15 ++++++++++ src/Screens/MusicSelect.hpp | 14 +++++++++ src/Screens/Result.hpp | 13 +++++++++ 7 files changed, 75 insertions(+), 43 deletions(-) create mode 100644 src/Model/Chart.hpp create mode 100644 src/Model/MusicList.hpp create mode 100644 src/Model/Score.hpp create mode 100644 src/Screens/Gameplay.hpp create mode 100644 src/Screens/MusicSelect.hpp create mode 100644 src/Screens/Result.hpp diff --git a/src/Main.cpp b/src/Main.cpp index 8596aea..fd77307 100644 --- a/src/Main.cpp +++ b/src/Main.cpp @@ -1,51 +1,23 @@ -#include #include -int main(int argc, char const *argv[]) -{ +#include "Model/Chart.hpp" +#include "Model/MusicList.hpp" +#include "Model/Score.hpp" +#include "Screens/MusicSelect.hpp" +#include "Screens/Gameplay.hpp" +#include "Screens/Result.hpp" + +int main(int argc, char const *argv[]) { sf::RenderWindow window(sf::VideoMode(800,600), "jujube"); window.setVerticalSyncEnabled(true); - - bool fullscreen = false; - while (window.isOpen()) - { - sf::Event event; - while (window.pollEvent(event)) - { - switch (event.type) - { - case sf::Event::KeyPressed: - switch (event.key.code) - { - case sf::Keyboard::Enter: - if (event.key.alt) - { - window.close(); - if (fullscreen) - { - window.create(sf::VideoMode(800,600), "jujube"); - } else { - auto width = sf::VideoMode::getDesktopMode().width; - auto height = sf::VideoMode::getDesktopMode().height; - window.create(sf::VideoMode(width,height), "jujube", sf::Style::Fullscreen); - } - fullscreen = not fullscreen; - } - break; - default: - break; - } - break; - case sf::Event::Closed: - window.close(); - break; - default: - break; - } - } - window.clear(sf::Color::Black); - window.display(); + Screen::MusicSelect music_select; + while (true) { + Chart& selected_chart = music_select.display(window); + Screen::Gameplay gameplay(selected_chart); + Score score = gameplay.display(window); + Screen::Result result(score); + result.display(window); } return 0; } diff --git a/src/Model/Chart.hpp b/src/Model/Chart.hpp new file mode 100644 index 0000000..d19e954 --- /dev/null +++ b/src/Model/Chart.hpp @@ -0,0 +1,6 @@ +#pragma once + +class Chart { +public: + Chart(); +}; \ No newline at end of file diff --git a/src/Model/MusicList.hpp b/src/Model/MusicList.hpp new file mode 100644 index 0000000..eef979d --- /dev/null +++ b/src/Model/MusicList.hpp @@ -0,0 +1,6 @@ +#pragma once + +class MusicList { +public: + MusicList(); +}; diff --git a/src/Model/Score.hpp b/src/Model/Score.hpp new file mode 100644 index 0000000..a9af728 --- /dev/null +++ b/src/Model/Score.hpp @@ -0,0 +1,6 @@ +#pragma once + +class Score { +public: + Score(); +}; \ No newline at end of file diff --git a/src/Screens/Gameplay.hpp b/src/Screens/Gameplay.hpp new file mode 100644 index 0000000..dba414f --- /dev/null +++ b/src/Screens/Gameplay.hpp @@ -0,0 +1,15 @@ +#pragma once + +#include +#include "../Model/Chart.hpp" +#include "../Model/Score.hpp" + +namespace Screen { + class Gameplay { + const Chart& chart; + public: + explicit Gameplay(const Chart& selected_chart); + Score display(sf::Window& window) const; + }; +}; + diff --git a/src/Screens/MusicSelect.hpp b/src/Screens/MusicSelect.hpp new file mode 100644 index 0000000..dfc8743 --- /dev/null +++ b/src/Screens/MusicSelect.hpp @@ -0,0 +1,14 @@ +#pragma once + +#include +#include "../Model/MusicList.hpp" +#include "../Model/Chart.hpp" + +namespace Screen { + class MusicSelect { + MusicList music_list; + public: + MusicSelect(); + Chart& display(sf::Window& window) const; + }; +}; diff --git a/src/Screens/Result.hpp b/src/Screens/Result.hpp new file mode 100644 index 0000000..7bdffb8 --- /dev/null +++ b/src/Screens/Result.hpp @@ -0,0 +1,13 @@ +#pragma once + +#include +#include "../Model/Score.hpp" + +namespace Screen { + class Result { + const Score& score; + public: + explicit Result(const Score& score); + void display(sf::Window& window); + }; +};