1 REM Ins{nt av 1489 10 REM ------------------------- 20 REM $$$ INS[NT 8/81 "TOJ" $$$ 30 REM ------------------------- 40 REM ************************* 50 REM * * 60 REM * D R O P D O T * 70 REM * * 80 REM * GJORT AV , * 90 REM * COPYRIGHT (c) * 100 REM * PETER TAMMPERE 1303 * 110 REM * STEFAN PARKVALL 1051 * 120 REM * * 130 REM ************************ 140 ; CHR$(12%) : S%=1% : FOR A%=0 TO 4% : ; CUR(A%,0%)CHR$(23%); : NEXT A% 150 ; CUR(1%,6%)'k#i 7#i 6#i 7#i k#i 6#i #k#!'CUR(2%,6%)'j j =<& 5 j =,& j j 5 j j' 160 ; CUR(3%,6%)'zp: 5"d ep: 5 zp: ep: j' 170 FOR A%=9% TO 69% 180 SETDOT 0%,A% : SETDOT 14%,A% : NEXT A% : FOR A%=0% TO 14% : SETDOT A%,9% : SETDOT A%,69% : NEXT A% 190 ; CUR(6%,4%)'Programmet DROPDOT g}r ut p} att' : ; ' f|rs|ka f}nga upp de fallande' 200 ; ' DOTarna med "h}let" l{ngst ner p}' : ; ' sk{rmen.' : ; ' H}let }ker till v{nster med ' 210 ; " och till h|ger med tangenten <'>" : ; : ; ' Po{ngen,spridningen p} DOTarna ' 220 ; ' och h}lets storlek best{mms av' : ; ' sv}righetsgraden.' 230 ; : ; " V{lj sv}righetsgrad med och <'>." : ; ' N{r du {r n|jd s} tryck p} ' 240 ; CUR(21%,20%)STRING$(9%,49%)CUR(22%,11%)'123456789012345678' : POKE 65011%,23% 250 POKE 65012%,S%+10% : GET R$ : IF R$<>"'" AND R$<>'A' AND R$<>CHR$(13%) 250 260 IF R$="'" S%=S%+1% : IF S%>18% S%=18% 270 IF R$='A' S%=S%-1% : IF S%<1% S%=1% 280 IF R$<>CHR$(13%) 250 ELSE S%=18%-S% 290 ; CHR$(12%) : RANDOMIZE 300 S%=S%+2% : L%=56% : B%=S% : T%=9% : S1%=S%*2%+1% : T1%=S%/3%+1% : Y%=38%-S% : Y1%=S1%+Y% : P%=0% 310 FOR X%=3% TO 20% : ; CUR(X%,0%)CHR$(151%) : NEXT X% 320 ; CUR(22%,2%)'PO[NG = 0'CUR(21%,37%)'SP'CUR(22%,37%)'PT' 330 FOR F%=2% TO 79% : SETDOT 9%,F% : NEXT F% 340 DIM D%(10%),R%(10%) 350 FOR A%=2% TO 11% : IF (A%*5%)/2=(A%*5%)/2% C%=39% ELSE C%=38% 360 D%(A%-1%)=A%*5% : R%(A%-1%)=C% : SETDOT D%(A%-1%),R%(A%-1%) : NEXT A% 370 FOR A%=3% TO 38%-S% : SETDOT L%,A% : GOSUB 690 : NEXT A% 380 GOSUB 700 390 FOR A%=40%+S% TO 79% : SETDOT L%,A% : GOSUB 690 : NEXT A% 400 GOSUB 700 410 FOR A%=1% TO 10% : IF D%(A%)=59% GOSUB 500 ELSE NEXT A% 420 GOSUB 700 430 FOR A%=1% TO 10% : IF DOT(D%(A%)+1%,R%(A%)) 650 ELSE NEXT A% 440 GOSUB 700 : FOR A%=1% TO 10% 450 CLRDOT D%(A%),R%(A%) : D%(A%)=D%(A%)+1% : IF D%(A%)/2=D%(A%)/2% R%(A%)=R%(A%)-1% ELSE R%(A%)=R%(A%)+1% 460 SETDOT 9%,T% 470 SETDOT D%(A%),R%(A%) : NEXT A% 480 ; CUR(22,10)(P%*10%)/(S%/2%) : GOTO 410 490 REM * DIV. RUTINER * 500 CLRDOT D%(A%),R%(A%) : D%(A%)=9% : R%(A%)=RND*((40%+B%)-(38%-B%)+1%)+(38%-B%) : GOSUB 590 : T%=R%(A%) 510 P%=P%+B%/S% : OUT 6%,0%,6%,131% : IF RND<(S%/10) B%=B%+1% 520 RETURN 530 FOR K%=1% TO T1% : Y%=Y%+1% : Y1%=Y%+S1% : GOSUB 620 : SETDOT L%,Y% : CLRDOT L%,Y1% 540 OUT 6%,0% : NEXT K% : OUT 6%,135% 550 RETURN 560 FOR K%=1% TO T1% : GOSUB 620 : CLRDOT L%,Y% : SETDOT L%,Y1% : GOSUB 620 : Y%=Y%-1% : Y1%=Y%+S1% 570 OUT 6%,0% : NEXT K% : OUT 6%,135% 580 RETURN 590 IF R%(A%)>=76% R%(A%)=76% 600 IF R%(A%)<=5% R%(A%)=5% 610 RETURN 620 IF Y%<=4% Y%=4% : Y1%=S1%+Y% 630 IF Y1%>=78% Y1%=78% : Y%=Y1%-S1% 640 RETURN 650 DEFFNJ%(N%,H%)=(PEEK(884%+N%*2%)+256%*(PEEK(885%+N%*2%)))+H% 660 POKE FNJ%(12%,17%),160,205%,201%,211%,211%,160% 670 ; CUR(0%,7%)'VILL DU SPELA IGEN '; 680 GET R$ : IF R$='J' 140 ELSE IF R$='N' ; CHR$(12%); : END ELSE 680 690 FOR Q%=1% TO 100% : NEXT Q% : RETURN 700 IF INP(56%)=170% OR INP(56%)=167% GOSUB 530 710 IF INP(56%)=193% OR INP(56%)=225% GOSUB 560 720 RETURN