그래서 BlackJack 프로그램을 작성하려고하는데 각 라운드 후에 베팅 결과를 저장하는 데 어려움이 있습니다. 나는 새로운 값이 생성되었는지 루프가 원래의 값으로 되돌아 왔는지 모릅니다. 또는 그 값이 결코 변경되지 않았 음을 의미합니다. 매 라운드마다 Betting()
메서드가 프로그램 및 루프의 첫 번째 메서드이므로 실행됩니다. 내 코드는 다음과 같습니다while 루프에서 int 필드 값을 변경하십시오.
public static void WinnerIs()
{
// Winning/Lossing rules
if (DealerHand.Sum() > PlayerHand.Sum() && DealerHand.Sum() <= 21)
{
Money.Lossing();
Console.WriteLine("The Dealer have {0} , u have {1} . Dealer won. U now have {2}", DealerHand.Sum(), PlayerHand.Sum(), Money.PlayerMoney);
}
if (DealerHand.Sum() < PlayerHand.Sum() && PlayerHand.Sum() <= 21)
{
Money.Winning();
Console.WriteLine("The Dealer have {0} , u have {1} . U won. U now have {2}", DealerHand.Sum(), PlayerHand.Sum(), Money.PlayerMoney);
}
if (DealerHand.Sum() == PlayerHand.Sum())
Console.WriteLine("It's a tie");
if (DealerHand.Sum() > 21)
{
Money.Winning();
Console.WriteLine("Dealer have more then 21. U won. U now have {0}", Money.PlayerMoney);
}
dealerHand.Clear();
playerHand.Clear();
}
}
class Money
{
//Betting and Winning/Lossing results
private static int playerMoney = 1000;
public static int PlayerMoney { get { return playerMoney; } set { } }
public static int playerBetInt = 0;
public static int PlayerBet = 0;
public static void Betting()
{
Console.WriteLine("How much u want to bet? u have {0}$", PlayerMoney);
while (true)
{
string playerBetString = Console.ReadLine();
if (Int32.TryParse(playerBetString, out playerBetInt))
{
Console.WriteLine("Your Bet is: {0} ", playerBetInt);
if (playerBetInt > 0)
{
PlayerBet = playerBetInt;
break;
}
}
else
Console.WriteLine("Invield value Try Again");
}
}
public static void Winning() {
if (Hands.DealerHand.Sum() < Hands.PlayerHand.Sum() && Hands.PlayerHand.Sum() <= 21)
PlayerMoney = PlayerMoney + PlayerBet;
}
public static void Lossing() {
if (Hands.DealerHand.Sum() > Hands.PlayerHand.Sum() && Hands.DealerHand.Sum() <= 21 || Hands.PlayerHand.Sum() > 21)
PlayerMoney = PlayerMoney - PlayerBet;
}
코드에서 '정적'으로 나타나는 모든 항목을 제거하십시오. 이로 인해 컴파일러 오류가 발생할 수 있으므로 해당 컴파일러 오류를 수정하는 데는 아무리해도 정적을 사용하지 마십시오. 그렇게하기 위해 실제로 언어를 배워야 할 수도 있지만 목표가 맞습니까? 문제가 지속되면 다시 방문하십시오. –