Prblm petit programme vbs, peine a trouver l'erreur
Résolu
docteur_nemo
Messages postés
21
Date d'inscription
Statut
Membre
Dernière intervention
-
félix -
félix -
bonjour, je debute en programmation et j'ai essayé de faire un truc simple.
C'est un mini-logiciel de jeu plus ou moins en "msgbox".
Malheureusement, a chaque fois que je le lance, il me dit "plus petit, meme lorsqu'il est censé me dire "hors bornes".
Si vous pouviez me dire ou j'ai fait une erreur, merci
C'est un mini-logiciel de jeu plus ou moins en "msgbox".
Malheureusement, a chaque fois que je le lance, il me dit "plus petit, meme lorsqu'il est censé me dire "hors bornes".
Si vous pouviez me dire ou j'ai fait une erreur, merci
Randomize
msgbox "hhh"
x = int(Rnd * 100) + 1 'tirrage nb aleatoire 1<x<100
do
y = InputBox("ton nombre","plus_ou_moins","nbr") 'input nbr joueur
If y < x then 'plus petit
msgbox "plus grand",0,"plus_ou_moins"
End If
If y > x then 'plus grand
msgbox "plus petit",0,"plus_ou_moins"
End If
If y < 1 or y > 100 then 'hors bornes
msgbox "tu n'est pas dans les bornes",0,"plus ou moins"
End If
If y = x then 'egal
Msgbox "felicitation, tu as trouve",0,"plus_ou_moins"
z = msgbox("veux tu recommencer ?",4+32,"plus_ou_moins") 'question
If z = 6 then 'oui
GoToLine 5
End If
If z = 7 then 'non
Msgbox "Merci d'avoir joue",0,"plus_ou_moins" 'message au revoir
WScript.quit
End If
End If
loop
A voir également:
- Prblm petit programme vbs, peine a trouver l'erreur
- Trouver adresse mac - Guide
- Vbs windows - Accueil - Optimisation
- Programme demarrage windows - Guide
- Comment trouver le mot de passe wifi sur son téléphone - Guide
- Ou trouver l'adresse ip - Guide
4 réponses
Salut !
Je pense que quand ton y = -1 les 2 conditions sont valide ( plus petit et hors borne)
C'est pour ca que tu as les 2 messages
Je pense que quand ton y = -1 les 2 conditions sont valide ( plus petit et hors borne)
C'est pour ca que tu as les 2 messages
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
bonjour,
tenant compte de la remarque de Unombre, tu pourrais faire ainsi:
tenant compte de la remarque de Unombre, tu pourrais faire ainsi:
If y < 1 or y > 100 then 'hors bornes msgbox "tu n'est pas dans les bornes",0,"plus ou moins" ElseIf y < x then 'plus petit msgbox "plus grand",0,"plus_ou_moins" ElseIf y > x then 'plus grand msgbox "plus petit",0,"plus_ou_moins" ElseIf y = x then 'egal
Bonjour docteur_nemo,
Je te propose ce code (vérifie le GoToLine) :
Merci de me dire si ça te convient.
Je te propose ce code (vérifie le GoToLine) :
Randomize MsgBox "hhh" x = Int(Rnd * 100) + 1 'tirage nb aléatoire 1<x<100 Do Do y = InputBox("ton nombre", "plus_ou_moins", "nbr") 'input nbr joueur If y >= 1 And y <= 100 Then Exit Do 'dans les bornes MsgBox "tu n'es pas dans les bornes", 0, "plus ou moins" Loop If y = x Then 'egal MsgBox "félicitations, tu as trouvé", 0, "plus_ou_moins" Z = MsgBox("veux-tu recommencer ?", 4 + 32, "plus_ou_moins") 'question If Z = 6 Then 'oui GoToLine 10 ' à adapter pour qu'il pointe sur la ligne du 2ème Do End If If Z = 7 Then 'non MsgBox "Merci d'avoir joué", 0, "plus_ou_moins" 'message au revoir WScript.Quit End If End If ' si trouvé : traitement effectué ci-dessus ; sinon, ' ce sera forcément plus petit ou plus grand : If y < x Then 'plus petit MsgBox "plus grand", 0, "plus_ou_moins" Else 'plus grand MsgBox "plus petit", 0, "plus_ou_moins" End If Loop
Merci de me dire si ça te convient.
Bonjour docteur_nemo,
Dans le programme que j'avais fait, j'avais oublié l'instruction int =>
si tu corriges ainsi la ligne #11, ça devrait aller :
y = Int(InputBox("ton nombre", "plus_ou_moins", "nbr")) 'input nbr joueur
car le retour de InputBox est du texte, et avec Int, c'est converti en entier.
À part ça, la structure était mieux (ordre des tests) ; et tu auras remarqué
qu'on sort de la 2ème boucle Do seulement si le nb y est dans les bornes.
D'autre part, si WScript.Quit arrête le programme et sort de la sub,
c'est ok ; sinon, il suffit de rajouter juste après « : Exit Sub ».
Dans le programme que j'avais fait, j'avais oublié l'instruction int =>
si tu corriges ainsi la ligne #11, ça devrait aller :
y = Int(InputBox("ton nombre", "plus_ou_moins", "nbr")) 'input nbr joueur
car le retour de InputBox est du texte, et avec Int, c'est converti en entier.
À part ça, la structure était mieux (ordre des tests) ; et tu auras remarqué
qu'on sort de la 2ème boucle Do seulement si le nb y est dans les bornes.
D'autre part, si WScript.Quit arrête le programme et sort de la sub,
c'est ok ; sinon, il suffit de rajouter juste après « : Exit Sub ».
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
et ainsi?
y = int(InputBox("ton nombre","plus_ou_moins","nbr")) 'input nbr joueur
que fait le programme?