2010-02-14 5 views
3

Je suis en train d'implanter le jeu Othello dans Prolog. Le plateau de jeu est représenté sous forme de liste de listes.Othello (Reversi) jeu, renversant des pièces, Prolog

Je suis confronté à un problème de retournement de pièces après un déménagement.

Ma stratégie est de regarder dans toutes les directions 8 de la position où je place ma pièce (dire noir),

et trouver la pièce qui entoure noir et retourner chaque pièce blanche entre mes morceaux. Donc, j'ai 8 prédicats séparés pour le faire. Le problème est que je les appelle séquentiellement après un mouvement, et si l'un de ces prédicats échoue, tout échoue.

Y at-il un moyen de contourner ce problème? Ou peut-être que mon approche est fausse?

+3

Ne pouvez-vous pas faire en sorte que vos prédicats à 8 directions ne tombent jamais en panne? –

Répondre

0

Comme suggéré par Cari Norum je viens de faire mes prédicats ne manquent pas . Donc, si l'un échoue, je le fais simplement retourner l'état actuel de la carte. Cela semble fonctionner.

+0

Cela semble raisonnable, car ce n'est pas vraiment un 'échec', il n'y a juste pas d'opérations à effectuer. –

0

Vous devriez peut-être essayer d'utiliser les prédicats OU?

Je sais que j'ai écrit cela pour une classe CS en étudiant à la fac, je l'espère ne pas utiliser votre stackoverflow de tricher sur vos missions ...);