Quelques explications :
Ligne 30 à 70 : initialisation
Après le dimensionnement du tableau A(), on saisit au clavier le nombre de chiffres que l’on veut obtenir (6 pour les grilles simples, 7 à 10 pour les multiples)
La ligne 70 refuse toutes autres valeurs.
Ligne 100 à 140 : tirage
Elle remplissent le tableau A() avec des chiffres 1 pour les cases qui viennent d’être tirées au hasard.
La ligne 120 vérifie le contenu de A() pour s’assurer que le nombre n’a pas déjà été tiré.
Ligne 200 à 320 : résultat
Après le dessin du cadre (ligne 210), on affiche avec deux boucles FOR/NEXT imbriquées les 49 chiffres du loto.
Les chiffres qui ont été choisis sont barrés comme sur un bulletin normal.
Liste des variables :
A nombre aléatoireA() liste des chiffres choisis
I indice de boucle FOR/NEXT
J indice de boucle FOR/NEXT
N nombre de chiffres à tirer
X Y coordonnées sur l’écran du chiffre affiché

20 REM —————————————————
30 DIM A(49)
40 MODE 1:INK 0,2:INK 1,25:BORDER 2
50 RANDOMIZE TIME
60 INPUT “NOMBRE DE CHIFFRES A TIRER”;N
70 IF N<6 or n>10 THEN 40
80 REM ————————————————-
90 REM TIRAGE
100 FOR I=1 TO N
110 A=INT(RND(1)*49) 1
120 IF A(A)=1 THEN 110
130 A(A)=1
140 NEXT I
180 REM ———————————————-
190 REM RESULTAT
200 MODE 1:TAG:MOVE 270,399:PRINT “LOTO”;
210 MOVE 194,20:DRAW 400,20:draw 400,374:DRAW 194,374:DRAW 194,20
220 FOR I=0 TO 9
230 FOR J=0 TO 40 STEP 10
240 IF I J=0 THEN 290
250 X=200 J/10*40:Y=340-I*35
260 MOVE X 2,Y 20:PRINT USING”##”;I J;
270 MOVE X,Y:DRAW X 35,Y:DRAW X 35,Y 30:DRAW X,Y 30:DRAW X,Y
280 IF A(I J)=1 THEN MOVE X,Y:DRAW X 35,Y 30:MOVE X,Y 30:DRAW X 35,Y
290 NEXT J
300 NEXT I
310 IF INKEY$<>CHR$(13) THEN 310
320 RUN

Une bien belle et précieuse interview
cvbcvbcvb
cvbcvbcvb
cvbcvb
Commentaire 2 cvbcvb