#include "StartMenuVisualizer.hpp" void StartMenuVisualizer::GenerateElement() { BaseVisualizer::GenerateTopBottomBorder(MAX_MENU_WIDTH, true, false); BaseVisualizer::AddEmptyLines(2, MAX_MENU_WIDTH, false); for (const auto& str : StartMenuVisualizer::ACSII_ART_TURBO_SCHACH) { BaseVisualizer::GenerateCenteredString(MAX_MENU_WIDTH, str, false); } BaseVisualizer::AddEmptyLines(2, MAX_MENU_WIDTH, false); BaseVisualizer::GenerateCenteredString(MAX_MENU_WIDTH, "Welcome to TurboSchach!", false); BaseVisualizer::AddEmptyLines(2, MAX_MENU_WIDTH, false); BaseVisualizer::GenerateCenteredString(MAX_MENU_WIDTH, "Please select one of the menu options:", false); BaseVisualizer::GenerateCenteredString(MAX_MENU_WIDTH, "\x1B[s", false); BaseVisualizer::AddEmptyLines(1, MAX_MENU_WIDTH, false); // ToDo: Attribute zum direkten setzen des Types der Außenbegrenzung -> Allgemein in BaseVisualizer auch? // ToDo: Überarbeiten -> Extra Methode um Menus im Menu zu generieren BaseVisualizer::GenerateTopBottomBorder(24, true, true); BaseVisualizer::GenerateCenteredString(MAX_MENU_WIDTH, BaseVisualizer::display_vector[BaseVisualizer::display_vector.size()-1][0], false); BaseVisualizer::display_vector.erase(BaseVisualizer::display_vector.begin() + (BaseVisualizer::display_vector.size() - 2)); for (const auto& str : StartMenuVisualizer::MENU_OPTIONS) { BaseVisualizer::GenerateBoxMenuLine(24, str, true, 1); BaseVisualizer::GenerateCenteredString(MAX_MENU_WIDTH, BaseVisualizer::display_vector[BaseVisualizer::display_vector.size()-1][0], false); BaseVisualizer::display_vector.erase(BaseVisualizer::display_vector.begin() + (BaseVisualizer::display_vector.size() - 2)); } BaseVisualizer::GenerateTopBottomBorder(24, false, true); BaseVisualizer::GenerateCenteredString(MAX_MENU_WIDTH, BaseVisualizer::display_vector[BaseVisualizer::display_vector.size()-1][0], false); BaseVisualizer::display_vector.erase(BaseVisualizer::display_vector.begin() + (BaseVisualizer::display_vector.size() - 2)); BaseVisualizer::AddEmptyLines(2, MAX_MENU_WIDTH, false); BaseVisualizer::GenerateTopBottomBorder(MAX_MENU_WIDTH, false, false); } int StartMenuVisualizer::GetSelectedOption() { return selectedOption; } void StartMenuVisualizer::SetSelectedOption(int optionSelect) { selectedOption = selectedOption; }; void StartMenuVisualizer::DisplayElement1() { BaseVisualizer::ClearTerminal(); int temp; for (const auto& row : display_vector) { for (const auto& cell : row) { std::cout << cell; } std::cout << std::endl; } std::cout << "\x1B[u"; std::cin >> selectedOption; }