Я пытаюсь показать только одно окно сообщения, используя gover gameover для управления ситуацией, но это не сработает, показывая бесконечные окна сообщений.Показать только одно окно сообщения
bool player2turn = false;
bool gameover = false;
private void timer1_Tick(object sender, EventArgs e)
{
if ((pb00.BackColor == pb10.BackColor) && (gameover == false))
{
winner();
}
}
private void winner()
{
if (player2turn == false)
{
MessageBox.Show("Player 2 wins!", "Retry?", MessageBoxButtons.YesNo);
gameover = true;
}
else
{
MessageBox.Show("Player 1 wins!", "Retry?", MessageBoxButtons.YesNo);
gameover = true;
}
}
Вы должны остановить этот таймер, добавить timer1.Stop() * перед тем * отображать окно сообщения. –
Или измените сообщение на «Игрок 2 победит! Быстро, нажмите кнопку, прежде чем таймер снова закроется!» _;) Пока отображается MessageBox, он предотвращает выполнение следующей строки кода, поэтому 'gameover' не установите значение «true». –
Я должен быть новеньким – Newbie404