Вывод в консоль шахматных символов (юникод)
имеется массив шахматной доски,
char board[8][8]
{
//0 - пустая клетка, 1- черная пешка, 2- черный конь.... 7 - белая пешка, 8 - белый конь...
{4, 2, 3, 5, 6, 3, 2, 4},
{1, 1, 1, 1, 1, 1, 1, 1},
{0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0},
{7, 7, 7, 7, 7, 7, 7, 7},
{10, 8, 9, 11, 12, 9, 8, 10}
};
массив символов фигур
const wchar_t figures[13] {L'▮', L'♟', L'♞', L'♝', L'♜', L'♛', L'♚', L'♙', L'♘', L'♗', L'♖', L'♕', L'♔'};
метод конвертации числа в соответствующую фигуру
wchar_t convert(char figure){
return figures[figure];
};
и метод вывода всей доски
void render() {
for(int i=0; i<8; i++){
for(int j=0; j<8; j++){
wcout<<board[i][j];
}
}
}
не хочет ничего выводить, при этом когда в mainе писал cout<<"♞";
фигура коня выводилась без проблем (консоль vscode)
Ответы (1 шт):
Автор решения: RomanDonw
→ Ссылка
Стандартная консоль Windows не поддерживает символы Unicode. Для этого нужно указать кодовую страницу (англ. code-page), в которой эти символы есть.