コンソールで完全に表示されるJavaでチェスゲームをプログラミングしようとしています。私はWhite Chess Queen U + 2655のようなUnicode文字を使用しています。私の問題は、ボードを正しく表示することができないため、チェスの幅に一致する空白文字が見つからないということです。以下の私の出力を見て、私はH4にH2からのポーンを移動:JavaのUnicode文字の幅
8 ♜♞♝♛♚♝♞♜
7 ♟♟♟♟♟♟♟♟
6
5
4 ♙
3
2 ♙♙♙♙♙♙♙
1 ♖♘♗♕♔♗♘♖
a b c d e f g h
編集:
♙♙♙♙♙♙♙♙
xxxxxxxx
iiiiiiii
||||||||
は、あなたがそれを見ることができます。問題は、次の例を指摘する方が簡単ですチェスの部分は、ポーンの下の他の文字よりも幅がわずかに大きい。
このウェブサイトでは、チェスのピースは標準文字の幅よりわずかに大きいです。 Eclipseの私のコンソールでは、チェスの幅は2標準文字よりわずかに狭いです。
私は3つのいずれかを要求していたとします
- Unicodeのチェスの駒の幅と一致する空白文字を。
- 文字または文字列の幅を返すJavaメソッド
- 文字または文字列の幅を任意の値に設定できるJavaメソッド。
ご協力いただきありがとうございます。
編集:それは私に問題を引き起こしていたconsolasフォントでした。 Consolasは、約1.8文字幅の非常に奇妙な幅のチェスを表示します。私はチェスの大きさを正確に合わせたものが見つかるまで、私のコンソールのフォントをいくつかの異なるモノスペースのフォントに切り替えました。フォントに関係なく、特定の幅を確保する方法はありますか?
あなたが探しているものは、これらの必須プロパティ、特に**モノスペース**のものを含む**フォント**です。しかし、このようなフォントのコンセプトがないので、コンソールでこれを行うのは幸運ではないかもしれません。それぞれのユーザーは、使用したいフォントを指定することができます。 – luk2302
印刷ロジックにエラーがあります。あなたはあなたの列の間にスペースを持っていますが、あなたはあなたの作品の間にそれらを入れていません。 – teppic
@teppicチェスの幅について言いましたので、Eclipseコンソールにスペースが必要です。彼らは私のコンソールで1.9文字のようなものです。 – the0dark0one