Bonsoir, je suis entrain de réaliser un tic tac toe sur Windows Form. Le programme est à sa version 1 (:'() si puis je dire x), enfin bref voila le jeu est fonctionnel mais n'implémente pas encore un système d'IA que je compte faire par la suite. Si je post ce sujet c'est pour savoir comment puis-je améliorer les conditions de victoire de la méthode checkForWinner() :
private void checkForWinner()
{
if ((button1.Text == button2.Text) && (button2.Text == button3.Text) && (button1.Enabled == false))
{
_thereIsAWinner = true;
}
if ((button4.Text == button5.Text) && (button5.Text == button6.Text) && (button4.Enabled == false))
{
_thereIsAWinner = true;
}
if ((button7.Text == button8.Text) && (button8.Text == button9.Text) && (button7.Enabled == false))
{
_thereIsAWinner = true;
}
if ((button1.Text == button4.Text) && (button4.Text == button7.Text) && (button1.Enabled == false))
{
_thereIsAWinner = true;
}
if ((button5.Text == button5.Text) && (button5.Text == button8.Text) && (button5.Enabled == false))
{
_thereIsAWinner = true;
}
if ((button3.Text == button6.Text) && (button6.Text == button9.Text) && (button3.Enabled == false))
{
_thereIsAWinner = true;
}
if ((button1.Text == button5.Text) && (button5.Text == button9.Text) && (button1.Enabled == false))
{
_thereIsAWinner = true;
}
if ((button3.Text == button5.Text) && (button5.Text == button7.Text) && (button3.Enabled == false))
{
_thereIsAWinner = true;
}
if (_thereIsAWinner == true)
{
switch (_player1Turn)
{
case true:
MessageBox.Show("Le joueur numéro 1 (X) à gagné !", "Tic Tac Toe", MessageBoxButtons.OK, MessageBoxIcon.Information);
DisableButtons();
break;
case false:
MessageBox.Show("Le joueur numéro 2 (O) à gagné !", "Tic Tac Toe", MessageBoxButtons.OK, MessageBoxIcon.Information);
DisableButtons();
break;
default:
break;
}
}
}
Les successions de if sont-ils le seul recours ? ou bien y a t-il un autre moyen, de plus malgré avoir fait des recherches je n'arrive pas bien a saisir finalement l'utilité du mot clé : else if ??
Ps : je ne sais pas comment mettre de cache pour le code.:o