Here is part of my code I want to make the title move up and down independently of other menu aspects, but it really doesn't work.
main.cpp
#include"Menu.h"
int main()
{
Menu menu;
while (menu.get_choice() != 1 && menu.get_choice() != 3)
{
menu.setup();
menu.input();
menu.check_input();
}
return 0;
}
Menu.cpp
#include "Menu.h"
void Menu::title_up_down()
{
char previous_title[11][36]
{
{" "},
{" "},
{" "},
{" "},
{" "},
{" "},
{" "},
{" "},
{" "},
{" "},
{" "}
};
for (int k = 0; ;k++)
{
for (int l = 0; l < 2; l++)
{
if (k % 2 == 0)
go_to_XY(0, 0);
else if (k % 2 == 1)
go_to_XY(0, 1);
for (int i = 0; i < 11; i++)
{
std::cout << '\n' << std::setw(w2);
for (int j = 0; j < 36; j++)
{
if (l == 0)
std::cout << title[i][j];
else if (l == 1)
std::cout << previous_title[i][j];
}
}
if (l == 0)
Sleep(1000);
}
}
}
void Menu::setup()
{
system("cls");
draw_title();
std::thread t1(&title_up_down(), this);
std::cout << "\n\n\n";
std::cout << std::setw(w1 - 1) << " ---------------\n";
std::cout << std::setw(w1) << "| 1. New Game |\n";
std::cout << std::setw(w1 - 1) << " ---------------\n";
std::cout << std::setw(w1 + 1) << " -------------------\n";
std::cout << std::setw(w1 + 2) << "| 2. Description |\n";
std::cout << std::setw(w1 + 1) << " -------------------\n";
std::cout << std::setw(w1) << " -----------------\n";
std::cout << std::setw(w1 + 1) << "| 3. Exit Game |\n";
std::cout << std::setw(w1) << " -----------------\n";
std::cout << "Choose your option: ";
}
How do I put a method of a class inside of a thread? I tried to do it like it is above and also inside of a setup function but it still doesn't work no matter what.