Каждый раз, когда игрок проигрывает или выигрывает, я запускаю GameOver(), который должен проверить, кто выиграл, а затем, в свою очередь, обновить очки любого человека, а также объявить, кто выиграл. Хотя все текстовые обновления работают, когда кто-то выигрывает, lblDealerScore или lblPlayerScore также должны обновляться с числовым значением побед. Однако этого не происходит, может кто-нибудь мне помочь?
Последняя попытка заключалась в обновлении числовых значений текстовых полей с помощью функций DealerWon() и PlayerWon() но это не сработало. До этого я также пробовал обновлять текстовые поля со счетом каждый раз в GameOver(). Обе попытки ни к чему не привели, ничего не происходит, ничего не меняется.
private void GameOver()
{
Playable = false;
btnHit.Visible = false;
btnStand.Visible = false;
if (PlayerScore == 21 && DealerScore == 21)
{
lblOutcome.Text = "Draw";
}
if (DealerScore > 21)
{
lblOutcome.Text = "Dealer Bust";
PlayerWon();
}
if (PlayerScore > 21)
{
lblOutcome.Text = "Player Bust";
DealerWon();
}
if (PlayerScore > DealerScore && PlayerScore < 22)
{
PlayerWon();
if (PlayerScore == 21 && PlayerTaken3 == false)
{
lblOutcome.Text = "Player BlackJack!";
}
else
{
lblOutcome.Text = "Player Wins";
}
}
if (PlayerScore < DealerScore && DealerScore < 22)
{
DealerWon();
if (DealerScore == 21 && DealerTaken3 == false)
{
lblOutcome.Text = "Dealer BlackJack!";
}
else
{
lblOutcome.Text = "Dealer Wins";
}
}
}
private void PlayerWon()
{
PlayerPoints = PlayerPoints++;
lblPlayerScore.Text = PlayerPoints.ToString();
}
private void DealerWon()
{
DealerPoints = DealerPoints++;
lblDealerScore.Text = DealerPoints.ToString();
}
Подробнее здесь: https://stackoverflow.com/questions/788 ... harp-forms