Я играю в тетрис, и, отображая фигуры на консоли, я столкнулся с проблемой;
сначала только отображение форм было смещено влево, игнорируя пространство
поэтому я сделал условие, чтобы переместить курсор с пробелом так, чтобы символы отображались в нужном месте, но это, кажется, разрушает форму, потому что я не знаю размер пикселей символа.
void ANIMATION(int box[8][8])
{
char ▊ = 219;
double x = 20,y=30;
for (int i = 0; i < 8; i++)
{
gotoXY(x,y);
for (int j = 0; j < 8; j++)
{
if (box[i][j] == 1)
{
cout << ▊;
}
else
gotoXY((x+=0.35), y);
}
y++;
cout << endl;
}
x = 20;
y = 30;
Sleep(1000);
for (int i = 0; i < 8; i++)
{
gotoXY(x, y);
for (int j = 0; j < 8; j++)
{
if (box[i][j] == 1)
{
cout << ' ';
}
else
gotoXY((x += 0.35), y);
}
y++;
cout << endl;
}
cout << endl;
system("pause>null");
}
Это зависит от используемой ОС:
В Windows вы можете найти размер символов, используя
GetConsoleFontSize функция.
В Linux вы можете посмотреть что-то вроде FreeType