ボードが2次元配列で表されるチェスゲームをしています。私はこのようにそれを印刷しようとすると、それらがずれますので、しかし、チェスの駒は、スペースとは異なる幅である:ここでは等しい文字間隔の2次元リストを表示するPython
♖ ♘ ♗ ♕ ♔ ♗ ♘ ♖
♙ ♙ ♙ ♙ ♙ ♙ ♙ ♙
♟
♟ ♟ ♟ ♟ ♟ ♟ ♟
♜ ♞ ♝ ♛ ♚ ♝ ♞ ♜
は、印刷機能である:
def print_board():
y = ["♖", "♜", "♗", "♝", "♘", "♞", "♕", "♛", "♔","♚", "♙", "♟"," "]
for i in range(8):
tempListe = "".join(board[i])
z=0
for x in ["T","t","L","l","H","h","D","d","K","k","P","p","_"]:
if x in tempListe:
tempListe = tempListe.replace(x,y[z])
z+=1
for j in range(8):
print("{0:2}".format(tempListe[j]),end="")
print("")
print_board()
私は多くの異なっを試してみましたしかし、すべてが同じように終わるようです。ピース間のスペースが大きくなりすぎないように、これを修正するにはどうすればいいですか?
再生できません。また、スペースの幅は、「適切な」コンソールフォントの任意の文字の幅と同じにする必要があります。 Arialなどを使用していないことを確認してください。 –
ところで、あなたはその関数の本体を 'd = dict(zip(" TtLlHhDdKkPp_ "、"♖♜♗♝♘♞♕♛♔♚♙♟ "))に置き換えることができます。ボード上の行:print( ".join(map(d.get、line)))' ' –