현재 카드 게임을 제작 중이며 콘솔에 출력을 쓸 때 모든 것이 잘 작동합니다. 그러나 파일에 쓸 때 각 카드와 관련된 슈트는 이상한 4 가지 문자 집합이됩니다. ASCII 테이블에 정의 된대로 하트, 다이아몬드, 클럽 및 스페이드 기호를 인쇄하는 대신 파일에 - 및 |가 포함 된 4 개의 다른 문자가 생성됩니다. 나머지 두 캐릭터는 초소형 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