Prog_qui_marche_pas.vbs

Résolu
Signaler
Messages postés
18
Date d'inscription
mercredi 24 mai 2006
Statut
Membre
Dernière intervention
16 octobre 2006
-
Messages postés
18
Date d'inscription
mercredi 24 mai 2006
Statut
Membre
Dernière intervention
16 octobre 2006
-
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

Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
58
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
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
Aucunes variables ne sont déclarées !

@++

<hr size="2" width="100%" />
  --Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
<!--
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
58
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
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
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"
<!--
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
Tu vois, je t'avais mis sur la voie

@++

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

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!

Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
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"
<!--
Messages postés
18
Date d'inscription
mercredi 24 mai 2006
Statut
Membre
Dernière intervention
16 octobre 2006

Rabat-joie!




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

@+, Julien
Messages postés
18
Date d'inscription
mercredi 24 mai 2006
Statut
Membre
Dernière intervention
16 octobre 2006

dac!




CYM13