Bonjour à tous,J'essaye de programmer à titre d'exo le pb des 8 reines. euh comme je débute c'est du lourd du point de vue algo
Voici mon pb qui n'est pas un problème d'algo mais de pile
Le code est un test de détection d'une reine sur le même ligne
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 'test de la présence d'une reine dans une même ligne '========================================================== ''Calcul du numéro de la première case de la ligne. occup est le numéro de la case occupée par la reine result = occup - (occup Mod 8) + 1 For x = result To result + 7 'on ne teste pas la case ou on est If x = occup Then GoTo Xplus ' Test si une case est occupée.si oui on change de ligne If Not (Not pic(x).Picture) Then MsgBox (" Reine ligne!!!!") 'on enlève l'image pic(occup).Picture = Nothing 'on change de ligne occup = occup + 8: result = occup - (occup Mod 8) + 1 ICI LE PB J'ai besoin de relancer la boucle avec de nouveaux paramètres pic(occup).Picture = LoadPicture(App.Path & "\Reine.jpg") 'Affichage GoTo Xplus ' on reteste Else End If Xplus: Next
Suite au test ligne 7 si une reine est détectée on change de ligne.A ce moment là il faut de nouveau retester mais les paramètres qui définissent le for x de la boucle ont changé.
J'ai essayé de mettre l'étiquette Xplus avant la boucle en faisant un set x =nothing mais cela crée une erreur d'incompatibilité et cela ne décharge pas la pile du next.
Ma question est
Y a-t-il un moyen technique de réinitialiser la boucle.
En espérant ne pas avoir été trop brumeux et en vous remerciant de m'avoir consacré de votre temps.
Partager