10 ! *************************************************************************** 15 ! * H[MND2.BAS * 20 ! * (C) Tino Rajala ALL RIGHTS RESERVED T.R DATA * 30 ! * Agnesh|gsg. 39 C * 40 ! * 59171 Motala Tel:0141/51283 * 50 ! * Spelet {r gjort f|r ABC 806 fungerar {ven p} monokromsk{rm * 60 ! *************************************************************************** 70 OUT 34,4 : OUT 34,2 80 ATTRIBUTE 1 : EXTEND : INTEGER 90 RANDOMIZE 100 OPEN 'KH[MD.HIC' AS FILE 1 : INPUT #1Ghic$ : INPUT #1Grek : CLOSE 1 110 Hnamn$=Ghic$ : Hiscore=Grek 120 Z=FNReklam 130 FOR W=2 TO 8 : Sid(W)=RND*30 : Sad(W)=RND*50+3 : NEXT W 140 Slump=RND*4 150 Plats=RND*167+1 160 Bu(2)=RND*50+100 : Bu(3)=RND*50+200 170 Ba(2)=RND*50+100 : Ba(3)=RND*50+200 180 More=-1 : Hoppa2=1 : Jump=2 : Collaoms=-1 : Syre=1000 : Agh=0 190 DIM H|jd(15),H|jdg(15),Ha(15),Move(15),Moveg(15) 200 Flytt=RND*224+10 : Flatt=RND*224+10 : Vaskig(1)=1 : Hoppa=1 : Sirtog=RND*232+1 210 FOR H=1 TO 5 : Br(H)=RND*16 : Jug(H)=2 : NEXT H 220 FOR G=1 TO 1+More : Br(G)=RND*16 : NEXT G 230 FOR G=2 TO 2+More : H|(G)=RND*10+3 : NEXT G 240 FOR \=6 TO 6+Antal : H|jd(\)=RND*225+5 : H|jdg(\)=H|jd(\) : NEXT \ 250 X=1 : Y=100 : Ship=2 : Coll=0 : Ng=1 : Pip$=CHR$(7) : ; CHR$(12); : FGCTL 0 : Vady=RND*234+1 260 L{ngre=0 : Meren=0 : Gekoll=0 : Vbana=0 : Maskr=0 : Points=0 270 ; CUR(24,1) RED 'PO[NG:';CUR(24,15) BLU 'SYRE:';CUR(24,30) YEL 'SKEPP:';CUR(24,45) GRN 'HI-SCORE ALWAYS BY:' CYA Hnamn$ ' ' WHT Hiscore; 280 FGCTL BLK+GMAG+GRED+GGRN+GBLU+GYEL+GWHT+GWHT+GWHT+GWHT+GWHT+GWHT+GRED+GBLU+GMAG+GCYA : Z=FNRamar 290 ! -----> Huvud loop <----- 300 IF Gameover 310 ELSE 480 310 ; CUR(1,30) GRN FLSH '-GAME OVER-' 320 IF Points>Dhiscore Dhiscore=Points 330 FOR Delay=1 TO 4000 : NEXT Delay 340 IF Rekord 350 ELSE 390 350 ; CUR(3,0) RED '* GRATULERAR TILL HISCORET P]' MAG Hiscore RED 'PO[NG *' 360 ; CUR(5,0) 'VAD HETER DU'; : INPUT Hnamn$ 370 ; CUR(24,55) CYA Hnamn$ ' ' WHT Hiscore; 380 OPEN 'KH[MD.HIC' AS FILE 100 : ; #100 Hnamn$ : ; #100 Hiscore : CLOSE 100 390 ; CUR(7,0) YEL '* DAGENS HISCORE:' RED Dhiscore YEL 'PO[NG *' 400 ; CUR(9,0) '\NSKAS NYTT SPEL(J)'; : INPUT W$ 410 IF W$='N' OR W$="n" ; CUR(9,0) 'TACK,F\R ATT DU HAR SPELAT KVADRATENS-H[MD! ' : GOTO 450 420 ; CUR(11,0) GRN '\NSKAS INSTRUKTIONER(N)'; : INPUT Fr}ga$ 430 IF Fr}ga$="J" OR Fr}ga$="j" FGCTL 0 : Z=FNInformation : GOTO 470 440 GOTO 470 450 OUT 34,8 : OUT 34,130 : FGCTL 0 : ; CUR(24,0) SPACE$(80); 460 END 470 Gameover=0 : Z=FNSuddafig : Antal=0 : Moveg(1)=0 : GOTO 130 480 IF SYS(8) A=PEEK(65507) ELSE A=0 490 Syre=Syre-1 : IF Syre<0 Z=FNKrock : ; CUR(12,5) DBLE MAG 'SYRET SLUT!' : FOR Del=1 TO 4000 : NEXT Del : ; CUR(12,5) DBLE SPACE$(12) 500 IF X>184 THEN 570 ELSE 510 510 IF Looka 530 520 IF Antal>1 GOTO 530 ELSE 570 530 IF Look Vady=Y : Look=0 540 IF Colla| R6=R6+1 ELSE 560 550 IF 150-R6=0 Colla|=0 : R6=0 : GOTO 560 ELSE 570 560 Z=FN\anfall 570 IF Coll Z=FNSkott 580 IF Bonus<0 Bonus=0 590 ; CUR(24,7) WHT Points; : ; CUR(24,24-LEN(NUM$(Syre))) Syre '%'; : ; CUR(24,36) Ship; 600 IF A=56 Y=Y+2 : A=0 : GOTO 680 610 IF A=55 Y=Y+2 : X=X-2 : A=0 : GOTO 680 620 IF A=50 Y=Y-2 : A=0 : GOTO 680 630 IF A=57 Y=Y+2 : X=X+2 : A=0 : GOTO 680 640 IF A=54 X=X+2 : A=0 : GOTO 680 650 IF A=49 Y=Y-2 : X=X-2 : A=0 : GOTO 680 660 IF A=52 X=X-2 : A=0 : GOTO 680 670 IF A=51 Y=Y-2 : X=X+2 : A=0 680 IF X>178 Z=FNUtg}ngsh}l2 : Z=FNHmonster : Z=FNKometer : IF Vbana>1 Z=FNKiller 690 IF Y<2 Y=1 : GOTO 710 700 IF Y>234 Y=234 710 Z=FNMask 720 IF Coll Z=FNSkott 730 IF Omh}l Z=FNUtg}ngsh}l : Omh}l=0 740 IF Coll=0 IF A=45 OUT 34,138 : A=0 : Coll=1 : D=Y : I=X 750 IF Coll Z=FNSkott 760 Z=FNRymdskepp 770 IF X>184 THEN 840 ELSE 780 780 Z=FNMonster 790 IF Gekoll 800 ELSE 840 800 IF R7 830 ELSE 810 810 R=RND*30+1 : IF R=1 THEN R7=1 : IF X>110 THEN FOR W=1 TO 1+S : Q(W)=120 : NEXT W ELSE FOR W=1 TO 1+S : Q(W)=X : NEXT W : GOTO 830 820 GOTO 840 830 Z=FN\verk|rare 840 GOTO 300 850 ! -----> Huvud loop slut <----- 860 DEF FNRymdskepp 870 ON ERROR GOTO 950 880 IF FGPOINT(X+5,Y+2)>2 ; Pip$; : Z=FNKrock : GOTO 910 890 IF FGPOINT(X,Y)>2 ; Pip$; : Z=FNKrock : GOTO 910 900 IF FGPOINT(X,Y+4)>2 ; Pip$; : Z=FNKrock 910 FGPOINT Xg,Yg,0 : FGLINE Xg+5,Yg+2 : FGLINE Xg,Yg+4 : FGLINE Xg,Yg 920 Xg=X : Yg=Y 930 FGPOINT X,Y,1 : FGLINE X+5,Y+2 : FGLINE X,Y+4 : FGLINE X,Y 940 RETURN 0 950 IF Y>234 Y=234 960 IF Y<2 Y=1 970 IF X+5>252 X=249 980 IF X<2 X=1 990 GOTO 880 1000 FNEND 1010 DEF FNSkott 1020 I=I+2 1030 IF I>250 THEN Coll=0 : FGPOINT Ig+5,Dg+2,0 : I=0 : GOTO 1120 1040 IF FGPOINT(I+5,D+2)=3 THEN Coll=0 : FGPOINT Ig+5,Dg+2,0 : I=0 : GOTO 1120 1050 IF FGPOINT(I+5,D+2)=13 THEN Coll=0 : OUT 7,1 : OUT 34,137 : Points=FNPoints(50) : FGPOINT Ig+5,Dg+2,0 : I=0 : GOTO 1130 1060 IF FGPOINT(I+5,D+2)=5 Points=FNPoints(100) : OUT 34,137 : FGPAINT I+5,D+2,0 : FGPOINT Ig+5,Dg+2,0 : I=0 : Z=FNSuddafig : Z=FNKlaratban : GOTO 1120 1070 IF FGPOINT(I+5,D+2)>5 AND FGPOINT(I+5,D+2)<12 OUT 34,137 : GOTO 1080 ELSE 1090 1080 S=FGPOINT(I+5,D+2) : IF S GOSUB 1180 : FGPOINT Ig+5,Dg+2,0 : GOTO 1120 1090 FGPOINT Ig+5,Dg+2,0 1100 Dg=D : Ig=I 1110 FGPOINT I+5,D+2,3 1120 RETURN 0 1130 FGPOINT T6,Vady,0 : FGFILL T6+6,Vady+2 1140 Colla|=1 : T6=0 1150 FOR Delay=1 TO 300 : NEXT Delay 1160 OUT 7,0 1170 GOTO 1120 1180 FGPAINT I+5,D+2,0 1190 Points=Points+10 1200 Maskr=Maskr+1 1210 Total=Antal+1 1220 IF Total=Maskr Omh}l=1 1230 H|jd(S)=0 1240 Coll=0 : I=0 1250 RETURN 1260 FNEND 1270 DEF FNMonster 1280 Flytta=Flytta+2*RND+1 1290 IF Flytta>170 Flytta=1 : FGPOINT 0,1,0 : FGFILL 10,238 : Plats=RND*167+1 1300 FOR Mer=Plats TO 60+Plats STEP 20 1310 FGPOINT 170-Flytta+2,Ug+Mer,0 1320 FGFILL 170-Flytta+10,Ug+10+Mer 1330 FGPOINT 170-Flytta,U+Mer,4 1340 FGFILL 175-Flytta,U+10+Mer 1350 NEXT Mer 1360 RETURN 0 1370 FNEND 1380 DEF FNUtg}ngsh}l 1390 Gissa=RND*(216+L{ngre)+2 1400 FGPOINT 180,Gissa,0 : FGFILL 184,Gissa+20-L{ngre 1410 RETURN 0 1420 FNEND 1430 DEF FNRamar 1440 FGPOINT 0,0,4 : FGLINE 255,0,4 : FGLINE 255,239 : FGLINE 0,239 1450 FGPOINT 180,1,3 : FGFILL 184,238 1460 FGPOINT 204,1,3 : FGFILL 208,238 1470 FGPOINT 228,1,3 : FGFILL 232,238 1480 RETURN 0 1490 FNEND 1500 DEF FNMask 1510 FOR [=6 TO 6+Antal : IF H|jd([) Move([)=Move([)+1 1520 NEXT [ 1530 FOR [=6 TO 6+Antal 1540 IF 174-Move([)-Ha([)<2 GOTO 1640 1550 NEXT [ 1560 FOR [=6 TO 6+Antal 1570 IF H|jd([) FGPOINT 174-Moveg([)-Ha([),H|jd([),0 : FGFILL 174-Moveg([)+3-Ha([),H|jd([)-2 1580 NEXT [ 1590 FOR [=6 TO 6+Antal 1600 Moveg([)=Move([) 1610 IF H|jd([) FGPOINT 174-Move([)-Ha([),H|jd([),[ : FGFILL 174-Move([)+3-Ha([),H|jd([)-2 1620 NEXT [ 1630 RETURN 0 1640 FGPOINT 174-Moveg([)-Ha([),H|jd([),0 : FGFILL 174-Moveg([)+3-Ha([),H|jd([)-2 1650 Move([)=0 : H|jd([)=RND*225+5 : GOTO 1550 1660 FNEND 1670 DEF FNUtg}ngsh}l2 1680 Flytt=Flytt+1 : Flatt=Flatt+1 1690 IF Flytt>218-L{ngre FGPOINT 204,Flytt,3 : FGFILL 208,238 : Flytt=1 : FGPOINT 204,1,0 : FGFILL 208,20-L{ngre 1700 IF Flatt>218+L{ngre FGPOINT 228,Flatt,3 : FGFILL 232,1 : Flatt=1 : FGPOINT 228,238,0 : FGFILL 232,219+L{ngre 1710 FGPOINT 204,Flytt,3 : FGLINE 208,Flytt 1720 FGPOINT 228,239-Flatt,3 : FGLINE 232,239-Flatt 1730 FGPOINT 204,Flytt+20-L{ngre,0 : FGLINE 208,Flytt+20-L{ngre 1740 FGPOINT 228,239-Flatt-20+L{ngre,0 : FGLINE 232,239-Flatt-20+L{ngre 1750 RETURN 0 1760 FNEND 1770 DEF FNHmonster 1780 Sirto=Sirto+1 1790 Ugh=RND*Agh 1800 IF Sirto+6+Ugh>237 GOTO 1870 1810 FGPOINT 252,Sirtog,0 : FGLINE 254,Sirtog : FGLINE 254,Sirtog+6 : FGLINE 252,Sirtog+6 1820 FGPOINT 252,Sirtog+1 : FGLINE 253,Sirtog+1 : FGLINE 253,Sirtog+5 : FGLINE 252,Sirtog+5 1830 Sirtog=Sirto+Ugh 1840 FGPOINT 252,Sirto+Ugh,5 : FGLINE 254,Sirto+Ugh : FGLINE 254,Sirto+6+Ugh : FGLINE 252,Sirto+6+Ugh 1850 FGPOINT 252,Sirto+1+Ugh : FGLINE 253,Sirto+1+Ugh : FGLINE 253,Sirto+5+Ugh : FGLINE 252,Sirto+5+Ugh 1860 RETURN 0 1870 FGPOINT 252,Sirtog,0 : FGLINE 254,Sirtog : FGLINE 254,Sirtog+6 : FGLINE 252,Sirtog+6 1880 FGPOINT 252,Sirtog+1 : FGLINE 253,Sirtog+1 : FGLINE 253,Sirtog+5 : FGLINE 252,Sirtog+5 1890 Sirtog=1 : Sirto=1 1900 GOTO 1810 1910 FNEND 1920 DEF FNKlaratban 1930 FGPOINT 180,Gissa,3 : FGFILL 184,Gissa+20-L{ngre 1940 Points=Points+Syre 1950 OUT 34,137 1960 ; CUR(9,20) CYA 'BRA JOBBAT! '; 1970 OUT 34,137 : FOR Delay=1 TO 2000 : NEXT Delay 1980 ; CUR(10,20) BLU 'SYRE BONUS:' WHT Syre 1990 OUT 34,137 : FOR Delay=1 TO 2000 : NEXT Delay : OUT 34,137 2000 ; CUR(11,20) RED 'DIN PO[NG SUMMA:' WHT;Points; 2010 FOR Delay=1 TO 10000 : NEXT Delay : ; CUR(9,20) SPACE$(60);CUR(10,20) SPACE$(25) CUR(11,20) SPACE$(40); 2020 Syre=1000 2030 IF More<4 More=More+1 2040 X=1 : Antal=Antal+1 : Vbana=Vbana+1 : Move=174 : Maskr=0 : L{ngre=L{ngre+1 : Coll=0 : Sirtog=RND*237+1 : Sirtog=Sirto : I=0 : IF More>2 Hoppa2=3 2050 IF Antal=6 Antal=0 : Looka=1 : Gekoll=1 2060 IF Vbana=5 Hoppa=2 2070 IF Vbana=5 Meren=1 : Z=FNMerhissar 2080 IF Vbana=8 Hoppa=3 : Ranmer=2 : Jump=3 2090 IF Vbana=12 Meren=2 : Jump=4 : Ranmer=4 : Z=FNMerhissar 2100 FOR [=7 TO 6+Antal : Ha([)=RND*30 : NEXT [ 2110 IF Vbana>2 Agh=3 2120 IF L{ngre>=11 L{ngre=11 2130 FOR [=6 TO 6+Antal : Move([)=0 : H|jd([)=RND*228+4 : H|jdg([)=H|jd([) 2140 NEXT [ 2150 RETURN 0 2160 FNEND 2170 DEF FNMerhissar 2180 Xz=1 2190 FGPOINT 209,238-Viskig(Xz)-Bu(Xz),0 : FGFILL 227,238-Viskig(Xz)-1-Bu(Xz) 2200 FGPOINT 233,Vaskig(Xz)+Ba(Xz),0 : FGFILL 252,Vaskig(Xz)+1+Ba(Xz) 2210 Vaski(1)=1 : Viski(1)=1 2220 RETURN 0 2230 FNEND 2240 DEF FN\anfall 2250 T6=T6+4 2260 IF T6+6>178 T6=0 : Look=1 2270 FGPOINT T6g,Vadyg,0 : FGLINE T6g+6,Vadyg : FGPOINT T6g,Vadyg+1 : FGLINE T6g+3,Vadyg+1 : FGPOINT T6g,Vadyg+2 2280 T6g=T6 : Vadyg=Vady 2290 OUT 34,137 2300 FGPOINT T6,Vady,13 : FGLINE T6+6,Vady : FGPOINT T6,Vady+1 : FGLINE T6+3,Vady+1 : FGPOINT T6,Vady+2 2310 RETURN 0 2320 FNEND 2330 DEF FNKometer 2340 FOR G=1 TO 1+More 2350 IF FGPOINT(186+Br(G),Jug(G)+2+H|(G))=1 ; Pip$; : Z=FNKrock : GOTO 2400 2360 IF FGPOINT(185+Br(G),Jug(G)+1+H|(G))=1 ; Pip$; : Z=FNKrock : GOTO 2400 2370 IF FGPOINT(187+Br(G),Jug(G)+1+H|(G))=1 ; Pip$; : Z=FNKrock : GOTO 2400 2380 IF FGPOINT(186+Br(G),Jug(G)+H|(G))=1 ; Pip$; : Z=FNKrock : GOTO 2400 2390 NEXT G 2400 FOR G=1 TO 1+More : Ju(G)=Ju(G)+Hoppa2 : NEXT G 2410 FOR G=1 TO 1+More 2420 IF Ju(G)+H|(G)>236 GOTO 2540 2430 NEXT G 2440 FOR G=1 TO 1+More 2450 FGPOINT 186+Br(G),Jug(G)+H|(G),0 : FGLINE 186+Br(G),Jug(G)+2+H|(G) 2460 FGPOINT 187+Br(G),Jug(G)+1+H|(G) : FGLINE 185+Br(G),Jug(G)+1+H|(G) 2470 NEXT G 2480 FOR G=1 TO 1+More 2490 Jug(G)=Ju(G) 2500 FGPOINT 186+Br(G),Ju(G)+H|(G),12 : FGLINE 186+Br(G),Ju(G)+2+H|(G) 2510 FGPOINT 187+Br(G),Ju(G)+1+H|(G) : FGLINE 185+Br(G),Ju(G)+1+H|(G) 2520 NEXT G 2530 RETURN 0 2540 FGPOINT 186+Br(G),Jug(G)+H|(G),0 : FGLINE 186+Br(G),Jug(G)+2+H|(G) 2550 FGPOINT 187+Br(G),Jug(G)+1+H|(G) : FGLINE 185+Br(G),Jug(G)+1+H|(G) 2560 Ju(G)=1 : Jug(G)=1 : Br(G)=RND*16 2570 GOTO 2430 2580 FNEND 2590 DEF FNKiller 2600 FOR Xz=1 TO 1+Meren 2610 Viski(Xz)=Viski(Xz)+Hoppa 2620 Vaski(Xz)=Vaski(Xz)+Hoppa 2630 NEXT Xz 2640 FOR Xz=1 TO 1+Meren 2650 IF 238-Viski(Xz)-1-Bu(Xz)<3 FGPOINT 209,239-Viskig(Xz)-Bu(Xz),0 : FGFILL 227,238-Viskig(Xz)-1-Bu(Xz) : Viski(Xz)=1 : Bu(Xz)=1 2660 IF Vaski(Xz)+1+Ba(Xz)>237 FGPOINT 233,Vaskig(Xz)+Ba(Xz),0 : FGFILL 252,Vaskig(Xz)+1+Ba(Xz) : Vaski(Xz)=1 : Ba(Xz)=1 2670 NEXT Xz 2680 FOR Xz=1 TO 1+Meren 2690 FGPOINT 209,238-Viskig(Xz)-Bu(Xz),0 : FGFILL 227,238-Viskig(Xz)-1-Bu(Xz) 2700 FGPOINT 233,Vaskig(Xz)+Ba(Xz),0 : FGFILL 252,Vaskig(Xz)+1+Ba(Xz) 2710 Viskig(Xz)=Viski(Xz) : Vaskig(Xz)=Vaski(Xz) 2720 FGPOINT 209,238-Viski(Xz)-Bu(Xz),15 : FGFILL 227,238-Viski(Xz)-1-Bu(Xz) 2730 FGPOINT 233,Vaski(Xz)+Ba(Xz),15 : FGFILL 252,Vaski(Xz)+1+Ba(Xz) 2740 NEXT Xz 2750 RETURN 0 2760 FNEND 2770 DEF FN\verk|rare 2780 FOR W=1 TO 1+S 2790 Ner(W)=Ner(W)+Jump 2800 IF 238-Ner(W)-6-Sid(W)<1 R7=0 : GOTO 2860 2810 FGPOINT Qg(W)+Sad(W),238-Nerg(W)-Sid(W),0 : FGFILL Qg(W)+4+Sad(W),238-Nerg(W)-4-Sid(W) 2820 Qg(W)=Q(W) : Nerg(W)=Ner(W) 2830 FGPOINT Q(W)+Sad(W),238-Ner(W)-Sid(W),15 : FGFILL Q(W)+4+Sad(W),238-Ner(W)-4-Sid(W) 2840 NEXT W 2850 RETURN 0 2860 FOR W=1 TO 1+S 2870 FGPOINT Qg(W)+Sad(W),238-Nerg(W)-Sid(W),0 : FGFILL Qg(W)+4+Sad(W),238-Nerg(W)-4-Sid(W) 2880 Ner(W)=0 : Nerg(W)=0 2890 NEXT W 2900 S=RND*(4+Ranmer) 2910 FOR W=2 TO 1+S 2920 Sid(W)=RND*30 : Sad(W)=RND*50+3 2930 NEXT W 2940 GOTO 2850 2950 FNEND 2960 DEF FNKrock 2970 Syre=1000 2980 FGPOINT Ig+5,Dg+2,0 : I=0 : Coll=0 2990 FGPOINT Xg,Yg,0 : FGLINE Xg+5,Yg+2 : FGLINE Xg,Yg+4 : FGLINE Xg,Yg 3000 OUT 7,19 : FOR Delay=1 TO 400 : NEXT Delay : OUT 7,5 : FOR Delay=1 TO 400 : NEXT Delay : OUT 7,0 3010 Xn=X : Yn=Y : Xs=X : Ys=Y : Xt=X : Yt=Y 3020 FOR Splitt=1 TO 10 3030 IF Y+5>232 Yn=-1 : GOTO 3050 3040 Yn=Yn+1 3050 IF X+6>246 THEN 3070 3060 Xs=Xs+1 3070 IF Y<8 THEN 3090 3080 Yt=Yt-1 3090 FGPOINT Xng,Yng+5,0 : FGPOINT Xsg+5,Ysg+2,0 : FGPOINT Xtg,Ytg,0 3100 Xng=Xn : Yng=Yn : Xg=X : Yg=Y : Xsg=Xs : Ysg=Ys : Xtg=Xt : Ytg=Yt 3110 FGPOINT Xn,Yn+5,15 : FGPOINT Xs+5,Ys+2 : FGPOINT Xt,Yt 3120 FOR Delay=1 TO 400 : NEXT Delay 3130 NEXT Splitt 3140 FGPOINT Xn,Yn+5,0 : FGPOINT Xs+5,Ys+2 : FGPOINT Xt,Yt 3150 Ship=Ship-1 : IF Ship<0 ; : IF Points>Hiscore Hiscore=Points : Rekord=1 : Gameover=1 ELSE Gameover=1 3160 Z=FNSuddafig 3170 RETURN 0 3180 FNEND 3190 DEF FNSuddafig 3200 IF Antal>1 GOTO 3210 ELSE 3240 3210 Colla|=1 : R6=0 3220 FGPOINT T6g,Vadyg,0 : FGLINE T6g+6,Vadyg : FGPOINT T6g,Vadyg+1 : FGLINE T6g+3,Vadyg+1 : FGPOINT T6g,Vadyg+2 3230 T6=0 3240 FOR [=6 TO 6+Antal 3250 IF H|jd([) FGPOINT 174-Moveg([)-Ha([),H|jd([),0 : FGFILL 174-Moveg([)+3-Ha([),H|jd([)-2 3260 IF H|jd([) Moveg([)=0 : Move([)=Moveg([) 3270 NEXT [ 3280 FOR Mer=Plats TO 60+Plats STEP 20 3290 FGPOINT 175-Flytta+2,Ug+Mer,0 : FGFILL 160-Flytta+10,Ug+10+Mer 3300 NEXT Mer 3310 Flytta=1 3320 IF Gekoll=1 AND R7=1 GOTO 3330 ELSE 3390 3330 FOR W=1 TO 1+Slump 3340 FGPOINT Qg(W)+Sad(W),238-Nerg(W)-Sid(W),0 : FGFILL Qg(W)+4+Sad(W),238-Nerg(W)-4-Sid(W) 3350 Ner(W)=0 : Nerg(W)=0 3360 NEXT W 3370 S=RND*(4+Ranmer) 3380 R7=0 3390 IF X>174 THEN 3400 ELSE 3450 3400 X=1 : Y=100 3410 FGPOINT 204,1,3 : FGFILL 208,238 3420 FGPOINT 228,1 : FGFILL 232,238 3430 FGPOINT 180,1 : FGFILL 184,Gissa 3440 FGPOINT 180,Gissa+20-L{ngre : FGFILL 184,238 3450 X=1 : Y=100 3460 RETURN 0 3470 FNEND 3480 DEF FNReklam 3490 ; CHR$(12); 3500 FOR Rekupp=1 TO 22 3510 Af{rg=Af{rg+1 : IF Af{rg>6 Af{rg=0 3520 Kvadrat$=CHR$(141,129+Af{rg,75,86,65,68,82,65,84,69,78,83,45,135-Af{rg,141,72,91,77,78,68) 3530 ; CUR(Rekupp,25) Kvadrat$; 3540 OUT 34,137 3550 FOR Delay=1 TO 500 : NEXT Delay 3560 ; CUR(Rekupp,25) CHR$(141) SPACE$(40); 3570 NEXT Rekupp 3580 ; CUR(11,25) FLSH Kvadrat$ 3590 ; CUR(23,1) RED '\NSKAS INSTRUKTIONER(N)'; : INPUT Inst$ 3600 IF Inst$="J" OR Inst$="j" Z=FNInformation 3610 RETURN 0 3620 FNEND 3630 DEF FNInformation 3640 FGCTL 0 3650 ; CHR$(12); 3660 ; CUR(1,25) STDY Kvadrat$; 3670 ; : ; : ; : ; : ; ' Spelet' RED ' KVADRATENS-H[MND' WHT ' g}r ut p} att du skall skjuta alla vita kvadra-' 3680 ; ' ter f|rst f|r att komma in i hiss systemet.D{r inne skall du skjuta ' 3690 ; YEL ' HUVUD-KVADRATEN' WHT ' som {r en gul,liten kvadrat.N{r du har klarat det' 3700 ; ' b|rjar spelet om fr}n b|rjan,men det blir sv}rare f|r varje g}ng.' 3710 ; ' T{nk p} att' BLU ' SYRET ' WHT 'kan ta SLUT!' 3720 ; ' Vid' RED ' 5000 ' WHT 'po{ng f}r du ett extra skepp.' 3730 ; : ; 3740 ; CYA ' O' YEL 'B' MAG 'S' GRN '!' WHT ' du kan ej skjuta n}gra kometer,' BLU 'bl}a-' CYA 'ljusbl}a ' WHT 'kvadrater och du kan bara' 3750 ; ' skjuta ett skott per g}ng.' 3760 ; : ; : ; ' Du styr ditt skepp med tangenterna:' 3770 ; : ; RED ' 8=Upp}t' MAG ' 2=Ner}t' BLU ' 4=V{nster' YEL ' 6=H|ger' CYA ' -=Skott' 3780 ; : ; WHT ' Med tangenterna:' GRN ' 7' WHT ',' MAG '9' WHT ',' CYA '1' WHT ',' RED '3' WHT ' Styr du snett }t olika h}ll!' 3790 ; CUR(23,1) GRN ' [R DU KLAR!'; 3800 GET R$ 3810 ; CUR(23,1) SPACE$(20); 3820 ; CUR(23,1) MAG FLSH ' LYCKA TILL!' 3830 FOR Delay=1 TO 6000 : NEXT Delay 3840 RETURN 0 3850 FNEND 3860 DEF FNPoints(X) 3870 Points=Points+X 3880 IF Collaoms IF Points>5000 Ship=Ship+1 : Collaoms=0 3890 RETURN Points 3900 FNEND