X. Les trucs utiles▲
Voilà quelques trucs qui peuvent toujours servir.
X-A. Timer▲
Il donne le nombre de secondes écoulées depuis minuit (qu'est-ce que vous en avez à faire ? Vous allez voir). C'est vrai que sauf si vous êtes un peu loup-garou sur les bords (et encore) cela n'a pas l'air d'être très utile, mais si on y regarde de plus près cela peut devenir très utile. Par exemple vous avez envie de faire une animation (façon de parler) qui affichera au fur et à mesure un texte à l'aide d'une boucle. Mais voilà la boucle va trop vite et votre texte apparaît d'un coup. TINTINTINTIN…TIIIIN…TIIIIIN. Timer arrive (je voulais mettre un fichier son sur la page HTML, mais je n'ai pas réussi à trouver une fonction qui s'active en même tant que votre surprise, c'est une blague, il faut rire ! ! ! Pas me prendre pour un malade ! ! !)Bon revenons à notre timer. On va donc ajouter à la boucle ceci :
Temp1 =
timer
Do
Loop
until
timer -
temp1 >
.2
Là, le programme attendra que l'espace entre temp1 et timer soit assez grand, mais on aurait pu augmenter la valeur pour attendre un peut plus. Quoi ! ? Vous voulez le programme qui affiche au fur à mesure le texte, bon OK.
Le voilà !
Version normale, c'est une pyramide :
SCREEN 13
text$ =
"voilà le texte qui vient bout par bout"
FOR
i% =
1
TO
LEN
(
text$)
temp1 =
TIMER
DO
LOOP
UNTIL
TIMER -
temp1 >
.2
PRINT LEFT
$(
text$, i%)
NEXT
END
Version multicolore. Là il n'y a pas de pyramide, car le texte est écrit sur lui-même avec la ligne de commande LOCATE 10,1 :
SCREEN 13
CLS
text$ = « voilà le texte qui vient bout par bout »
FOR i% = 1 TO LEN(text$)
temp1 = TIMER
DO
LOOP UNTIL TIMER - temp1 > .2
COLOR i% + 60
LOCATE 10, 1
PRINT LEFT$(text$, i%)
NEXT
END
X-B. RANDOMIZER▲
Cette fonction sert à donner aléatoirement une valeur dans un groupe de valeurs préchoisies.
Par exemple, on peut faire des dés ou plutôt un jeu de chance où vous devrez indiquer une valeur comprise entre 1 et 6. Le logiciel leur donnera au hasard une valeur et si elles sont égales c'est gagné sinon c'est perdu.
Voici le programme :
CLS
PRINT "les dés de la chance"
' présentation du programme
10
INPUT "donnez un chiffre entre 1 et 6"
; chiffre% 'demande d'un chiffre
IF
chiffre% >
6
THEN
' vérification du chiffre
GOTO
10
'renvoie au début si faux
END
IF
IF
chiffre% <
1
THEN
GOTO
10
END
IF
RANDOMIZE TIMER' début de la fonction si on enlève timer le programme 'demandera la base du chiffre aléatoire essayez.
lechiffre% = INT(RND * 7)'RND sert à choisir le chiffre 7 est le maximum + '1 c'est-à-dire que si j'avais mis 6 j'aurais dû ajouter +1 ou alors jamais un 6 n'apparaîtrait
IF
lechiffre% =
chiffre% THEN
'resultat
PRINT "gagné"
GOTO
20
END
IF
IF
lechiffre% <>
chiffre% THEN
PRINT "perdu"
PRINT "mon chiffre était "
; lechiffre%; " hihi!!"
END
IF
20
INPUT "veux-tu rejouer(oui ou non)"
; reponse$ 'demande si le joueur veut 'rejouer.
SELECT
CASE
reponse$
CASE
IS
=
"non"
END
CASE
IS
=
"oui"
GOTO
10
CASE
ELSE
GOTO
20
END
SELECT
END
' c'est la fin.
Quoi vous voulez tricher ? Oh là ! Ce n'est pas bien, mais cela vous regarde allez voir cette source :
CLS
PRINT "les dés de la chance"
PRINT "appuyez sur une touche"
10
INPUT "donnez un chiffre entre 1 et 6"
; chiffre%
IF
chiffre% =
963
THEN
R
PRINT "mode tricheur"
R
mode% =
1
R
END
IF
R
IF
chiffre% >
6
THEN
GOTO
10
END
IF
IF
chiffre% <
1
THEN
GOTO
10
END
IF
IF
mode% =
1
THEN
GOTO
40
R
RANDOMIZE
TIMER
lechiffre% =
INT
(
RND
*
6
) +
1
IF
lechiffre% =
chiffre% THEN
40
PRINT "gagné"
GOTO
20
END
IF
IF
lechiffre% <>
chiffre% THEN
PRINT "perdu"
PRINT "mon chiffre était "
; lechiffre%; " hihi!!"
END
IF
20
INPUT "veux-tu rejouer(oui ou non)"
; reponse$
SELECT
CASE
reponse$
CASE
IS
=
"non"
END
CASE
IS
=
"oui"
GOTO
10
CASE
ELSE
GOTO
20
END
SELECT
END
Les lignes qui se terminent par R correspondent aux rajouts par rapport à l'exemple précédent.
Explication.
Au moment de donner un chiffre s'il est égal à 963, alors, on inscrit mode tricheur à l'écran et donnons à mode% la valeur 1 puis à chaque fois le programme sautera le moment de choisir un chiffre pour aller directement à print « vous avez gagné ».
Voilà plusieurs commandes qui fonctionnent sur le même modèle :
X-C. ABS - valeur absolue▲
Exemple :
Valeur =
ABS
(
12
)
PRINT " La valeur absolue de 12 est "
;valeur
Bien sûr, il est complètement inutile dans cet exemple d'utiliser cette commande, car tout le monde sait que la valeur absolue de 12 est 12.
X-C-1. COS - cosinus▲
Exemple :
Valeur =
COS
(
12
)
PRINT " Le cosinus de 12 est "
;valeur
X-C-2. SIN - sinus▲
Exemple :
Valeur =
SIN
(
12
)
PRINT " Le sinus de 12 est "
;valeur
X-C-3. TAN - tangente▲
Exemple :
Valeur =
TAN
(
12
)
PRINT " La tangente de 12 est "
;valeur
X-C-4. OCT$ - représentation octale▲
Exemple :
Valeur =
OCT
$(
12
)
PRINT " La représentation octale de 12 est "
;valeur
X-C-5. CQR - racine carrée▲
Exemple :
Valeur =
CQR
(
12
)
PRINT " La racine carrée de 12 est "
;valeur
X-C-6. Hex$ - valeur hexadécimale▲
Donne la valeur hexadécimale d'une valeur décimale.
Exemple :
Valeur =
HEX
$(
12
)
PRINT " la valeur hexadécimale de la valeur décimale 12 est "
;valeur
pour les commandes COS, SIN et TAN l'angle doit être donné en radians. Pour l'avoir en degrés il faudra le multiplier par 57.2958 ou 360/2pi .
X-C-7. SPC▲
Insère des espaces dans un texte.
Exemple :
Print "bodman"
;Spc
(
10
)"bodman"
Cela donne :
BODMAN BODMAN
X-C-8. SWAP▲
Sert à faire permuter des variables de même type.
Exemple :
Var1 swap var2
Var1 devient var2 et var2 devient var1.