5 ! save artileri 7 ! F|r ABC806, av ok{nd programmerare 8 ! Skjut med och styr kanonen upp/ned med 8/2. 9 ! Skottstyrka regleras med 8,2,4,6 10 INTEGER : EXTEND : RANDOMIZE ! : ATTRIBUTE 3 30 FGCTL BLK+GYEL+GBLU+GRED 40 FGPOINT 0,0,0 : FGFILL 511,239 50 ! 60 ! _____________ H[R B\RJAR VARIABLERNA F\R PROGRAMMET 70 ! 80 Xa=RND*220+40 90 Ya=RND*220 100 Xb=RND*231+270 110 Yb=RND*220 120 V1.=PI/4 130 V1b.=3*PI/4 140 V.=45 150 Vb.=45 160 Vind.=(RND-.5)*150 170 ! 180 ! _____________ RITA KANONERNA 190 ! 200 ; CHR$(12) 210 FGPOINT Xa,Ya,1 : FGLINE Xa+10*COS(V1.),Ya+10*SIN(V1.) 220 FGPOINT Xa-4,Ya,1 : FGFILL Xa+4,Ya+2 230 FGPOINT Xb,Yb,1 : FGLINE Xb+10*COS(V1b.),Yb+10*SIN(V1b.) 240 FGPOINT Xb-4,Yb,1 : FGFILL Xb+4,Yb+2 250 ! 260 ! _____________ RITAR UT PLANEN 270 ! 280 FGPOINT Xa+20,Ya,1 : FGLINE 0,Ya 290 FGPOINT Xb-20,Yb,1 : FGLINE 511,Yb 300 ! 310 ! ______________ RITAR EN STJ[RNA 320 ! 330 FOR I=1 TO 1 340 S=RND*500 350 U=RND*100+120 360 FGPOINT S,U,3 : FGLINE S+24,U+12,3 : FGLINE S-4,U+12,3 : FGLINE S+20,U,3 370 FGLINE S+10,U+18,3 : FGLINE S,U,3 ! : FGPAINT S+3,U+4 380 NEXT I 390 ! 400 ! ______________ H[R B\RJAR SLUMPRITNINGEN 410 ! 420 FGPOINT Xa+20,Ya,1 430 Bx=Xa+20 440 By=Ya 450 Slpa=RND*4 ! 5 460 Slpb=RND*4 ! 5 470 ! Slp{=RND*30+80 480 Slp|=RND*100+30 490 FGLINE Bx+Slpa,By+Slpb,1 500 Bx=Bx+Slpa 510 By=By+Slpb 520 IF Bx>Xb-Slp| THEN 570 530 IF By>220 THEN 570 540 IF Bx>Xb-20 THEN 700 550 GOTO 450 560 ! ____________ H[R B\RJAR P2 570 ! 580 Slpa5=RND*10 590 Slpa=RND*5 600 Slpb=RND*5 610 Slp|=RND*40+20 620 FGLINE Bx+Slpa,By-Slpb,1 630 Bx=Bx+Slpa 640 By=By-Slpb 650 IF Bx>Xb-35 THEN 700 660 IF ByPngb THEN 1670 730 X.=Xa : Y.=Ya 740 ! 750 ! _________________ SKRIVER UT P] SK[RMEN 760 ! 770 ; CUR(0,0) CYA; 780 ; USING 'SKOTTSTYRKA=###.##' V. 790 ; CUR(2,0) YEL '' 800 ; CUR(0,60) CYA; 810 ; USING 'SKOTTSTYRKA=###.##' Vb. 820 ; CUR(1,0) CYA 'PO[NG=' Pnga 830 ; CUR(1,60) CYA 'PO[NG=' Pngb 840 ; CUR(0,30) GRN; 850 ; USING 'VIND=##.## M/S' ABS(Vind.) 860 IF Vind.>0 THEN ; CUR(2,33) GRN '--->' 870 IF Vind.<0 THEN ; CUR(2,33) GRN '<---' 880 ! 890 ! __________ KOLLAR VAD MAN SKRIVER 900 ! 910 IF SYS(5)<>0 GET A1$ ELSE 910 920 FGPOINT Xa,Ya,0 : FGLINE Xa+10*COS(V1.),Ya+10*SIN(V1.),0 930 IF A1$='8' THEN V1.=V1.+1*PI/180 : IF V1.>46.8 THEN V1.=46.8 940 IF A1$='2' THEN V1.=V1.-1*PI/180 950 IF A1$='4' THEN V.=V.-1 960 IF A1$='6' THEN V.=V.+1 970 IF A1$='7' THEN V.=V.-.1 980 IF A1$='9' THEN V.=V.+.1 990 FGPOINT Xa,Ya,1 : FGLINE Xa+10*COS(V1.),Ya+10*SIN(V1.) 1000 FGPOINT Xa-4,Ya,1 : FGFILL Xa+4,Ya+2 1010 ; CUR(0,12) CYA; 1020 ; USING '###.##' V. 1030 IF A1$=CHR$(13) GOTO 1060 ELSE 910 1040 ! 1050 ! ______________ H[R B\RJAR KASTPARABELN 1060 ; CHR$(12) 1070 X.=Xa+10*COS(V1.) : Y.=Ya+10*SIN(V1.) 1080 FGPOINT Xa+10*COS(V1.),Ya+10*SIN(V1.),1 1090 Vx.=V.*COS(V1.) : Vy.=V.*SIN(V1.) : T.=.03 1100 K=K+1 1110 IF MOD(K,5)=0 AND Y.<239 THEN FGPOINT X.,Y.,1 1120 Vx.=Vx.+Vind./30*T. 1130 Vy.=Vy.-10.*T. 1140 X.=X.+Vx.*T. 1150 Y.=Y.+Vy.*T. 1160 IF X.<0 OR X.>511 OR Y.<0 THEN 1630 1170 IF Y.>239 GOTO 1600 1180 ! 1190 ! __________________ H[R RITAS FLAMMAN UT! 1200 ! 1210 IF FGPOINT(X.,Y.)=2 THEN 1220 ELSE 1430 1220 IF X.<10 OR X.>500 THEN 1630 1230 IF Y.<10 OR Y.>190 THEN 1630 1240 ; CHR$(7) 1250 FGPOINT X.-10,Y.+8,0 : FGFILL X.+10,Y.-4,0 ! OM MAN VILL SPR[NGA BORT 1260 FGPOINT X.,Y.-3,1 : FGLINE X.-18,Y.+9 : FGLINE X.-2,Y.+6 1270 FGLINE X.-22,Y.+23 : FGLINE X.-8,Y.+15 : FGLINE X.+2,Y.+35 1280 ON ERROR GOTO 1290 : FGLINE X.+4,Y.+11 : FGLINE X.+20,Y.+20 : FGLINE X.,Y.-3 1290 ! FGLINE X.-3,Y. ! : FGPAINT X.,Y.+5 1300 FOR I=1 TO 5000 1310 NEXT I 1320 ! 1330 ! ___________________ SL[CKER FLAMMAN 1340 ! 1350 FGPOINT X.,Y.-3,0 : FGLINE X.-18,Y.+9 : FGLINE X.-2,Y.+6 1360 FGLINE X.-22,Y.+23 : FGLINE X.-8,Y.+15 : FGLINE X.+2,Y.+35 1370 ON ERROR GOTO 1380 : FGLINE X.+4,Y.+11 : FGLINE X.+20,Y.+20 : FGLINE X.,Y.-3 1380 ! FGLINE X.-3,Y. : ! FGPAINT X.,Y.+5 1390 GOTO 1630 1400 ! 1410 ! ________________ OM MAN TR[FFAR 1420 ! 1430 IF ABS(X.-Xb)<4 AND ABS(Y.-Yb)<2 THEN 1440 ELSE 1470 1440 ; CHR$(7) : ; CHR$(7) : ; CHR$(7) : ; RED DBLE FLSH CUR(10,35) 'TR[FF!!!' 1445 FOR I=1 TO 10000 : NEXT I 1450 Pnga=Pnga+10 1460 GOTO 10 1470 IF ABS(X.-Xa)<4 AND ABS(Y.-Ya)<2 THEN 1480 ELSE 1530 1480 ; CHR$(7) : ; RED DBLE FLSH CUR(10,35) 'HA,ha,ha !!!' : Pnga=Pnga-20 1490 FOR I=1 TO 10000 : NEXT I 1510 GOTO 10 1520 ! _______________ OM MAN TR[FFAR STJ[RNORNA 1530 IF FGPOINT(X.,Y.)=3 THEN 1540 ELSE 1600 1540 ; CHR$(7) : Pnga=Pnga+5 1550 FGPOINT S,U,0 : FGLINE S+24,U+12,0 : FGLINE S-4,U+12,0 : FGLINE S+20,U,0 1560 FGLINE S+10,U+18,0 : FGLINE S,U,0 ! : FGPAINT S+6,U+4 1570 ! 1580 ! ______________ H[R SLUTAR SPELARE A:s "SKOTT" 1590 ! 1600 GOTO 1100 1610 ! 1620 ! 1630 ! 1640 ! 1650 ! __________ SKRIVER UT P] SK[RMEN 1660 ! 1670 ; CUR(2,77) RED '' 1680 ; CUR(0,0) CYA; 1690 ; USING 'SKOTTSTYRKA=###.##' V. 1700 ; CUR(0,60) CYA; 1710 ; USING 'SKOTTSTYRKA=###.##' Vb. 1720 ; CUR(1,0) CYA 'PO[NG=' Pnga 1730 ; CUR(1,60) CYA 'PO[NG=' Pngb 1740 ; CUR(0,30) GRN; 1750 ; USING 'VIND=##.## M/S' ABS(Vind.) 1760 IF Vind.>0 THEN ; CUR(2,33) GRN '--->' 1770 IF Vind.<0 THEN ; CUR(2,33) GRN '<---' 1780 ! 1790 ! __________ KOLLAR VAD MAN SKRIVER 1800 ! 1810 IF SYS(5)<>0 THEN GET A1$ ELSE 1810 1820 FGPOINT Xb,Yb,0 : FGLINE Xb+10*COS(V1b.),Yb+10*SIN(V1b.),0 1830 IF A1$='8' THEN V1b.=V1b.-1*PI/180 : IF V1b.<0 THEN V1b.=0 1840 IF A1$='2' THEN V1b.=V1b.+1*PI/180 : IF V1b.>PI THEN V1b.=PI 1850 IF A1$='4' THEN Vb.=Vb.-1 1860 IF A1$='6' THEN Vb.=Vb.+1 1870 IF A1$='7' THEN Vb.=Vb.-.1 1880 IF A1$='9' THEN Vb.=Vb.+.1 1890 FGPOINT Xb-4,Yb,1 : FGFILL Xb+4,Yb+2 1900 FGPOINT Xb,Yb,1 : FGLINE Xb+10*COS(V1b.),Yb+10*SIN(V1b.),1 1910 ; CUR(0,72) CYA; 1920 ; USING '###.##' Vb. 1930 IF A1$=CHR$(13) GOTO 1970 ELSE 1810 1940 ! 1950 ! ______________ H[R B\RJAR KASTPARABELN 1960 ! 1970 ; CHR$(12) 1980 X.=Xb+10*COS(V1b.) : Y.=Yb+10*SIN(V1b.) 1990 FGPOINT Xb+10*COS(V1b.),Yb+10*SIN(V1b.),1 2000 Vx.=Vb.*COS(V1b.) : Vy.=Vb.*SIN(V1b.) : T.=.03 2010 K=K+1 2020 IF MOD(K,5)=0 AND Y.<239 THEN FGPOINT X.,Y.,1 2030 Vx.=Vx.+Vind./30*T. 2040 X.=X.+Vx.*T. 2050 Y.=Y.+Vy.*T. 2060 Vy.=Vy.-10.*T. 2070 IF Y.<0 OR X.<0 OR X.>511 THEN 2500 2080 IF Y.>239 GOTO 2460 2090 ! 2100 ! _______________ H[R RITAS FLAMMAN UT 2110 ! 2120 IF FGPOINT(X.,Y.)=2 THEN 2130 ELSE 2300 ! 1630 2130 IF X.<10 OR X.>500 THEN 730 2140 IF Y.<10 OR Y.>190 THEN 730 2150 ; CHR$(7) 2160 FGPOINT X.-10,Y.+8,0 : FGFILL X.+10,Y.-4,0 ! OM MAN VILL SPR[NGA BORT 2170 IF X.<20 THEN 730 2180 FGPOINT X.,Y.-3,1 : FGLINE X.-18,Y.+9 : FGLINE X.-2,Y.+6 2190 FGLINE X.-22,Y.+23 : FGLINE X.-8,Y.+15 : FGLINE X.+2,Y.+35 2200 FGLINE X.+4,Y.+11 : FGLINE X.+20,Y.+20 : FGLINE X.,Y.-3 2210 FOR I=1 TO 5000 2220 NEXT I 2230 FGPOINT X.,Y.-3,0 : FGLINE X.-18,Y.+9 : FGLINE X.-2,Y.+6 2240 FGLINE X.-22,Y.+23 : FGLINE X.-8,Y.+15 : FGLINE X.+2,Y.+35 2250 FGLINE X.+4,Y.+11 : FGLINE X.+20,Y.+20 : FGLINE X.,Y.-3 2260 GOTO 2500 2270 ! 2280 ! _________________ KOLLAR OM MAN TR[FFAT 2290 ! 2300 IF ABS(X.-Xa)<4 AND ABS(Y.-Ya)<2 THEN 2310 ELSE 2330 2310 ; CHR$(7) : ; RED DBLE FLSH CUR(10,35) 'TR[FF!!!' : Pngb=Pngb+10 2315 FOR I=1 TO 10000 : NEXT I 2320 GOTO 10 2330 IF ABS(X.-Xb)<4 AND ABS(Y.-Yb)<2 THEN 2340 ELSE 2390 2340 ; CHR$(7) : ; RED DBLE FLSH CUR(10,35) 'HA,ha,ha !!!' : Pngb=Pngb-20 2350 FOR I=1 TO 10000 : NEXT I 2370 GOTO 10 2380 ! _______________ KOLLAR OM MAN TR[FFAT EN STJ[RNA 2390 IF FGPOINT(X.,Y.)=3 THEN 2400 ELSE 2460 2400 ; CHR$(7) : Pngb=Pngb+5 2410 FGPOINT S,U,0 : FGLINE S+24,U+12,0 : FGLINE S-4,U+12,0 : FGLINE S+20,U,0 2420 FGLINE S+10,U+18,0 : FGLINE S,U,0 ! : FGPAINT S+6,U+4 2430 ! 2440 ! ______________ G]R TILLBAKS TILL KASTPARABELN 2450 ! 2460 GOTO 2010 2470 ! 2480 ! ______________ H[R SLUTAR SPELARE B:s "SKOTT" 2490 ! 2500 GOTO 730