Prog_qui_marche_pas.vbs

Résolu
CYM13 Messages postés 18 Date d'inscription mercredi 24 mai 2006 Statut Membre Dernière intervention 16 octobre 2006 - 23 août 2006 à 09:06
CYM13 Messages postés 18 Date d'inscription mercredi 24 mai 2006 Statut Membre Dernière intervention 16 octobre 2006 - 23 août 2006 à 14:23
J'ai un blem:mon prog marche pas!
Je le lance ,tt marche sauf que que la réponse soit bonne ou pas,
il affiche "perdu"

Do
b="mm instrument"
y=inputBox("Rentrez votre niveau de difficulté: 1 2 3 4 5 6 7 8")'+vbCr+"(Pour jouer en mode jeu,rajouter un 0 aprés le code de niveau ex= 7 > 70)",b)
If y=1 Then
Randomize
x=Int((98*Rnd)+1)
MsgBox"Retient les chiffres suivants  " & x,,b
WScript.Sleep 420000
z=inputbox("Quelles était les chiffres?",b)
If z>x Then
MsgBox"Perdu!",,b
Exit Do
ElseIf z<x Then
MsgBox"Perdu"
Exit Do
ElseIf x=z Then
MsgBox"Gagné!",,b
End If
ElseIf y=2 Then
Randomize
x=Int((9998*Rnd)+1)
b="mm instrument"
MsgBox"Retient les chiffres suivants" & x,,b
WScript.Sleep 420000
z=inputbox("Quelles était les chiffres?",b)
If z=x Then
MsgBox"Gagné!",,b
Else
MsgBox"Perdu!",,b
Exit Do
End If
ElseIf y=3 Then
Randomize
x=Int((999998*Rnd)+1)
b="mm instrument"
MsgBox"Retient les chiffres suivants" & x,,b
WScript.Sleep 420000
z=inputbox("Quelles était les chiffres?",b)
If z=x Then
MsgBox"Gagné!",,b
Else
MsgBox"Perdu!",,b
Exit Do
End If
ElseIf y=4 Then
Randomize
x=Int((99999998*Rnd)+1)
b="mm instrument"
MsgBox"Retient les chiffres suivants" & x,,b
WScript.Sleep 420000
z=inputbox("Quelles était les chiffres?",b)
If z=x Then
MsgBox"Gagné!",,b
Else
MsgBox"Perdu!",,b
Exit Do
End If
ElseIf y=5 Then
Randomize
x=Int((9999999998*Rnd)+1)
b="mm instrument"
MsgBox"Retient les chiffres suivants" & x,,b
WScript.Sleep 420000
z=inputbox("Quelles était les chiffres?",b)
If z=x Then
MsgBox"Gagné!",,b
Else
MsgBox"Perdu!",,b
Exit Do
End If
ElseIf y=6 Then
Randomize
x=Int((999999999998*Rnd)+1)
b="mm instrument"
MsgBox"Retient les chiffres suivants" & x,,b
WScript.Sleep 420000


z=inputbox("Quelles était les chiffres?",b)
If z=x Then
MsgBox"Gagné!",,b
Else
MsgBox"Perdu!",,b
Exit Do
End If
ElseIf y=7 Then
Randomize
x=Int((99999999999998*Rnd)+1)
b="mm instrument"
MsgBox"Retient les chiffres suivants" & x,,b
WScript.Sleep 420000
z=inputbox("Quelles était les chiffres?",b)
If z=x Then
MsgBox"Gagné!",,b
Else
MsgBox"Perdu!",,b
Exit Do
End If
ElseIf y=8 Then
Randomize
x=Int((9999999999999998*Rnd)+1)
b="mm instrument"
MsgBox"Retient les chiffres suivants" & x,,b
WScript.Sleep 420000
z=inputbox("Quelles était les chiffres?",b)
If x=z Then
MsgBox"Gagné!",,b
Else
MsgBox"Perdu!",,b
Exit Do
End If
End If
Loop




CYM13

10 réponses

jrivet Messages postés 7393 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
23 août 2006 à 09:43
Re,
Cela ne marche pas car:

Toutes tes variables etant de type variant elle prennent le Type Que tu leur assigne.

Hors Ici

X devient Integer ICI= x=Int((9999999998*Rnd)+1) (ou long ou plus ....)

Seulement Z Devient String Ici  z=inputbox("Quelles était les chiffres?",b)

Et donc ta comparaison est la suivante z>X => String > Integer => "83"> 83 Et cela donne toujours Faux.

Si tu veux corriger ceci il faut que Z Ne soit pas String Mais Integer ou Long OU Double ...

Poue le niveau  1 Il te suffit de mettre z=Cint(inputbox("Quelles était les chiffres?",b)) MAIS ATTENTION SI LE JOUEUR ENTRE DES LETTRES OU UNE VALEURS TROP GRANDE CELA DONNERAS UNE ERREUR

@+, Julien
3
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 17
23 août 2006 à 09:13
Aucunes variables ne sont déclarées !

@++

<hr size="2" width="100%" />
  --Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
<!--
0
jrivet Messages postés 7393 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
23 août 2006 à 09:29
Salut,

(effectivement bien matinal : mortalino)

: mortalino Si il est en VBS (Prog_qui_marche_pas.vbs) il n a pas besoin de declarer les variable

@+, Julien
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 17
23 août 2006 à 09:41
Arf,
quand je regarde l'aide de vbScript, il déclare des Dim un peu partout !
Mais bon, cette aide là c'est le bordel, il y a tout les langages mélangés.

Sinon, dans son code, pourquoi b est déclaré 7 fois ?

@++

<hr size="2" width="100%" />
  --Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
<!--
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 17
23 août 2006 à 09:46
Tu vois, je t'avais mis sur la voie

@++

<hr size="2" width="100%" />
  --Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
<!--
0
CYM13 Messages postés 18 Date d'inscription mercredi 24 mai 2006 Statut Membre Dernière intervention 16 octobre 2006
23 août 2006 à 14:06
Merci beaucoup julien,tu m'as franchement sauvé!

PS : Mortalino, si b est déclaré 7 fois,c'est que j'ai passé mon temp a Ctrl+C ,Ctrl+V!
PPS:Merci quand même!

0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 17
23 août 2006 à 14:13
Je pense qu'une fois au début de la procédure cela suffit !
A tester !

@++

<hr size="2" width="100%" />
  --Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
<!--
0
CYM13 Messages postés 18 Date d'inscription mercredi 24 mai 2006 Statut Membre Dernière intervention 16 octobre 2006
23 août 2006 à 14:14
Rabat-joie!




CYM13
0
jrivet Messages postés 7393 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
23 août 2006 à 14:16
>: CYM13: Mdr pour le rabat-joie.
Pense quand meme à essayer les fonctions cela pourrait te donner un code plus propre

@+, Julien
0
CYM13 Messages postés 18 Date d'inscription mercredi 24 mai 2006 Statut Membre Dernière intervention 16 octobre 2006
23 août 2006 à 14:23
dac!




CYM13
0