20REM ! Program .... CHOPPER.BAS 30REM ! Utg}va 2.1 83-05-11 40REM ! av (c) Mintaur Software 50REM ! OBS! vers utan REM f|r 16Kb  60REM ! Ins{nt av Torsten Alm 90REM Spel i grafik .Du {r pilot p} en 100REM bev{pnad r{ddningshelikopter. 140RANDOMIZE 150;CHR$(12%); 160L1%=35%:L2%=35%:B9%=1%:Y%=12%:X%=20%:H%=3%:R9%=1%:Q1%=25%:Q2%=20% 170H$(1%)="(l,":H1$(1%)="w/#":H2$(1%)=" ":H3$(1%)=" " 180H$(2%)=" ,<$":H1$(2%)="#/{":H2$(2%)=" ":H3$(2%)=" " 190W$(1%)="9,$":W$(2%)="(,f":W1$=" " 200;TAB(10%)"CHOPPER." 210;TAB(10%)"--------" 220;"Du {r pilot p} en bev{pnad r{ddnings- helikopter. Ditt uppdrag {r att r{dda s}m}nga m{nniskor som m|jligt." 230;"Du har 3st helikoptrar till p} basen. Du startar p} hembasen och flyger ut |ver fiendeland." 240;"Men v{gen {r full av fiender. Det finns fientliga luftv{rnskanoner, dem skall dubomba eller skjuta s|nder." 250;"Det finns ocks} fientliga lastbilar, demskall du ocks} f|rst|ra. Men husen skalldu f|rst"; 260;" landa brevid och h{mta" 270;"m{nniskor i.M{nniskorna l{mnar du av vid basen,det ger po{ng.Basen ligger till h|ger sett fr}n spelaren" 280;:;"Tryck return f|r att komma vidare."; 290GET\$ 300IFASC(\$)<>13%290 310;CHR$(12%); 320;"F|rflyttning:" 330;"-------------" 340;:;"Du styr med f|ljande tangenter:" 350;:;"Upp}t--> ( W )" 360;"V{nster--> ( A ) ( S ) <--H|ger" 370;"Ner}t--> ( Z )" 380;:;"\vrigt:" 390;"-------" 400;:;"Du byter riktning med ( Q )." 410;"Du f{ller bomber med ( X )." 420;"Du skjuter med ( )." 430;"Du landar med ( 1 )." 440;:;"Tryck p} f|r att g} vidare."; 450GET\$ 460IFASC(\$)<>32%450 470;:;"Jag genererar marken. Ta en fika." 510DIMA$=530% 520A$="":FORI%=1%TO500% 530IFRND>.5A$=A$+""ELSEA$=A$+"/" 540NEXTI% 550A$=A$+"" 560;CHR$(12%); 570FORI%=1%TO23%:;:;CHR$(23%);:NEXTI% 610GOSUB930 620GOSUB2430 630;CUR(0%,0%)"Po{ng-->"P%; 640;CUR(0%,20%)CHR$(23%)"~,"CHR$(135%)"-->"H%; 680GOSUB790 690IFP%<>P1%P1%=P%:;CUR(0%,0%)"Po{ng-->"P1%; 700IFB%=1%GOSUB1900 710W%=W%+1%:IFW%>100%W%=0%:S=S+.01 720IFJ9%=0%ANDRND>1.5-SJ9%=1%:GOSUB2290 730IFJ9%=1%GOSUB2350 740IFT%=1%GOSUB1210 750GOTO680 790N$=CHR$((INP(56%)-128%)OR32%) 800ONINSTR(1%,"wsza qx1",N$)+1%GOSUB830,840,850,860,870,880,900,910,2720 810IFT%=1%IFY%=21%ANDABS(X%-T9%)<4%I1%=X%*2%:I2%=Y%*3%+4%:H%=H%-1%:T%=0%:T4%=0%:GOSUB1770 820IFJ9%=1%IF(Y%+1%=R%ORY%=R%)ANDABS(X%+1%-K%+1%)<2%H%=H%-1%:I1%=X%*2%+4%:I2%=Y%*3%+2%:GOSUB1770 830RETURN 840V9%=0%:GOSUB940:Y%=Y%-1%:GOSUB950:GOSUB930:RETURN 850V9%=0%:GOSUB940:X%=X%+1%:GOSUB950:GOSUB930:RETURN 860V9%=0%:GOSUB940:Y%=Y%+1%:GOSUB950:GOSUB930:RETURN 870V9%=0%:GOSUB940:X%=X%-1%:GOSUB950:GOSUB930:RETURN 880IFQ1%>0%Q1%=Q1%-1%:OUT6,137:GOSUB1290:RETURN 890RETURN 900IFV9%=1%RETURNELSEV9%=1% 905GOSUB940:R9%=R9%+1%:IFR9%>2%R9%=1% 906GOSUB930:RETURN 910IFB%=0%ANDQ2%>1%B%=1%:B1%=Y%*3%+6%:B2%=(X%+2%)*2%-1%:Q2%=Q2%-1%:RETURN 920RETURN 930;CUR(Y%,X%)H$(R9%)CUR(Y%+1%,X%)H1$(R9%);:RETURN 940;CUR(Y%,X%)H2$(R9%)CUR(Y%+1%,X%)H3$(R9%);:RETURN 950IFY%<2%Y%=2%:RETURN 960IFX%<1%X%=1%:M9%=M9%-1%:GOSUB1020:RETURN 970IFX%>35%X%=35%:M9%=M9%+1%:GOSUB1020:RETURN 980IFY%>21%Y%=21%:RETURN 990IFR9%=1%ANDX%<17%X%=17%:M9%=M9%-1%:GOSUB1020:RETURN 1000IFR9%=2%ANDX%>20%X%=20%:M9%=M9%+1%:GOSUB1020:RETURN 1010RETURN 1020IFM9%>465%M9%=465%:GOSUB2430:RETURN 1030IFM9%<2%M9%=2%:RETURN 1040M9$=MID$(A$,M9%,38%) 1050IFB%=0%1060ELSEIFX%<18%CLRDOTB1%,B2%:B2%=B2%+1%ELSECLRDOTB1%,B2%+1%:B2%=B2%-1% 1060IFT7%=0%1070ELSEIFX%<18%CLRDOTL1%,L2%:L2%=L2%+2%ELSECLRDOTL1%,L2%:L2%=L2%-2% 1070T4%=T4%+1%:IFT4%>50%T4%=0%:T3%=0% 1080IFRND>.5-SANDT%=0%GOSUB1140:IFT%=1%GOSUB2110 1090IFT%=0%1130 1100;CUR(22%,T9%)T1$;:IFX%<18%T9%=T9%+1%ELSET9%=T9%-1% 1110IFT9%<1%ORT9%>35%T6=0%:T7%=0%:CLRDOTL1%,L2%:M5%=0%:T%=0%:GOTO1130 1120;CUR(22%,T9%)T$; 1130;CUR(23%,1%)M9$;:RETURN 1140IFT3%<>0%RETURN 1150T3%=1% 1160IFR9%=1%ANDX%<33%T9%=1%:T%=1%:RETURN 1170IFR9%=1%T9%=35%:T%=1%:RETURN 1180IFR9%=2%ANDX%>2%T9%=35%:T%=1%:RETURN 1190IFR9%=2%T9%=1%:T%=1%:RETURN 1200RETURN 1210IFM5%>0%RETURN 1220IFT6%=1%GOTO2140ELSET2%=T2%+1%:IFT2%<15%RETURNELSE;CUR(22%,T9%)T1$;:T9%=T9%+1% 1230T2%=0%:IFT9%>35%T%=0%:RETURN 1240;CUR(22%,T9%)T$; 1250RETURN 1290I2%=Y%*3%+2% 1300ONR9%GOTO1310,1370 1310FORI1%=(X%*2%-1%)TO2%STEP-1% 1320IFDOT(Y%*3%+4%,I1%)1430 1330SETDOT(Y%*3%+4%),I1% 1340CLRDOT(Y%*3%+4%),I1% 1350NEXTI1% 1360RETURN 1370FORI1%=((X%+4%)*2%)TO77% 1380IFDOT(Y%*3%+4%,I1%)1430 1390SETDOT(Y%*3%+4%),I1% 1400CLRDOT(Y%*3%+4%),I1% 1410NEXTI1% 1420RETURN 1430IFY%<>21%ORABS(I1%/2%-T9%)>=5%THEN1450 1440P%=P%+10%:T%=0%:T6=0%:T7%=0%:GOSUB1480:;CUR(22%,T9%)T1$;:M5%=0%:RETURN 1450IFY%+1%=R%ANDABS((K%+1%)*2%-I1%)<6%J9%=0%:;CUR(R%,K%)W1$;:GOSUB1480:P%=P%+5%:RETURN 1460RETURN 1480IFI1%-7%<2%I1%=I1%+3%:GOTO1480 1490IFI2%+3%>69%I2%=I2%-3%:GOTO1490 1500CLRDOTL1%,L2% 1510RESTORE 1520FORI%=1%TO17% 1530READE%,E1%:SETDOTI2%+E%,I1%+E1% 1540NEXTI% 1550OUT6,9 1560FORI=1TO50:NEXTI 1570FORI%=1%TO48%:READE%,E1%:SETDOTI2%+E%,I1%+E1% 1580NEXTI% 1590FORI=1TO250:NEXTI 1600RESTORE 1610FORI%=1%TO17% 1620READE%,E1%:CLRDOTI2%+E%,I1%+E1% 1630NEXTI% 1640FORI=1TO50:NEXTI 1650FORI%=1%TO48%:READE%,E1%:CLRDOTI2%+E%,I1%+E1% 1660NEXTI% 1670OUT6,0 1680RETURN 1700DATA-1,-3,-1,-2,-1,-1,-1,0,0,-4,0,-3,0,-2,0,-1,0,0,1,-4,1,-3,1,-2,1,-1,1,0,2,-3,2,-2,2,-1, 1710DATA-3,-1,-3,0,-2,-5,-2,-4,-2,-2,-2,-1,-2,0,-2,1,-2,2,-1,-6,-1,-5,-1,-4,-1,-3,-1,-2,-1,-1,-1,0,-1,1,-1,2, 1720DATA0,-6,0,-5,0,-4,0,-3,0,-2,0,-1,0,0,0,1,0,2,1,-6,1,-5,1,-4,1,-3,1,-2,1,-1,1,0,1,1,1,2, 1730DATA2,-5,2,-4,2,-3,2,-2,2,-1,2,0,2,1,3,-4,3,-3,3,-2,3,-1,3,0, 1770;CUR(10%,10%)"NEXT CHOPPER READY"; 1780FORJ%=1%TO5%:GOSUB1480:NEXTJ% 1790P2%=0%:GOSUB2430 1800;CHR$(12%); 1810FORI%=1%TO23%:;:;CHR$(23%);:NEXTI% 1820;CUR(0%,0%)"Po{ng-->"P%; 1830;CUR(0%,20%)CHR$(23%)"~,"CHR$(135%)"-->"H%; 1840M9%=465%:GOSUB1020 1850T6%=0%:T7%=0%:X%=20%:Y%=12%:R9%=1%:GOSUB930 1860RETURN 1900IFQ2%<1%RETURN 1910IFB2%<5%ORB2%>74%CLRDOTB1%,B2%:CLRDOTB1%,B2%+1%:B%=0%:RETURN 1920CLRDOTB1%,B2%:CLRDOTB1%,B2%+1% 1930B1%=B1%+B9% 1940IFDOT(B1%,B2%)ORDOT(B1%,B2%+1%)1970 1950SETDOTB1%,B2%:SETDOTB1%,B2%+1% 1960RETURN 1970B%=0% 1980N1%=22%*3%:N2%=(T9%+2%)*2%:I1%=B2%:I2%=B1%-4% 1990IFABS(L1%-B1%)<3%ANDABS(L2%-B2%)<4%T7%=0%:P%=P%+1% 2000IFABS(N1%-B1%)>=3%ORABS(N2%-B2%)>=9%THEN2020 2010T%=0%:P%=P%+10%:T6%=0%:T7%=0%:T4%=0%:I2%=B1%-2%:;CUR(22%,T9%)T1$;:M5%=0% 2020IFABS(Y%*3%-B1%)<6%ANDABS((X%+2%)*2%-B2%)<5%H%=H%-1%:GOTO1770 2030IFABS(R%*3%-B1%)>4%ANDABS((K%+1%)*2%-B2%)<9%J9%=0%:P%=P%+5%:;CUR(R%,K%)W1$;:I1%=B2%:I2%=B1% 2040GOSUB1480 2050IFY%=21%ANDABS(B2%-(X%+2%)*2%)<6%H%=H%-1%:GOSUB1770 2060GOSUB930 2070RETURN 2110IFRND>.3+ST$="o/o$":T1$=" ":RETURN 2120IFRND<.2T$="7w":T1$=" ":M5%=1%:RETURN 2130T$="x}0":T1$=" ":T6%=1%:L1%=21%*3%:T7%=0%:L2%=(T9%+1%)*2%:RETURN 2140IFT7%=0%ANDABS(ABS(T9%-X%)-(55%-Y%*3%))<5%GOSUB2130:T7%=1% 2150IFT7%=0%ANDABS(T9%-X%)<8%GOSUB2130:T7%=1% 2160IFT7%=0%RETURN 2170CLRDOTL1%,L2%:L1%=L1%-1% 2180IFL1%<4%T7%=0%:RETURN 2190IFDOT(L1%,L2%)2220 2200SETDOTL1%,L2% 2210RETURN 2220IFABS(L1%-(Y%*3%+5%))<5%ANDABS(L2%-(X%+2%)*2%)<7%H%=H%-1%:I1%=L2%:I2%=L1%:GOSUB1770:RETURN 2230IFABS(L1%-(R%*3%))>=3%ORABS(L2%-(K%+1%)*2%)>=8%THEN2250 2240J9%=0%:I1%=L2%:I2%=L1%:GOSUB1480:;CUR(R%,K%)W1$;:RETURN 2250T7%=0%:RETURN 2290R%=Y%+(RND*8%-4%):IFR%>20%ORR%<2%2290 2300IFR9%=1%K%=1%ELSEK%=35% 2310RETURN 2350;CUR(R%,K%)W1$; 2360IFR9%=1%K%=K%+1%:K5%=1%ELSEK%=K%-1%:K5%=2% 2370IFK%>35%ORK%<1%J9%=0%:RETURN 2380;CUR(R%,K%)W$(K5%); 2390RETURN 2430;CHR$(12%); 2440FORI%=1%TO23%:;:;CHR$(23%);:NEXTI% 2450;CUR(23%,1%)""; 2460;CUR(16%,20%)" x||||||||||||<4"; 2470;CUR(17%,20%)"`~g~5"; 2480;CUR(18%,20%)"ZOXO5"; 2490;CUR(19%,20%)"   %"; 2500;CUR(20%,20%)" ?!"; 2510B%=0%:Q1%=25%:Q2%=20%:X%=10%:Y%=19%:R9%=1%:GOSUB930 2520J9%=0%:M5%=0% 2530;CUR(2%,10%)CHR$(135%)P2%" M[NNISKOR R[DDADE." 2540IFP2%<1%2630 2550FORE%=1%TOP2% 2560OUT6,43 2570FORU1%=(X%*2%)TO23%*2% 2580SETDOT63%,U1% 2590FORI=1TO50:NEXTI 2600CLRDOT63%,U1%:FORI=1TO50:NEXTI 2610NEXTU1%:NEXTE% 2620OUT6,0 2630P%=P%+20%*P2%:P2%=0% 2640IFH%<1%GOTO2900 2650;CUR(0%,10%)"*** BASEN ***"; 2660;CUR(1%,10%)"TRYCK RETURN F\R START";:GET\$ 2670IFASC(\$)<>13%2660 2680GOSUB1800:RETURN 2720IFM5%<>1%RETURN 2730IFY%<21%RETURN 2740M6%=RND*5%+1%:P2%=P2%+M6% 2750FORI%=1%TOM6% 2760FORU%=1%TOABS(X%-T9%)*2% 2770OUT6,43 2780IFX%>T9%U9%=1%ELSEU9%=-1% 2790IFDOT(68%,T9%*2%+U%*U9%)CLRDOT68%,T9%*2%+U%*U9%ELSESETDOT68%,T9%*2%+U%*U9% 2800FORI=1TO50:NEXTI 2810IFDOT(68%,T9%*2%+U%*U9%)CLRDOT68%,T9%*2%+U%*U9%ELSESETDOT68%,T9%*2%+U%*U9% 2820FORI=1TO50:NEXTI 2830NEXTU% 2840NEXTI% 2850M5%=2%:N$="*":OUT6,0 2860RETURN 2900FORI5%=10%TO74%STEP6% 2910I1%=I5%:I2%=55%:GOSUB1480:NEXTI5% 2920;CUR(10%,10%)"GAME OVER" 2930;CUR(11%,10%)SPACE$(39%)CUR(11%,10%)CHR$(135%)"DU FICK"P%" PO[NG." 2940END