Question

Je suis en train de développer Pentago-jeu en c #.

En ce moment je vais avoir mode 2 joueurs qui fonctionne très bien.

le problème est que je veux Un joueur Mode (contre l'ordinateur), mais malheureusement, tous les outils de Minimax / negamax sont un chose calculée pour chaque « Move "(en plaçant le marbre, jeu pièce mobile).

BUTIN Pentago, tous les besoins de joueur à faire deux choses (lieu marbre, et tourner une des planches intérieures)

Je ne figure pas comment mettre en œuvre à la fois partie et rotate placer le marbre, et je voudrais bien que quelqu'un me guider avec cela.

si vous n'êtes pas familier avec le jeu, voici un lien au jeu.

si quelqu'un manque de, je peux télécharger mon code quelque part si c'est pertinent.

merci beaucoup à l'avance

Était-ce utile?

La solution

Si un mouvement légal unique se compose de deux sous-coups, votre « mouvement » à des fins de l'algorithme de jeu est tout simplement un tuple où le premier élément est le placement en marbre et le deuxième élément est la rotation de la carte par exemple:.

var marbleMove = new MarbleMove(fromRow, fromCol, toRow, toCol);
var boardRotation = new BoardRotation(subBoard, rotationDirection);
var move = new Tuple<MarblMove, BoardRotation>(marbleMove, boardRotation);

En général, un jeu algorithme de jeu vous demandera d'énumérer tous les coups possibles pour une position donnée. Dans ce cas, vous devez énumérer toutes les paires possibles de sous-coups. Avec cette liste en main, vous pouvez passer à l'aide d'approches conventionnelles jeu de jeu d'ordinateur.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top