1 REM TOTO-LOTEK
2 REM LESZEK STROZOWSKI
3 REM COPYRIGHT (C) BAJTEK
4 REM 
10 GRAPHICS 0:POKE 566,158:POKE 731,1
20 POKE 752,1:EXEC POL:POKE 756,156
70 EXEC PLANSZA:DIM K(8),T(8),P$(18):P$="                  "
75 EXEC TYT
80 FOR R=1 TO 7:K(R)=0:T(R)=0:NEXT R:IT=0
90 EXEC KUPON
95 COLOR 2
100 FOR P=1 TO IS
110 IF P<7 THEN TEXT 20,183,P:TEXT 28,183," LICZBA ?"
115 IF P=7 AND IS=7 THEN TEXT 20,183,"DODATKOWA?"
120 TEXT 120,183,"  ":GOSUB 240
130 IF KEY=155 OR KEY=126 OR KEY=48 THEN 120
135 SOUND 0,50,10,10:PAUSE 3:SOUND 
140 K=VAL(CHR$(KEY))
150 TEXT 120,183,K
160 GOSUB 240
165 SOUND 0,50,10,10:PAUSE 3:SOUND 
170 IF KEY=126 THEN TEXT 120,183," ":GOTO 120
180 IF KEY=155 THEN 260
190 K2=VAL(CHR$(KEY))
200 TEXT 128,183,K2
210 GET KEY:IF KEY<>155 AND KEY<>126 THEN 210
215 SOUND 0,50,10,10:PAUSE 3:SOUND 
220 IF KEY=126 THEN TEXT 128,183," ":GOTO 160
230 IF KEY=155 THEN 270
240 GET KEY:IF KEY<48 OR KEY>57 AND KEY<>155 AND KEY<>126 THEN 240
250 RETURN 
260 NR=K:GOTO 280
270 NR=K*10+K2
280 IF NR>ML THEN 120
290 FOR R=1 TO IS
295 IF NR=T(R) THEN POP :GOTO 120
300 NEXT R
310 T(P)=NR
320 EXEC KRZYZYK
330 NEXT P
335 COLOR 2:TEXT 12,183,"   LOSOWANIE !  ":PAUSE 50
350 FOR P=1 TO IS
360 NR=1+INT(RND*ML)
370 FOR R=1 TO IS
375 IF NR=K(R) THEN POP :GOTO 360
380 NEXT R
390 K(P)=NR:EXEC KOLKO:PAUSE 20
400 NEXT P
410 FOR P=1 TO IS
420 FOR R=1 TO IS
430 IF T(R)=K(P) THEN IT=IT+1
440 NEXT R
445 NEXT P
450 COLOR 2:TEXT 34,183," TRAFIEd: ":TEXT 114,183,IT:POKE 19,0
452 IF IT<3 THEN EXEC SO3
454 IF IT>=3 THEN EXEC SO4
460 DO 
470 IF PEEK(53279)=6 THEN 500
480 IF PEEK(19)=6 THEN TEXT 8,82,P$:TEXT 8,90,"START - NOWY KUPON":TEXT 8,98,P$
490 LOOP 
500 POP :GOTO 75
1000 PROC KRZYZYK
1010 EXEC ZAL
1020 X=7+X*16:Y=-21+Y*24
1025 IF P=7 THEN COLOR 1
1027 EXEC SO1
1030 PLOT X,Y:DRAWTO X+16,Y+24
1040 PLOT X+16,Y:DRAWTO X,Y+24
1050 ENDPROC 
1500 PROC KOLKO
1510 EXEC ZAL
1520 X=15+X*16:Y=-9+Y*24
1525 EXEC SO2
1530 COLOR 3:CIRCLE X,Y,10,16
1540 ENDPROC 
2000 PROC ZAL
2010 IF NR<=7 THEN 2100
2020 Y=NR
2030 REPEAT 
2040 Y=Y-7
2050 UNTIL Y<=7
2060 REPEAT 
2070 X=(NR-Y)/7+1
2080 UNTIL X<=7
2090 ENDPROC 
2100 Y=NR:X=1
2110 ENDPROC 
5000 PROC KUPON
5010 GRAPHICS 31:POKE 559,0:SETCOLOR 4,7,4:SETCOLOR 0,0,14:SETCOLOR 1,0,0:SETCOLOR 2,3,2:COLOR 1:POKE 756,156
5020 FOR R=23 TO 145-PL STEP 16
5030 PLOT R,3:DRAWTO R,170
5040 NEXT R
5050 FOR R=3 TO 178 STEP 24
5060 PLOT 23,R:DRAWTO 135-PL,R
5070 NEXT R
5080 FOR R=12 TO 158 STEP 24:TEXT 28,R,(R-12)/24+1:NEXT R:TEXT 44,12,"8":TEXT 44,36,"9"
5090 FOR R=60 TO 168 STEP 24:TEXT 40,R,"1":TEXT 47,R,(R-60)/24:NEXT R
5100 FOR R=12 TO 120 STEP 24:TEXT 56,R,"1":TEXT 63,R,(R-12)/24+5:NEXT R
5110 FOR R=132 TO 160 STEP 24:TEXT 56,R,"2":TEXT 63,R,(R-132)/24:NEXT R
5120 FOR R=12 TO 158 STEP 24:TEXT 72,R,"2":TEXT 79,R,(R-12)/24+2:NEXT R:TEXT 88,12,"2":TEXT 95,12,"9"
5130 FOR R=36 TO 168 STEP 24:TEXT 88,R,"3":TEXT 95,R,(R-36)/24:NEXT R
5140 FOR R=12 TO 96 STEP 24:TEXT 104,R,"3":TEXT 111,R,(R-12)/24+6:NEXT R
5150 FOR R=108 TO 158 STEP 24:TEXT 104,R,"4":TEXT 111,R,(R-108)/24:NEXT R
5155 IF PL THEN 5165
5160 FOR R=12 TO 168 STEP 24:TEXT 120,R,"4":TEXT 127,R,(R-12)/24+3:NEXT R
5165 POKE 559,34
5170 ENDPROC 
10000 PROC PLANSZA
10010 GRAPHICS 18:SETCOLOR 0,0,0:SETCOLOR 3,0,0:POKE 756,156
10020 POSITION 9,3:? #6;"[\":POSITION 9,4:? #6;"]^":POSITION 6,6:? #6;"SOFTWARE"
10030 DL=DPEEK(560):POKE DL+13,6:POSITION 5,8:? #6;"PREZENTUJE"
10040 PAUSE 50:FOR R=0 TO 15:PAUSE 4:SETCOLOR 0,0,R:SOUND 0,R+5,12,R:NEXT R:PAUSE 8:DSOUND :PAUSE 150
10050 FOR R=15 TO 0 STEP -1:PAUSE 4:SETCOLOR 0,0,R:SOUND 0,R+5,12,R:NEXT R:PAUSE 4:DSOUND :PAUSE 50
10060 ENDPROC 
10490 PROC TYT
10500 GRAPHICS 5:SETCOLOR 4,0,6:SETCOLOR 0,12,2:SETCOLOR 1,3,2:SETCOLOR 2,0,6:COLOR 1:POKE 756,156
10505 DL=48026:POKE DL,6:POKE DL+1,6:POKE DL+2,6
10510 TEXT 12,0,"T O T O":TEXT 4,8,"L O T E K":? :? "SELECT - 7 Z 49":? "OPTION - 5 Z 42":COLOR 2
10520 DO 
10530 XL=INT(RND*64):YL=16+INT(RND*16):L=1+INT(RND*49)
10540 TEXT XL,YL,L:SOUND 0,L+20,10,10:PAUSE 5:SOUND :TEXT XL,YL,"  ":PAUSE 3
10545 IF PEEK(53279)=5 THEN GOSUB 11000:GOTO 10570
10550 IF PEEK(53279)=3 THEN GOSUB 11500:GOTO 10570
10560 LOOP 
10570 POP :ENDPROC 
11000 IS=7:ML=49:PL=0:RETURN 
11500 IS=5:ML=42:PL=16:RETURN 
14000 PROC POL
14010 MOVE 57344,39936,1024:RESTORE 15000:FOR R=0 TO 31:READ Q:POKE 40408+R,Q:NEXT R
14020 RESTORE 15100:FOR R=0 TO 31:READ Q:POKE 40712+R,Q:NEXT R
14030 ENDPROC 
15000 DATA 227,227,227,227,227,227,227,227
15010 DATA 255,255,128,128,128,128,128,255
15020 DATA 227,224,224,224,224,224,255,255
15030 DATA 255,7,7,7,7,7,255,255
15100 DATA 0,24,60,102,102,126,102,3
15110 DATA 24,60,102,102,102,102,60,0
15120 DATA 24,126,12,24,48,96,126,0
15130 DATA 24,102,118,126,126,110,102,0
20000 PROC SO1
20010 FOR R=1 TO 5
20020 SOUND 0,50,10,12:PAUSE 1:SOUND :PAUSE 1
20030 NEXT R
20040 ENDPROC 
20200 PROC SO2
20210 FOR R=1 TO 5
20220 SOUND 0,20,12,12:PAUSE 1:SOUND :PAUSE 1
20230 NEXT R
20240 ENDPROC 
20400 PROC SO3
20410 FOR R=15 TO 1 STEP -1
20420 FOR H=1 TO 45
20430 SOUND 0,50-H,10,R
20440 NEXT H:NEXT R:SOUND 
20450 ENDPROC 
20600 PROC SO4
20610 RESTORE 20620:FOR R=1 TO 8:READ H:DSOUND 0,H,10,10:PAUSE 7:NEXT R
20615 PAUSE 1:SOUND 
20620 DATA 8128,6088,6834,8128,10852,9125,8612,8128
20630 ENDPROC 
