1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| fonction GainMin(Joueur, Jeu) : entier
début
/* on commence par la condition d'arrêt */
si Jeu.ig=Jeu.id alors
si Joueur=Jeu.Joueur alors /* C'est le joueur qui prend la carte */
GainMin := Jeu.T[ig]
sinon /* c'est l'adversaire qui prend la carte */
GainMin := -Jeu.T[id]
fin si
sinon /* ici c'est le cur */
si Joueur=Jeu.Joueur alors
gain_gauche=GainMin(Joueur, Jeu_Gauche(Jeu)) + Jeu.T[ig]
gain_droite=GainMin(Joueur, Jeu_Droite(Jeu)) + Jeu.T[id]
sinon
gain_gauche=GainMin(Joueur, Jeu_Gauche(Jeu)) - Jeu.T[ig]
gain_droite=GainMin(Joueur, Jeu_Droite(Jeu)) - Jeu.T[id]
fin si
si gain_gauche>=0 et gain_droite>=0 alors
GainMin := Min(gain_gauche, gain_droite)
sinon
GainMin := Max(gain_gauche, gain_droite)
fin si
fin si /*fin du cur */
retourner GainMin
fin /*de la fonction */ |
Partager