作业要求做一个在控制台运行的国际象棋游戏。
我想用符号代表棋子,但是没法输出国际象棋的符号, 如♖ ♘ ♗ ♕ ♔ ♗ 。 应该是编码方式的问题。
尝试了网上说的_setmode()函数的方法,改编码方式。
然而似乎只能输出前几百个 unicode 符号,像\u2656 这个符号,输出后只能显示方块。
到底如何输出国际象棋符号呢?
作业要求做一个在控制台运行的国际象棋游戏。
我想用符号代表棋子,但是没法输出国际象棋的符号, 如♖ ♘ ♗ ♕ ♔ ♗ 。 应该是编码方式的问题。
尝试了网上说的_setmode()函数的方法,改编码方式。
然而似乎只能输出前几百个 unicode 符号,像\u2656 这个符号,输出后只能显示方块。
到底如何输出国际象棋符号呢?
|
1
不是编码问题,控制台的字体不支持这些符号,需要更换字体
|
|
2
用 WriteConsoleW 直接输出 UTF-16 字符串,不要用 C stdio ,因为内部有各种转换处理。同时可能要更改字体。
|
|
3
|
|
codehzMay 17, 2022 via Android
4
(改成 windows terminal 试试看
|
|
kiroryMay 17, 2022
5
Your font is not support i ♖ ♘ ♗ ♕ ♔ ♗.
Try use hanzi '车' rather than '♖', or use windows terminal. |
|
sazimaMay 17, 2022
6
可以这样:
------- | 车 | ------- ------- | 将 | ------- |
|
inframeMay 17, 2022
8
Ubuntu Bash 下可以输出♖ ♘ ♗ ♕ ♔ ♗,要不考虑一下用 Linux 算了
|
|
sazimaMay 17, 2022
9
@@@@ @@@@ @@@@ @@@@
@@@@///@@@@///@@@@///@@@@ &&&&&&&&&&&&&&&&&&&&&&&&& ######################### @@@@@@@@@@@@@@@@@@@@@ #@@@@@@@@@@@@@@@. #@@@@@@@@@@@@@@@. #@@@@@@@@@@@@@@@. #@@@@@@@@@@@@@@@. #@@@@@@@@@@@@@@@. &@@@@@@@@@@@@@@@@@@@@@# ,@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ |
|
10
|
|
mmdsunMay 18, 2022 via iPhone
11
cmd 靠上的位置右键有个属性的选项,里面改字体
|