Problème de code en QBasic.

Fermé
rcx - Modifié par rcx le 19/04/2012 à 19:04
qbasic45 Messages postés 55 Date d'inscription vendredi 14 décembre 2012 Statut Membre Dernière intervention 15 juin 2019 - 4 févr. 2013 à 23:32
Bonjour à tous,

Actuellement j'ai deux problème dans un programme coder en QBasic64.

Voilà le 1er problème, j'ai insérer dans mon programme RANDOMIZE TIMER, pour que le tirage se fasse automatiquement. Mon programme est un jeu de chance chaque lettre correspond à un chiffre au hasard entre 1 et 6.
Celui qui obtient le plus gros chiffre gagne.

Mon problème c'est que quand je choisi une lettre par ex "a" et l'autre choisi "e", le programme affiche très très souvent le même chiffre.


RANDOMIZE TIMER
A = INT(RND * 6) + 1
B = INT(RND * 6) + 1
C = INT(RND * 6) + 1
D = INT(RND * 6) + 1
E = INT(RND * 6) + 1
F = INT(RND * 6) + 1


a = INT(RND * 6) + 1
b = INT(RND * 6) + 1
c = INT(RND * 6) + 1
d = INT(RND * 6) + 1
e = INT(RND * 6) + 1
f = INT(RND * 6) + 1


Mon deuxième problème est le suivant, une question est poser si la réponse est "oui" le programme doit effectuer une boucle sinon si la réponse est "non le programme doit s'arrêter.

Le problème quand je répond "non" une 1er fois il active quand même la boucle, et quand le programme va me redemander si je veux refaire la partie, si je répond "non" une 2ieme fois il s'arrête. Comment faire pour que mon programme s'arrête au 1er "non" ?



PRINT " Veux tu convertir des Euros en Francs "
PRINT ' Espace pour faire lisible.
COLOR 2
INPUT " (O/N) "; reponse_conversion01$

' ******************
' ******************
IF reponse_conversion01$ = "O" OR reponse_conversion01$ = "o" THEN
PRINT ' Espace pour faire lisible.
COLOR 7
PRINT " Lets go ! "
END IF

' ******************
' ******************

PRINT ' Espace pour faire lisible.

DO ' Début de la 3ieme boucle.
INPUT " Quel valeur en Euros veux tu convertir en Francs "; valeur01
PRINT ' Espace pour faire lisible.
COLOR 14
PRINT SPACE$(25); valeur01; " euros = "; valeur01 * 6.55957; " francs. "
COLOR 7
PRINT ' Espace pour faire lisible.
INPUT " Une autre conversion (O/N) "; reponse_conversion01$
LOOP WHILE reponse_conversion01$ = "O" OR reponse_conversion01$ = "o" ' Fin de la 3ieme boucle.

' *******************
' *******************

IF reponse_conversion01$ = "N" OR reponse_conversion01$ = "n" THEN
PRINT ' Espace pour faire lisible.
PRINT " Ok a la prochaine ! "
END IF





Merci de m'avoir lu.

Cordialement rcx


A voir également:

1 réponse

qbasic45 Messages postés 55 Date d'inscription vendredi 14 décembre 2012 Statut Membre Dernière intervention 15 juin 2019 3
4 févr. 2013 à 23:32
bonjour
1er problème ( me il y a que 6 numero )
RANDOMIZE TIMER
10 REM
a=INT(RND * 9) - 1
IF A<1 OR A>6 THEN 10
20 REM
b=INT(RND*9)-1
IF b<1 OR b>6 THEN 20
IF b=a hen 20
30 REM
c=INT(RND*9)-1
IF c<1 OR c>6 THEN 30
IF c=a OR c=b then 30
40 REM
d=INT(RND*9)-1
IF d<1 OR d>6 THEN 40
IF d=a OR d=b OR d=c then 40
50rem
e=INT(RND*9)-1
IF e<1 OR e>6 THEN 50
IF e=a OR e=b OR e=d OR e=c then 50
60 REM
f=INT(RND*9)-1
IF f<1 OR f>6 THEN 60
IF f=a OR f=b OR f=d OR f=c OR f=e then 60
fin
deuxième problème
10 CLS
PRINT " Veux tu convertir des Euros en Francs ";
COLOR 2
INPUT " (O/N) "; reponse$
if reponse$="n" then end
print
INPUT " Quel valeur en Euros veux tu convertir en Francs "; valeur01
COLOR 14
PRINT SPACE$(25); valeur01; " euros = "; valeur01 * 6.55957; " francs. "
COLOR 7
PRINT
INPUT " Une autre conversion (O/N) "; reponse$
if reponse$<>"n" then goto 10
0