1 REM +++++++++++++++++++++++++++++++++ 2 REM ! Program .... SQUASH 3 REM ! Utg}va 790322 4 REM ! av (c) DATAINDUSTRIER AB 7 REM ! Minne 16 Kbytes 9 REM +++++++++++++++++++++++++++++++++ 10 REM I programmet SQUASH ska ska man 11 REM tr{ffa en boll som studsar 12 REM mellan tre v{ggar med ett racket 13 REM som varierar i storlek beroende 14 REM p} sv}righetsgrad. 15 REM 16 REM Screening av 17 REM Allan Varcoe & G|ran Olsson 90 IF PEEK(590)<>40 THEN ; INP(3) 100 ; CHR$(12) : ; 110 ; SPACE$(12%); : ; "SQUASH" 120 ; SPACE$(12%); : ; "======" 130 ; : ; : ; 140 ; " MOTIONERA MERA." 150 ; "Ditt racket finns i h|ger bildkant." 160 ; "Racketet h|jer och s{nker du med" 170 ; "pilarna p} tangentbordet." 180 ; "F|r att f} effektivare motion" 190 ; "spelar du ensam." 200 ; "F|r nyb|rjare finns st|rre racketar" 205 ; "att tillg}, du best{ller dom med en" 206 ; "l{gre sv}righetsgrad." 207 ; " K\R H]RT!" : ; 210 ; "Du har 6 bollar p} dig." : ; 220 ; "V[LJ SV]RIGHETSGRAD (1-10) "; 221 ONERRORGOTO 220 230 INPUT P1% 240 IF P1%<1% OR P1%>10% GOTO 220 250 P1%=7%+(10%-P1%)*2% 260 P%=34% : P2%=P1% 270 W3%=1% : F1%=47% : F2%=47% 280 B%=0% : S%=0% : W%=6% 290 DIM A%(12%,10%) 300 GOSUB 1210 310 GOSUB 1630 320 ; CUR(23%,12%); : ; "PO[NG= "; 330 ; S%; : ; " BOLL= "; : ; B%; 340 T1%=T1%+W2% 380 X1%=X%+T1%*R1% 390 Y1%=Y%+T1%*100%/V%*R2% 400 IF Y1%<4% AND R2%=-1% Y1%=3% 410 IF Y1%>62% AND R2%=1% Y1%=63% 412 CLRDOT F2%,F1% 414 SETDOT Y1%,X1% 420 F1%=X1% : F2%=Y1% 450 IF X1%=77% GOTO 550 460 IF X1%=5% GOTO 970 470 IF Y1%=3% GOTO 870 480 IF Y1%=63% GOTO 920 490 REM 500 FOR J%=1% TO 2%+W1% 510 IF INP(56)=136% GOSUB 1440 520 IF INP(56)=137% GOSUB 1500 530 NEXT J% 540 GOTO 340 550 REM ==KOLLA PADDELTR[FF=== 570 IF DOT(Y1%,X1%+1%) GOTO 730 590 CLRDOT F2%,F1% 600 OUT 6%,0% : OUT 6%,3% 610 FOR I%=1% TO 2000% : NEXT I% 620 OUT 6%,0% 630 FOR I%=1% TO 6000% : NEXT I% 640 IF B%<6% GOTO 720 650 ; CHR$(12); : ; : ; : ; : ; 660 ; SPACE$(13%); : ; "SPELET [R SLUT" 670 ; : ; SPACE$(11%); : ; "DU FICK "; 680 ; S%;" PO[NG." 690 ; : ; SPACE$(39%); 700 ; SPACE$(11%); : ; "VILL DU SPELA IGEN "; 710 INPUT A$ : M%=ASC(A$) AND 223% 712 IF M%=74% GOTO 100 714 IF M%<>78% GOTO 700 715 ; CHR$(12%) 716 END 720 GOSUB 1630 : GOTO 320 730 REM ===PADDELTR[FF==== 740 IF W1%=1% AND W2%=2% GOTO 750 742 IF W1%<>1% GOTO 748 744 W2%=2% : W1%=6% : GOTO 750 748 W1%=W1%-1% 750 OUT 6%,0% : OUT 6%,131% 760 I%=P2%/2%-ABS(P%-Y1%+R2%) 770 IF I%>-1% GOTO 790 780 R2%=-R2% : V%=80% : GOTO 810 790 V%=80%+I%*30% 795 S%=S%+1% 797 ; CUR(23%,12%); : ; "PO[NG= "; 798 ; S%; : ; " BOLL= "; : ; B%; 800 IF V%>300% V%=300% 810 R1%=-R1% : S1%=S1%+1% 820 IF S1%/10%*10%<>S1% GOTO 850 830 IF P2%>7% P2%=P2%-2% 840 GOSUB 1560 850 X%=75% : Y%=Y1% : T1%=0% 860 GOTO 490 870 REM ==KANTTR[FF 880 R2%=1% 890 X%=X1% : Y%=4% : T1%=0% 900 OUT 6%,0% : OUT 6%,131% 910 GOTO 490 920 REM ==KANTTR[FF 930 R2%=-1% 940 X%=X1% : Y%=62% : T1%=0% 950 OUT 6%,0% : OUT 6%,131% 960 GOTO 490 970 REM ======================== 980 OUT 6%,0% : OUT 6%,131% 1160 REM ==V[ND 1180 IF R1%>0% GOTO 470 1190 X%=X1% : Y%=Y1% : T1%=0% : R1%=-R1% 1200 GOTO 470 1210 REM ===INITIERA BR[DET==== 1220 ; CHR$(12%) 1230 FOR I%=1% TO 23% : ; CHR$(151%) 1240 NEXT I% 1250 FOR I%=4% TO 77% 1260 SETDOT 2%,I% 1270 SETDOT 64%,I% 1280 NEXT I% 1290 FOR I%=3% TO 64% 1300 SETDOT I%,4% 1310 NEXT I% 1370 GOSUB 1560 1430 RETURN 1440 REM ====PADDEL UPP]T==== 1450 IF P%-P2%/2%=3% RETURN 1460 CLRDOT P%+P2%/2%,78% 1470 P%=P%-1% 1480 SETDOT P%-P2%/2%,78% 1490 RETURN 1500 REM ====PADDEL NED]T==== 1510 IF P%+P2%/2%=63% RETURN 1520 CLRDOT P%-P2%/2%,78% 1530 P%=P%+1% 1540 SETDOT P%+P2%/2%,78% 1550 RETURN 1560 REM ====RITA PADDEL======== 1570 FOR I%=1% TO 64% 1580 CLRDOT I%,78% 1590 NEXT I% 1600 FOR I%=P%-P2%/2% TO P%+P2%/2% 1610 SETDOT I%,78% : NEXT I% 1620 RETURN 1630 REM ========SERV=========== 1640 Y%=100%*RND : S1%=0% 1650 IF Y%<5% OR Y%>63% GOTO 1640 1655 P%=34% 1660 P2%=P1% : GOSUB 1560 1670 V%=125%+180%*RND 1680 X%=75% : N%=N%+1% 1690 R2%=1% : IF RND>.5 R2%=-1% 1700 T1%=0% : R1%=-1% 1710 X1%=X% : Y1%=Y% 1720 W1%=W% : W2%=W3% : B%=B%+1% 1730 OUT 6,0% : OUT 6,131% 1740 RETURN 1880 RETURN