67 lines
2.6 KiB
C++
67 lines
2.6 KiB
C++
#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;
|
|
}
|