1 ! SAVE XXXPAC.BAC
5 ! F|r ABC806 och ABC800 med HR-grafik av ok{nd programmerare
6 INTEGER : EXTEND
10 PREPARE 'PR:' AS FILE 1
20 RANDOMIZE
40 ; CHR$(12)
50 !
60 Antal$=NUM$(Antal)
70 ON ERROR GOTO 140
80 OPEN 'DR1:REKORD2.'+Antal$ AS FILE 3
90 FOR T=1 TO 10
100 INPUT #3,Rekordnamn$(T)
110 INPUT #3,Rekord(T)
120 INPUT #3,Datum$(T)
130 NEXT T
140 CLOSE 3
150 GOTO 310
160 !
170 ! _________ SORTERING
180 H|gre(0)=30000
190 FOR J=1 TO 10
200 FOR I=1 TO 10
210 FOR Wq=0 TO J-1
220 IF Test(Wq)=I THEN 250
230 NEXT Wq
240 IF Rekord(I)>H|gre(J) AND Rekord(I)<=H|gre(J-1) THEN H|gre(J)=Rekord(I) : H|gnamn$(J)=Rekordnamn$(I) : H|gdatum$(J)=Datum$(I) : Test(Wq)=I
250 NEXT I
260 Wq=Wq+1
270 NEXT J
280 IF Ret=1 THEN RETURN
290 !
300 !
310 ; CHR$(12)
320 FOR T=1 TO 10
330 ; EL CUR(T+4,0) T CUR(T+4,8) Rekordnamn$(T) CUR(T+4,35) Rekord(T);
340 ; NRML CUR(T+4,60) Datum$(T)
350 NEXT T
360 !
370 GET P$
380 !
390 ; CHR$(12) : FGPOINT 0,0,0 : FGFILL 239,239
400 FGCTL 1
410 FGPOINT 120,20,1 : FGLINE 12,20 : FGLINE 12,220 : FGLINE 120,220
420 FGPOINT 12,111,0 : FGLINE 12,129
430 FGPOINT 60,20,1 : FGLINE 60,40
440 FGPOINT 72,40 : FGLINE 120,40
450 FGPOINT 24,40 : FGLINE 36,40 : FGLINE 36,80 : FGLINE 24,80
460 FGPOINT 12,60 : FGLINE 24,60
470 FGPOINT 48,60 : FGFILL 72,80 : FGPOINT 49,61,0 : FGFILL 71,79
480 FGPOINT 84,60,1 : FGLINE 96,60 : FGLINE 96,80
490 FGPOINT 120,60 : FGLINE 108,60 : FGLINE 108,80 : FGLINE 120,80
500 FGPOINT 12,100 : FGLINE 24,100 : FGLINE 24,110 : FGLINE 12,110
510 FGPOINT 12,130 : FGLINE 24,130 : FGLINE 24,140 : FGLINE 12,140
520 FGPOINT 36,100 : FGLINE 60,100 : FGLINE 60,140 : FGLINE 48,140
530 FGLINE 48,160 : FGLINE 36,160 : FGLINE 36,100
540 FGPOINT 72,100 : FGLINE 108,100
550 FGPOINT 72,120 : FGLINE 84,120 : FGPOINT 72,140 : FGLINE 96,140
560 FGLINE 96,120
570 FGPOINT 108,120 : FGLINE 120,120 : FGPOINT 108,140 : FGLINE 120,140
580 FGPOINT 24,160 : FGLINE 24,200
590 FGPOINT 36,220 : FGLINE 36,200 : FGLINE 48,200 : FGLINE 48,180
600 FGLINE 60,180 : FGLINE 60,200 : FGLINE 72,200 : FGLINE 72,220
610 FGPOINT 72,160 : FGLINE 96,160 : FGLINE 96,200 : FGLINE 84,200
620 FGLINE 84,180 : FGLINE 72,180 : FGLINE 72,160
630 FGPOINT 120,160 : FGLINE 108,160 : FGLINE 108,180 : FGLINE 120,180
640 FGPOINT 108,200 : FGLINE 120,200
650 FGPOINT 216,110,1 : FGLINE 228,110 : FGPOINT 216,130 : FGLINE 228,130
660 ! SLUT P] LAB
670 FOR I=20 TO 220 STEP 20
680 FOR J=120 TO 228
690 FGPOINT J,I,FGPOINT(240-J,I)
700 NEXT J
710 NEXT I
720 FOR J=120 TO 228 STEP 12
730 FOR I=20 TO 220
740 FGPOINT J,I,FGPOINT(240-J,I)
750 NEXT I
760 NEXT J
770 !
780 Liv=2
790 !
800 ; CHR$(12)
810 !
820 Mat=0 : G3=1 : Yminsta=100 : G2=10 : Minsta=4
830 !
831 Tid1$=MID$(TIME$,12,2) : Tid2$=MID$(TIME$,15,2) : Tid3$=MID$(TIME$,18,2)
832 Tid11$=MUL$(Tid1$,'3600',0) : Tid22$=MUL$(Tid2$,'60',0)
833 Tid33$=ADD$(Tid11$,Tid22$,0)
834 Sek$=ADD$(Tid33$,Tid3$,0)
840 !
850 !
860 ! _____________________ RITAR UT KAKORNA
870 !
880 E=0
890 FOR T=3 TO 22 STEP 2
900 FOR J=5 TO 75 STEP 4
910 IF E=2 OR E=3 OR E=4 OR E=13 OR E=14 OR E=15 OR E=21 OR E=32 THEN 970
920 IF E=24 OR E=29 OR E=41 OR E=42 OR E=44 OR E=45 OR E=47 OR E=48 THEN 970
930 IF E=56 OR E=69 OR E=74 OR E=75 OR E=86 OR E=87 OR E=92 OR E=93 THEN 970
940 IF E=104 OR E=105 OR E=129 OR E=130 OR E=134 OR E=135 OR E=139 THEN 970
950 IF E=140 OR E=80 OR E=81 OR E=90 OR E=72 OR E=89 OR E=107 THEN 970
960 FGPOINT J*3+3,240-(T*10),2
970 E=E+1
980 NEXT J
990 NEXT T
1000 !
1010 ! ____________ RITAR UT "ST[RKEPILLER"
1020 !
1030 FGPOINT 17,30,3 : FGLINE 19,30 : FGPOINT 18,31 : FGLINE 18,29
1040 FGPOINT 17,210,3 : FGLINE 19,210 : FGPOINT 18,211 : FGLINE 18,209
1050 FGPOINT 222,29,3 : FGLINE 222,31 : FGPOINT 223,30 : FGLINE 221,30
1060 FGPOINT 222,209,3 : FGLINE 222,211 : FGPOINT 223,210 : FGLINE 221,210
1070 GOTO 1110
1080 !
1090 !
1100 ; CHR$(12)
1110 ; CUR(0,2) EL; : ; STRING$(Liv,35);
1120 !
1130 !
1140 ! ______ STARTV[RDEN TILL SP\KENA
1150 !
1160 FOR T=1 TO 4
1170 Ysp|(T)=10 : Xsp|(T)=40
1180 Yysp|(T)=10 : Xxsp|(T)=40
1190 NEXT T
1200 !
1210 !
1220 !
1230 ! _________ RENSAR SK[RM, DIMENSIONERAR, S[TTER V[RDEN
1240 !
1250 Slp=1 : P$='4' : Pq$='4'
1260 !
1280 !
1300 !
1310 ! _____ S[TTER UT STARTV[RDEN P] "SPIDERMAN"
1320 !
1330 Y=20 : X=40 : Yy=20 : Xx=40
1340 !
1350 !
1360 !
1370 !
1380 ON ERROR GOTO 1470
1385 GOTO 1480
1400 !
1410 !
1420 ! +-----------------------------------------+
1430 ! ! !
1440 ! ! HUVUD-LOOPEN !
1450 ! ! !
1460 ! +-----------------------------------------+
1470 Pq$='4' : GOTO 1380
1480 !
1490 !
1491 Xu=X*3+6 : Yu=240-Y*10
1500 Yn=Yu-20
1510 Xv=Xu-6 : Yv=Yu-10
1520 Xh=Xu+6
1530 IF SYS(5)<>0 THEN GET Pq$
1540 ON VAL(Pq$)/2 GOTO 1560,1570,1580,1550
1550 IF FGPOINT(Xu,Yu)<>1 THEN P$=Pq$ : GOTO 1590 ELSE 1590
1560 IF FGPOINT(Xu,Yn)<>1 THEN P$=Pq$ : GOTO 1610 ELSE 1590
1570 IF FGPOINT(Xv,Yv)<>1 THEN P$=Pq$ : GOTO 1620 ELSE 1590
1580 IF FGPOINT(Xh,Yv)<>1 THEN P$=Pq$ : GOTO 1630 ELSE 1590
1590 ON VAL(P$)/2 GOTO 1610,1620,1630,1600
1600 IF FGPOINT(Xu,Yu)<>1 THEN Y=Y-1 : GOTO 1680 ELSE 1680
1610 IF FGPOINT(Xu,Yn)<>1 THEN Y=Y+1 : GOTO 1680 ELSE 1680
1620 IF FGPOINT(Xv,Yv)<>1 THEN X=X-2 : GOTO 1680 ELSE 1680
1630 IF FGPOINT(Xh,Yv)<>1 THEN X=X+2 : GOTO 1680 ELSE 1680
1640 !
1650 Xu=X*3+6 : Yv=230-Y*10
1660 !
1670 ! ____________ KOLLAR OM MAN TAR ST[RKEPILLER
1680 IF X>14 AND X<66 THEN 1770
1690 IF FGPOINT(Xu,Yv)<>3 THEN 1770
1700 FGPOINT Xu-1,Yv,0 : FGLINE Xu+1,Yv
1710 FGPOINT Xu,Yv+1,0 : FGLINE Xu,Yv-1
1720 G}ng=G}ng+100 : Po{ng=Po{ng+5
1730 Mat=Mat-1 : IF Mat=-142 THEN 2050
1740 Jagning=1
1750 !
1760 ! ____________ KOLLAR OM MAN TAR ETT SP\KE I JAGNINGS-MOD
1770 IF Jagning<>1 THEN 2000
1780 M1=PEEK(30720+Y*80+X)
1790 IF M1=8 OR M1=24 OR M1=12 THEN 1820
1800 GOTO 2000
1810 !
1820 Po{ngh=20+(G}ng/5)
1830 ; CUR(22,20) EL 'PO[NGH\JNING=' Po{ngh; : FOR H=1 TO 10000 : NEXT H
1840 ; CUR(22,20) SPACE$(25)
1850 Po{ng=Po{ng+Po{ngh
1860 !
1870 G}ng=G}ng-30
1880 !
1890 FOR I=1 TO 4
1900 IF ABS(Xsp|(I)-X)<6 AND ABS(Ysp|(I)-Y)<5 THEN 1920
1910 NEXT I
1920 !
1930 ; CUR(Yysp|(I),Xxsp|(I)) ' ';
1940 ; CUR(Yysp|(I)+1,Xxsp|(I)) ' ';
1950 Ysp|(I)=10 : Yysp|(I)=10 : Xsp|(I)=40 : Xxsp|(I)=40
1960 !
1970 !
1980 ! ______________ KOLLAR OM MAN [TER EN "KAKA"
1990 !
2000 IF FGPOINT(Xu,Yv)<>2 THEN 2170
2010 FGPOINT Xu,Yv,0 : Po{ng=Po{ng+1 : Mat=Mat-1
2020 !
2030 ! ____________ KOLLAR OM PLANBYTE SKA SKE
2040 !
2050 IF Mat<>-142 THEN 2170
2060 Planbyte=Planbyte+1
2070 ; CUR(22,20) EL 'ANTAL PLANBYTEN=' Planbyte;
2075 FOR H=1 TO 3000 : NEXT H
2080 Tid1$=MID$(TIME$,12,2) : Tid2$=MID$(TIME$,15,2) : Tid3$=MID$(TIME$,18,2)
2081 Tid11$=MUL$(Tid1$,'3600',0) : Tid22$=MUL$(Tid2$,'60',0)
2082 Tid33$=ADD$(Tid11$,Tid22$,0)
2083 Sek2$=ADD$(Tid33$,Tid3$,0)
2084 Sek3$=SUB$(Sek2$,Sek$,0)
2085 !
2086 Po{ngh|jn=1000-VAL(Sek3$) : Po{ngh|jn=Po{ngh|jn/2 : Po{ngh|jn=Po{ngh|jn-400
2087 Po{ngh|jn=Po{ngh|jn+Po{ng/20
2090 ; CUR(22,20) EL 'PO[NG H\JNING=' Planbyte*10+Po{ngh|jn;
2091 FOR H=1 TO 5000 : NEXT H
2100 ; CUR(22,20) ' '
2110 Po{ng=Po{ng+(Planbyte*10)+Po{ngh|jn
2120 IF Planbyte=3 AND Po{ng>1000 THEN Liv=Liv+1
2130 IF Planbyte=5 AND Po{ng>1500 THEN Liv=Liv+1
2140 GOTO 800
2150 !
2160 ! _______ SUDDAR "PAC-MAN"
2170 POKE 30720+Yy*80+Xx,0,0,0,0
2180 POKE 30720+(Yy+1)*80+Xx,0,0,0,0
2190 !
2200 ! ________ KOLLAR OM MAN G]R GENOM TUNNELN
2210 IF X>74 THEN X=2 : Xx=2
2220 IF X<2 THEN X=74 : Xx=74
2230 !
2240 ! _________ RITAR PAC-MAN
2250 !
2260 POKE 30720+Y*80+X,159,155,151,159
2270 POKE 30720+(Y+1)*80+X,144,6,9,144
2280 Yy=Y : Xx=X
2290 GOSUB 2380
2300 IF Po{ng=Xpo{ng THEN 2330
2310 ; CUR(0,27) EL 'PO[NG=' Po{ng;
2320 Xpo{ng=Po{ng
2330 !
2340 GOTO 1480
2350 !
2360 ! ___________ SP\KENA
2370 !
2380 I=]
2390 IF G2<>10 THEN 2480
2400 Xminsta=Minsta+G3 : G3=G3+1 : IF Xminsta=5 THEN Xminsta=1 : G3=0
2410 IF Xminsta<>Minsta THEN I=Xminsta : GOTO 2490
2420 Yminsta=100
2430 FOR I=1 TO 4
2440 A(I)=ABS(X-Xsp|(I)) : B(I)=ABS(Y-Ysp|(I))
2450 C(I)=A(I)/2+B(I) : IF C(I)