Wpis z mikrobloga

#naukaprogramowania #cpp
Mirki jak zaimplementować kod, aby w konsoli wyświetlały mi się ładnie "obrazki" w ASCII? Przykład poniżej. Mam w kodzie zapisane "obrazki" zbudowane ze znaków w tablicy char[][] np. taki jak napis "MILIONERZY" i jak je teraz ładnie połączyć żeby wyświetlały mi się w konsoli, bo każdy wywołany "obrazek" pojawia mi się pod spodem. Chciałbym np. aby lista punktów za każde pytanie (jak w grze Milionerzy) znajdywała się po prawej stronie konsoli. Jak to najłatwiej zrobić? Myślałem, żeby stworzyć klasę Konsola która zawiera wielką tablicę char[wysokosc][szerokosc] wypełnioną znakiem spacji ' ' i budowałbym to co chcę wyświetlić funkcją która pobiera mi współrzędne i "obrazek". Np. dodajdokonsoli(wspolrzednax, wspolrzednay, rysunek) która dodaje mi do obiektu klasy Konsola "obrazek" z ASCII do wyświetlenia. Może jest jakiś łatwiejszy sposób do budowanie "obrazków" w konsoli?
Pobierz Patres - #naukaprogramowania #cpp
Mirki jak zaimplementować kod, aby w konsoli wyświ...
źródło: comment_QQ5214OTJBaiLcj1652flYjjWggBpNSh.jpg
  • 5
@Patres: Próbujesz w konsoli zrobić CSS-owe float: right? :D

Generalnie musisz trzymać w pamięci bufor ekranu. W sensie: obrazków nie pisać bezpośrednio na konsolę, tylko odpowiednio układać je w tablicy char[][], reprezentującej cały ekran konsolowy, i na koniec wyświetlać cały bufor naraz.
@Patres: Nie sprawdzałem, znalazłem w necie ten oto fragment kodu:

void gotoxy(int x, int y)

{

HANDLE hConsole = GetStdHandle(STDOUTPUTHANDLE);


_COORD pos;

pos.X = x;

pos.Y = y;


SetConsoleCursorPosition(hConsole, pos);

}

Ale generalnie będzie lepiej zrobić tak, jak pisze @Rincewind. Jak zrobisz to dobrze, masz większą pewność, że obraz w konsoli Ci się nie rozjedzie.