Retourner au contenu associé (journal : Optimisation des tests pour un morpion.)
Posté par Lucas le 18 novembre 2003 à 17:08. En réponse au journal Optimisation des tests pour un morpion.. Évalué à 0.
AltStyle によって変換されたページ (->オリジナル) / アドレス: モード: デフォルト 音声ブラウザ ルビ付き 配色反転 文字拡大 モバイル
# Re: Optimisation des tests pour un morpion.
Posté par Lucas . En réponse au journal Optimisation des tests pour un morpion.. Évalué à 0.
déclarée mais jamais utilisée.
Si tu trouves un gagnant, inutile de continuer à tester.
Maintenant, histoire de clarifier le code, j'aurais codé ca comme ca :
struct {
char orig_x;
char orig_y;
char dir_x;
char_dir_y;
} directions[] = {
/* lignes */
{ 0, 0, 1, 0 },
{ 0, 1, 1, 0 },
{ 0, 2, 1, 0 },
/* colonnes */
{0, 0, 0, 1 },
{1, 0, 0, 1 },
{2, 0, 0, 1},
/* diags */
{0, 0, 1, 1},
{0, 2, 1, -1}
};
int eval_plateau()
{
int i;
for (i = 0; i < 8; i++)
{
struct dir = directions[i];
if (plateau[dir.orig_x][dir.orig_y] != VIDE)
if (plateau[dir.orig_x][dir.orig_y] == plateau[dir.orig_x + dir.dir_x][dir.orig_y + dir_y])
if (plateau[dir.orig_x + dir.dir_x * 2][dir.orig_y + dir.dir_y * 2] == plateau[dir.orig_x + dir.dir_x][dir.orig_y + dir_y])
return plateau[dir.orig_x][dir.orig_y];
}
return VIDE;
}