現在、カードゲームを構築しており、コンソールに出力を書き込むとすべて正常に動作します。 しかし、ファイルに書き込むと、各カードに関連付けられたスーツは、4種類の異なる文字の奇妙なセットになります。 ASCIIテーブルで定義されているHeart、Diamond、Club、Spadeの各シンボルを印刷する代わりに、 - と|を含む4つの異なる文字が出力されます。他の2人のキャラクターは、超小型スクリプトLのように見えます。C#テキストファイルの出力が正しくありません
public enum SUIT { HEART = 0, DIAMOND = 1, CLUB = 2, SPADE = 3 };
public enum VALUE { NINE = 0, JACK = 1, QUEEN = 2, KING = 3, TEN = 4, ACE = 5 };
public static string printCard(PinochleCard theCard)
//This card game uses a set of 5 card denominations
{
string cardS = "";
switch (theCard.cardValue)
{
case VALUE.ACE:
cardS += 'A';
break;
case VALUE.TEN:
cardS += "10";
break;
case VALUE.KING:
cardS += 'K';
break;
case VALUE.QUEEN:
cardS += 'Q';
break;
case VALUE.JACK:
cardS += 'J';
break;
case VALUE.NINE:
cardS += '9';
break;
}
cardS += (char)(theCard.suit + 3); // +3 converts to heart, diamond, club, spade in
return cardS.PadRight(4); // the console but not for files
}
次に、この関数をループで呼び出してユーザーの手を印刷します。
ありがとうございました!
ために、このリンクを参照してください明らかにこれはあなたのコードのバグです。もちろん、コードを提供していないので、私たちはあなたを助けることはできません。あなたのコードをそのまま投稿してください。 –
コードはどこですか?あなたはおそらくユニコードを書いているでしょう:) –
どのように心臓、ダイヤモンド、クラブ、スペードシンボルを出力していますか?ファイルを表示するためにどのエディタを使用していますか?スタンダードASCIIにはコードがあるとは思えないので、ファイルを見ると正しく表示されないことは驚くことではありません。 – Sahand