Siema. Taki system to nic trudnego. Na początku przygotuj sobie tablicę stringów z tym co chcesz wyświetlić i zrób zmienne, które ją opisują (ew. zaalokuj ją dynamicznie).
const unsigned int width = 10;
const unsigned int height = 5;
std::string arrow[5] = {" @ ",
" @ ",
" @@@@@@@@ ",
" @ ",
" @ "};
Następnie stwórz funkcję, która będzie rysowała od końca elementy stringa.
void draw(int x, unsigned int width, unsigned int height, std::string* arrow) {
for (unsigned int i = 0; i < height; ++i) {
for (unsigned int j = x; j < width; ++j) {
std::cout << arrow[i][j];
}
std::cout << std::endl;
}
}
I na końcu wywołanie funkcji w pętli, w mainie.
for (int i = width - 1; i >= 0; --i) {
draw(i, width, height, arrow);
// Trzeba zaincludowac <thread> i <chrono>
std::this_thread::sleep_for(std::chrono::seconds(1));
system("cls");
}
Mam nadzieję, że pomogłem. Pozdrawiam
PS Osobiście nie polecam rozwiązania z system("cls"), ponieważ działa tylko na windowsie, a za każdym razem gdy piszesz w C++ platform dependent code to gdzieś na świecie umiera mały kotek :)