Algorithme Apagos

Quel âge avez-vous ?

Moins de 18 ans

18 ans ou plus

Mumei No   Algorithme Apagos 3 11/12/14 à 23:52

Bonjour,

Je ne pensais pas devoir demander de l'aide en algo mais bon, il faut un début à tout.

Pour mon partiel d'algorithmique, on doit en plus de l'exam en janvier réaliser l'algorithme d'une partie entre un joueur et un ordi jouant totalement au hasard sur le jeu apagos. Voici les règles :

- Le jeu est composé de 10 billes blanches et d'autant de noires.
- Il y a 4 pièces qui possèdent un rang de 1 à 4 et ont 2 faces.
- Sur la première pièce se trouvent 7 trous sur une face et 5 sur l'autre.
- La deuxième et la troisième en possèdent 5 et 3.
- La dernière contient 3 et 1 emplacement sur chaque face.
- Chaque pièce peut être placée à n'importe quel endroit au début de la partie.
- N'importe quelle face peut être utilisée.
- Les joueurs peuvent prendre une de leurs billes ou une de leur adversaire.
- Une bille prise de la réserve et placée sur une pièce fait monter cette dernière d'un rang.
- Une bille prise d'une pièce et mise à une autre ne change pas la place des pièces.
- La partie se termine quand il n'y a plus de place sur les pièces.
- Le gagnant est celui qui possède le plus de billes sur la pièce la plus haute.

Voilà. Mon problème réside dans l'initialisation de ces pièces. Comme elles contiennent un nombre impair d'emplacements, je les ai écrites dans l'algo pour que cela donne ça :

0 | NOIRES
-----------------------------
0 | BLANCHES Par exemple
-----------------------------
7 | VIDES

J'ai du demander à remplir une par une toutes les cases des 5 tableaux (avec la réserve) et c'est assez long. Il m'a été conseillé d'utiliser les structures, mais je n'ai pas compris comment cela fonctionnait, et impossible de trouver une réponse sur Internet.

C'est pourquoi je demande finalement de l'aide aux SEiens / SEiènes qui y connaissent quelque chose.

P.S. : Pour ne pas écriretout un roman, je n'ai pas inséré l'algo, mais je peux vous l'envoyer par MP si besoin est. Wink

Merci d'avance.

Bref.   
Algorithme Apagos 1/3 13/12/2014 à 01:10
Shocked Pistolet

Moi en lisant ton post, c'est pas très constructif ni utile, mais je te soutien dans l’incompréhension de ton algorithme ^^
Algorithme Apagos 2/3 13/12/2014 à 21:10
ok , comme ça je comprends un peu mieux les règles .
après analyse des règles , je vois 2 points importants :
la position de la pièce , et sa face qui détermine son nombre d'emplacement .
donc , déjà , tu peux attribuer un booléen à chaque pièce , ce qui déterminera de quel coté elles sont
et donc selon la pièce , ça détermine son nombre de trou parmi les deux possibles .

déclare bool Piece1; // devant ou derrière
// comme il s’agit de l'initialisation , tu peux mettre un rand qui détermine si le booléen est à 0 ou 1
déclare int PositionPiece1; // 1 ou 2 ou 3 ou 4

// idem pour les autres pièces

et dans tes fonctions d'action des joueurs , tu pourras vérifier qu'ils peuvent placer les billes avec cette simple condition :

si bool Piece1 == 1 {
Trou1 = 5;
}else{
Trou1 = 7;
}

après , dans tes fonctions tu dois faire en sorte de pouvoir compter les billes , de faire en sorte qu'elles ne dépassent pas la limite des faces , etc ...

Pas de liens, bordel de putain de merde.

Dazz
Algorithme Apagos 3/3 14/12/2014 à 22:52
Alors, tout d'abord, merci de vos réponses et par rapport à ce que tu as dit Sivmatt, les emplacements dispo sur chaque pièce sont déterminés en entrée. Pas la peine du coup de dire quelle face est utilisable. Je t'envoie l'algo pour pour que tu vois le problème Wink
Recommande ce site a tes ami(e)s | Aller en haut

Partenaires : Énigmes en ligne