Minimax en VB et VB.NET

cs_LeChtimi Messages postés 2 Date d'inscription jeudi 29 mai 2003 Statut Membre Dernière intervention 6 juillet 2003 - 5 juil. 2003 à 11:44
cs_LeChtimi Messages postés 2 Date d'inscription jeudi 29 mai 2003 Statut Membre Dernière intervention 6 juillet 2003 - 6 juil. 2003 à 20:04
Salut à tous,

Quelqu'un pourrait-il m'aider à traduire ce pseudo code de l'algorithme du minimax pour un jeu d'Othello en VB ou VB.NET ? "Note(situation)" est une évaluation de la situation qui retourne une note.

Alogorithme en pseudo-code :

***********************************************
1 Minimax(situation,joueur,profondeur) retourne valeur :
2
3 Si profondeur=0 :
4 retourne Note(situation)
5
6 Sinon :
7 Si joueur:=1
8 meilleur_note:=MIN_NOTE
9 Pour chaque coup possible (x:=1 à N) :
10 note:=Minimax(situation + x, 2, profondeur - 1)
11
12 Si note>meilleur_note :
13 meilleur_note:=note
14
15 Sinon :
16 meilleur_note:=MAX_NOTE
17 Pour chaque coup possible (x:=1 à N) :
18 note:=Minimax(situation + x, 1, profondeur - 1)
19
20 Si note<meilleur_note :
21 meilleur_note:=note
22
23 Retourne Note(situation)
*********************************************

Je ne comprend pas à quel moment les lignes 12 et 13 (et aussi 20 et 21) sont exécutées puisque juste avant il y a un appel récursif de la fonction ...

Merçi d'avance de votre aide,

Fabrice

2 réponses

ShareVB Messages postés 2676 Date d'inscription vendredi 28 juin 2002 Statut Membre Dernière intervention 13 janvier 2016 26
6 juil. 2003 à 17:02
salut

bon pour note(situation) faut que tu donne le pseudo algo sinon on peut rien faire

public function Minimax(situation,joueur,profondeur)
if profondeur = 0 then
Minimax = Note(situation)
else
if joueur = 1 then
meilleur_note = MIN_NOTE
for x = 1 to N
note = Minimax(situation + x, 2, profondeur - 1)
next
if note > meilleur_note then meilleur_note = note
else
meilleur_note = MAX_NOTE
for x = 1 to N
note = Minimax(situation + x, 1, profondeur - 1)
next
if note < meilleur_note then meilleur_note = note
end if
Minimax = Note(situation)
end if
end function

je comprends pas bien le pseudo code mais bon...
je suis pas sur d code que j'ai ecrit

voila

ShareVB
0
cs_LeChtimi Messages postés 2 Date d'inscription jeudi 29 mai 2003 Statut Membre Dernière intervention 6 juillet 2003
6 juil. 2003 à 20:04
En tout cas merçi pour ton aide, je vais essayer ce code et te tiendrais au courant

encore merçi

Fabrice
0
Rejoignez-nous