Bonjour à tous,
Alors voilà je dois effectuer un projet sur VBA dans le cadre de mes études, il s'agit de réaliser un jeu où il y a un bloc rouge horizontal se trouvant sur la 3éme ligne de la grille (la grille a une dimension de 6x6) et un nombre aléatoire d'autres blocs (de taille 2 ou 3 cases) qu'on pourra deplacer afin de libérer le bloc rouge.
Je rencontre un problème dans mon programme que je ne comprends pas du tout car ça me semble logique.
Voici la partie qui me pose problème :
Je veux en fait placer un des blocs de manière aléatoire, je génère donc aléatoirement les coordonnées de la première case qui composera le bloc (x,y).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 Do x = Int((6 * Rnd) + 1) y = Int((6 * Rnd) + 1) Loop Until (t(x, y) <> 0) Or ((x = 3) And (y >= colBlocR))
Sauf que je ne veux mettre aucun bloc devant le bloc rouge, je dis donc dans le programme de répéter la fonction aléatoire tant que (x=ligne du bloc rouge ET y>= à la colonne du bloc rouge) OU (t(x,y)<>0 )car si c'est différent de 0 cela voudra dire que la case n'est pas vide.
Et lorsque que je teste le programme il me fait tout l'inverse, c'est-à-dire qu'il va sortir du tant que , que lorsque x sera = 3 et y >= à la colonne du bloc rouge.
Je ne vois pas du tout pourquoi il me fait ça, je pense avoir bien écrit le code
Si quelqu'un aurait une idée ce serait gentil.
Bonne journée et merci d'avance![]()
Partager