, поэтому я пытаюсь создать монопольную игру в C #.Игра работает по большей части, однако я пытаюсь бороться с игроками, которые выходят из игры, когда они обанкротились, и это не работает, как ожидалось.Я пытаюсь использовать goto для перехода к следующему игроку, если текущий банкрот, хотя, похоже, он не подходит к правильному случаю.
private void changeActivePlayer()
{
switch (activePlayerID)
{
case 1:
if (player1Bankrupt == true)
{
goto case 2;
}
else
{
activePlayerID = 2;
break;
}
case 2:
if (player2Bankrupt == true)
{
goto case 3;
}
else
{
activePlayerID = 3;
break;
}
case 3:
if (player3Bankrupt == true)
{
goto case 4;
}
else
{
activePlayerID = 4;
break;
}
case 4:
if (player4Bankrupt == true)
{
goto case 1;
}
else
{
activePlayerID = 1;
break;
}
}
}
Я пыталсятестирую мой код, сразу делая двух игроков банкротами при запуске игры.Игроки 1 и 2 могут ходить по очереди нормально.Однако, как только он попадает в ход игрока 3, вместо того, чтобы следовать инструкции переключения в дело 4, а затем снова в дело 1, он вместо этого позволяет игроку 3 по-прежнему брать свой ход, и как только он заканчивается, он возвращается к ходу игрока 2 и создаети бесконечный цикл.Я понимаю, что это, вероятно, не лучший способ решить эту проблему, но любая помощь в решении этой проблемы будет высоко оценена, так как я не могу понять, что не так.Спасибо.