Juste parce que je n'ai pas d'imagination quand vient le temps de jouer au Lotto, j'ai mis à jour ce petit programme pour y jouer à ma place !
Il est adapté pour mes jeux préférés, très populaires au Canada mais bien sûr, vous pouvez le modifier à votre guise...
Voici le code :
Code: Select all
LOTTO:
Rem Lotto LZ Ver 1.1
Rem (c) Dave Woolnough Sept 1996
Rem Lotto is a random number selector
Rem 6 numbers between 1 & 49 are choosen
Rem The routine Fixed Random Numbers is
Rem used to easily guarantee that no number
Rem is selected twice.
Rem ---
Rem Ver 1.2
Rem Modifié par Yves MARTIN (2022 & 2024) YMartin.com
Rem Ajouté : Lotto Max avec 7 numéros aléatoires parmi 50
Rem Ajouté : Grande Vie avec 5 numéros aléatoires parmi 49
Rem ... plus 1 Grand Numéro aléatoire parmi 7
LOCAL b$(7,2),C$(1),G$(1),N$(100),M$(14),O$(23),R$(2),S$(100),T$(100)
LOCAL A%,B%,D%,E%,M%,N%,y%,z%
START::
CLS
O$="" :R$="" :S$="" :T$=""
PRINT "Selection",CHR$(63)
PRINT "L = 6/49"
PRINT "M = Lotto Max"
PRINT "G = Grande Vie"
C$=GET$
IF C$="L"
y%=6 :z%=7
CLS
AT 7,1 :PRINT"- 6/49 -"
N$="01020304050607080910111213141516171819202122232425262728293031323334353637383940414243444546474849"
B%=6 :D%=LEN(N$)/2
ELSEIF C$="M"
y%=7 :z%=8
CLS
AT 4,1 :PRINT"- Lotto Max -"
N$="0102030405060708091011121314151617181920212223242526272829303132333435363738394041424344454647484950"
B%=7 :D%=LEN(N$)/2
ELSEIF C$="G"
y%=5 :z%=6
CLS
AT 4,1 :PRINT"- Grande Vie -"
N$="01020304050607080910111213141516171819202122232425262728293031323334353637383940414243444546474849"
M$="1234567"
B%=5 :D%=LEN(N$)/2 :E%=LEN(M$)
GV::
M%=INT(RND*E%)
IF M%=0
GOTO GV::
ENDIF
ELSE
GOTO START::
ENDIF
DO
N%=INT(RND*D%)
A%=1
WHILE N%>0
A%=A%+2 :N%=N%-1
ENDWH
R$=MID$(N$,A%,2) :REM PRINT R$ :GET
S$=LEFT$(N$,A%-1) :REM PRINT S$ :GET
T$=RIGHT$(N$,LEN(N$)-(A%+1)) :REM PRINT T$ :GET
N$=S$+T$ :REM PRINT N$ :GET
IF LEFT$(R$,1)="0"
R$=RIGHT$(R$,1)
ENDIF
b$(b%)=r$
rem O$=O$+R$+" "
D%=D%-2 :B%=B%-1
UNTIL B%<1
a%=y%
While a%>0
b%=1
While b%<y%
If val(b$(b%+1)) < val(b$(b%))
r$=b$(b%)
b$(b%) = b$(b%+1)
b$(b%+1)=r$
endif
b%=b%+1
endwh
a%=a%-1
endwh
b%=1
While b%<z%
o$=o$+b$(b%)
o$=o$+" "
b%=b%+1
endwh
IF C$="L"
AT 1,2 :PRINT " "; O$
ELSEIF C$="M"
AT 1,2 :PRINT O$
ELSE
AT 1,2 :PRINT O$; " (";M%;")"
ENDIF
AT 1,4 :PRINT"Again (Y/N)";CHR$(63)
G$=GET$
IF G$="Y"
CLS :GOTO START::
ENDIF
CLS :AT 4,2 :PRINT"Goodbye ..."
PAUSE 25
C'est tout pour le moment !