Voilà un programme de loto qui vous imprimera une grille avec un choix de six à dix numéros (pour les grilles multiples). 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é
10 REM LOTO 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