1 REM *********** FLYKTEN *********** 2 REM 3 REM * MICHAEL WIDENIUS 19-1-1980 * 4 REM 5 REM ******************************* 6 DEFFNF=((PEEK(65010%) XOR 255%)*256+(PEEK(65009%) XOR 255%))*5.12+(PEEK(65008%) XOR 255%)/50 7 ; CHR$(12%)TAB(16%)"FLYKTEN" : ; : ; 8 DIM B%(4%),B1%(4%),B2%(4%),B3%(4%),C%(2%,6%) 9 FOR I=1% TO 1500% : OUT 6%,7% : NEXT I : OUT 6%,0% 10 ; "Detta {r }r 2100 .... Du {r en pilot" 11 ; "i Finlands nya rymdskeppsflotta (vilket" 12 ; "tyv{rr inte {r n}gonting att skryta om)." 13 ; "Du har med dig passagerare som du har" 14 ; "ansvararet f|r ( med ditt liv !? )." : ; 15 ; "Dina order {r f|ljande :" 16 RANDOMIZE : W%=0% : F%=0% : F1%=0% 17 FOR I=1% TO 9000% : NEXT I 18 ; CHR$(12%)TAB(14%)"TOPPHEMLIGT" 19 ; : ; "Detta budskap f}r inte komma i utom- st}endes h{nder !!" 20 ; "--- [t upp sk{rmen d} du l{st detta :" 21 GOSUB 243 : FOR I=1% TO 3500% : NEXT I 22 ; : ; : ; CHR$(7%)"Ett fj{rde v{rldskrig har b|rjat." 23 ; "Du och dina passagerare {r de enda" 24 ; "m{nniskorna som har |verlevt. Jorden" 25 ; "kan explodera vilken sekund som helst s} ge dig iv{g ( upp}t och snabbt )." 26 ; : ; "Du kan starta genom att ge den hemliga koden som startar maskinerna." 27 ; "K|r inte slut br{nslet - ALIEN v{ntar !!" 28 ; "Koden {r f|ljande (urs{kta dr|jsm}let):" 29 FOR I=1% TO 18000%-F1%*16000% : NEXT I : F1%=1% 30 A$="" : IF RND>.8 THEN A%=29% : B%=65% : T%=9% ELSE A%=10% : B%=48% : T%=7% 31 FOR J%=1% TO 5% : A$=A$+CHR$(RND*A%+B%) : NEXT J% 32 ; : ; TAB(10%)A$" - GE DEN "; 33 POKE 65013%,0% : POKE 65008%,-1%,-1%,-1% 34 INPUT B$ : IF FNF78% THEN 18 48 ; CUR(20%,3%)CHR$(7%)"P} }terseende - ha det s} trevligt !" 49 END 50 FOR I=1% TO 2000% : OUT 6%,11% : NEXT I : OUT 6%,0% 51 ; CHR$(12%)CUR(10%,18%)"ARRG" : ; : ; "ALIEN frossar som b{st p} dina in{lvor !" : GOTO 44 52 REM 53 REM *** SPELET G]R VIDARE *** 54 REM 55 Q%=RND*150%+300% : FOR G%=1% TO 3% 56 A%=RND*6%+1% : IF W%=A% THEN 56 ELSE W%=A% 57 ; CHR$(12%)CUR(10%,5%)"Du har "Q%" en. br{nsle kvar." 58 ; CUR(14%,5%)"Rapport fr}n datacentralen :" : POKE 65013%,0% 59 FOR I=1% TO 5000% : NEXT I : ; CHR$(12%) 60 ON A% GOTO 62,91,102,131,177,206 61 REM 62 REM *** METEORITSV[RM *** 63 REM 64 FOR I1%=0% TO 1023% : POKE 31744%+I1%,32% : NEXT I1% 65 ; CUR(8%,7%)"VARNING -- METEORITSV[RM !" 66 ; : ; TAB(17%)"F\RUT" 67 ; : ; "MAN\VRERA SKEPPET MED HJ[LP AV PILARNA !" 68 ; : ; TAB(14%)"LYCKA TILL" 69 FOR I=1% TO 2000% : NEXT I 70 FOR I=1% TO 2000% : OUT 6%,31% : NEXT I 71 ; CHR$(12%) : FOR I1%=0% TO 23% : ; CUR(I1%,0%)CHR$(151%); : NEXT I1% 72 A%=(RND*2%-1%)*35%+40% : A1%=RND*160%+200% 73 FOR I1%=1% TO A1% 74 IF A1%-I1%>71% THEN SETDOT 0%,RND*75%+5% : SETDOT 0%,RND*75%+5% 75 B%=INP(56%) : IF B%=136% AND A%>6% THEN A%=A%-1% : Q%=Q%-1% 76 IF B%=137% AND A%<75% THEN A%=A%+1% : Q%=Q%-1% 77 FOR J%=A% TO A%+3% : IF DOT(68%,J%) THEN 84 ELSE NEXT J% 78 A=CALL(65408%) 79 FOR J1%=69% TO 71% : FOR J%=A% TO A%+3% : SETDOT J1%,J% : NEXT J% : NEXT J1% 80 FOR J%=70 TO 71% : CLRDOT J%,A%-1% : CLRDOT J%,A%+4% : NEXT J% 81 FOR I=1% TO 50% : NEXT I : OUT 6%,17% : NEXT I1% : OUT 6%,0% 82 ; CHR$(12%)CUR(11%,9%)"PUUH - DU KLARADE DET !" : ; : ; TAB(17%)"BRAVO !!" 83 GOTO 206 84 REM * KROCK * 85 ; CUR(12%,16%)" KRASCH " : FOR I=1% TO 1000% : OUT 6%,11% : NEXT I 86 A=CALL(65500%) : FOR I%=0% TO 23% : ; CUR(I%,0%)CHR$(151%); : NEXT I% 87 FOR I=1% TO 700% : OUT 6%,11% : NEXT I 88 ; CHR$(12%) : FOR I=1% TO 2000% : NEXT I : OUT 6%,0% 89 ; CUR(10%,16%)"TYV[RR !" : ; : ; "DIN NAVIGATIONSF\RM]GA [R INTE DEN B[STA" 90 GOTO 45 91 REM 92 REM *** BENSINSKADA *** 93 REM 94 ; CUR(10%,16%)"VARNING !" : ; : ; TAB(11%)"DU TAPPAR BR[NSLE" 95 POKE 65008%,-1%,-1%,-1% 96 FOR I=1% TO 3000% : OUT 6%,23% : NEXT I : ; : ; "T{ta genom att ge koden f|r t{tning :" 97 A$="" : FOR I1%=1% TO RND*3%+4.5 : A$=A$+CHR$(RND*30%+65%) : NEXT I1% 98 ; : ; CUR(16%,10%)A$" "; 99 INPUT B$ : IF A$<>B$ THEN 98 100 A%=FNF*10%*RND : IF A%>Q% THEN A%=Q% 101 ; CHR$(12%)CUR(12%,4%)A%" en. br{nsle f|rlorades." : Q%=Q%-A% : GOTO 206 102 REM 103 REM *** ANFALLEN *** 104 REM 105 ; CHR$(7%)"ODEFINIERADE FLYGANDE F\REM]L N[RMAR SIG" 106 FOR I=1% TO 3000% : NEXT I : OUT 6%,0% : OUT 6%,137% 107 ; " VARNING !! - VI [R BESKJUTNA !" 108 ; : ; : ; "Enda f|rsvaret du har {r en energistr}lesom bara verkar p} mycket korta avst}nd." 109 ; : ; "Du skjuter genom att trycka p} RETURN !" 110 FOR I=1% TO 7000% : NEXT I 111 ; : ; "F|rem}len {r inom synh}ll:" 112 FOR I=1% TO 3000% : NEXT I 113 ; CHR$(12%) : FOR I1%=1% TO 23% : ; CUR(I1%,0%)CHR$(151%); : NEXT I1% 114 ; CUR(12%,18%)",,w" : T%=0% 115 FOR I1%=0% TO 4% : B%(I1%)=INT(RND*2%)*50%+RND*16%+4% : B1%(I1%)=INT(RND+.5)*50%+RND*20%+5% 116 B2%(I1%)=2%*INT(RND+.5)-1% : B3%(I1%)=2%*INT(RND+.5)-1% : NEXT I1% 117 ; CUR(0%,15%)"BR[NSLE"Q%" " : FOR I1%=0% TO 4% : IF B%(I1%)=0% THEN 123 118 C1%=B%(I1%)+B2%(I1%) : IF C1%>71% OR C1%<3% THEN B2%(I1%)=-B2%(I1%) : GOTO 118 119 C2%=B1%(I1%)+B3%(I1%) : IF C2%>78% OR C2%<3% THEN B3%(I1%)=-B3%(I1%) : GOTO 119 120 IF DOT(C1%,C2%) FOR J%=0% TO 4% : IF B%(J%)<>C1% OR B1%(J%)<>C2% NEXT J% : GOTO 37 121 CLRDOT B%(I1%),B1%(I1%) : SETDOT C1%,C2% 122 B%(I1%)=C1% : B1%(I1%)=C2% 123 NEXT I1% 124 IF INP(56%)<>141% OR Q%<1% THEN 117 ELSE OUT 6%,137% : Q%=Q%-6% 125 FOR I1%=0% TO 4% : IF B%(I1%)<33% OR B%(I1%)>39% OR B1%(I1%)<34% OR B1%(I1%)>45% THEN 127 126 OUT 6%,0% : OUT 6%,133% : CLRDOT B%(I1%),B1%(I1%) : B%(I1%)=0% : T%=T%+1% 127 NEXT I1% 128 IF T%<>5% THEN 117 129 FOR I=1% TO 2000% : NEXT I 130 ; CHR$(12%)CUR(12%,10%)"BRAVO KRISEN [R \VER !!" : GOTO 206 131 REM 132 REM FR[MMANDE VARELSE OMBORD 133 REM 134 POKE 31761%,193%,204%,193%,210%,205% 135 FOR I=1% TO 2000% : OUT 6%,7% : NEXT I 136 ; CUR(10%,0%)"EN FR[MMANDE VARELSE HAR BRUTIT SIG IN !" 137 RESTORE 140 : FOR I1%=0% TO RND*7% : READ A$ : NEXT I1% 138 FOR I=1% TO 2000% : OUT 6%,11% : NEXT I : OUT 6%,0% 139 ; "Den h}ller p} att f|rst|ra "A$ : ; : ; TAB(10%)"L[GET [R KRITISKT !!!" 140 DATA toaletten,maskinrummet,skeppet,datorn,matf|r}det,bes{ttningen,spritf|r}det 141 ; : ; "Du m}ste spr{nga rummet med varelsen !!!" 142 ; "Karta |ver sektionen f|ljer :" : FOR I=1% TO 7000% : NEXT I 143 ; CHR$(12%) : FOR I1%=1% TO 7% : ; CUR(I1%,0%)CHR$(151%); : NEXT I1% : T%=0% : A$="" 144 FOR I1%=8% TO 36% : FOR J%=4% TO 22% STEP 6% : SETDOT J%,I1% : NEXT J% : NEXT I1% 145 FOR I1%=8% TO 36% STEP 4% : FOR J%=4% TO 22% : SETDOT J%,I1% : NEXT J% : NEXT I1% 146 FOR I1%=1% TO 7% : ; CUR(O%,I1%*2%+2%)I1% : NEXT I1% 147 FOR I1%=1% TO 3% : ; CUR(I1%*2%,3%)CHR$(I1%+64%) : NEXT I1% 148 FOR I1%=0% TO 6% : FOR J%=0% TO 2% : C%(J%,I1%)=0% : NEXT J% : NEXT I1% : C1%=RND*3% : C2%=RND*7% 149 ; CUR(18%,0%)"VILKEN AVDELNING ?" 150 REM * VARELSEN B\RJAR F\RST\RA * 151 POKE 65008%,-1%,-1%,-1% 152 IF INP(56%)<>A% THEN A%=INP(56%) : IF A%>159% AND A%<201% A$=A$+CHR$(A%-128%) : ; CUR(18%,19%)A$ 153 IF LEN(A$)<>2% THEN 160 154 IF ASC(A$)>56% THEN A$=RIGHT$(A$,2%)+LEFT$(A$,1%) 155 A1%=ASC(A$)-49% : A2%=ASC(RIGHT$(A$,2%))-65% : IF A1%>6% OR A2%<0% THEN 159 156 IF C%(A2%,A1%)=10% THEN 159 ELSE C%(A2%,A1%)=10% 157 OUT 6,137 : Q%=Q%-RND*10% : IF C1%=A2% AND C2%=A1% THEN 173 158 GOSUB 170 159 A$="" : ; CUR(18%,19%)" " 160 IF FNF<3.5 THEN 152 161 A2%=C1% : A1%=C2% : C%(C1%,C2%)=10% : OUT 6%,0% : OUT 6%,153% : GOSUB 170 162 ; CUR(12%,0%)"VARELSEN F\RST\RDE RUM :"CHR$(C1%+65%)C2%+1% 163 C3%=RND*3%-1% : C4%=RND*3%-1% : IF C1%+C3%<0% OR C1%+C3%>2% OR C2%+C4%<0% OR C2%+C4%>6% THEN 163 164 C1%=C1%+C3% : C2%=C2%+C4% : IF C%(C1%,C2%)=10% THEN 163 165 IF T%<11% THEN 151 166 FOR I=1% TO 3000% : OUT 6%,11% : NEXT I 167 OUT 6%,0% : ; CHR$(12%)CUR(10%,18%)"ARRG" : ; 168 ; : ; : ; " DU BLEV UPP[TEN AV VARELSEN" 169 GOTO 45 170 REM * RUMMET F\RST\RT * 171 FOR J%=1% TO 3% : FOR J1%=1% TO 5% : SETDOT J1%+A2%*6%+4%,J%+A1%*4%+8% : NEXT J1% : NEXT J% 172 T%=T%+1% : RETURN 173 REM * TR[FF * 174 ; CUR(18%,0%)"BRAVO - MITT I PRICK - SKEPPET [R R[DDAT" 175 GOTO 206 176 REM 177 REM *** BOMBEN *** 178 REM 179 ; "HJ[LP !!!!!!" 180 ; : ; "En bomb har placerats i ditt skepp !!!!!" 181 ; "Du m}ste nu hitta den och snabbt !" : ; 182 FOR I=1% TO 2000% : OUT 6%,7% : NEXT I : OUT 6%,0% 183 A$="" : FOR I1%=0% TO 4% : B%(I1%)=INT(RND*2%)*63%+RND*31%+33% : A$=A$+CHR$(B%(I1%)) : NEXT I1% 184 ; "Genom en unders|kning ( genomf|rd medelsdolda kameror och bandspelare p} WCn )" 185 ; "har vi kommit fram till att bomben ser ut s} h{r :"CHR$(151%)A$ 186 ; : ; "Enda problemet {r vilket av f|ljande f|rem}l {r bomben ! - Du har n{mligen" 187 ; "bara tid till ett f|rs|k !" 188 FOR I=1% TO 15000%-F%*9000% : NEXT I 189 ; CHR$(12%) : FOR I1%=1% TO 18% : ; CHR$(151%) : NEXT I1% 190 T%=RND*24% : F%=1% 191 FOR I1%=0% TO 23% 192 B$="" : FOR J%=0% TO 4% 193 IF RND>.5 THEN B%=INT(RND*2%)*63%+RND*31%+33% ELSE B%=B%(J%) 194 B$=B$+CHR$(B%) : NEXT J% 195 IF A$=B$ THEN 192 196 IF I1%=T% THEN B$=A$ 197 ; CUR(I1%/4%*2%+1%,(I1%-I1%/4%*4%)*8%+4%)B$ : NEXT I1% 198 FOR J%=0% TO 3% : ; CUR(0%,J%*8%+5%)J%+1% : NEXT J% : FOR J%=1% TO 6% : ; CUR(J%*2%-1%,2%)CHR$(64%+J%) : NEXT J% 199 ; CUR(20%,0%)"VILKET F\REM]L"; : INPUT B$ : IF LEN(B$)<>2% THEN 199 200 IF ASC(B$)>56% THEN B$=RIGHT$(B$,2%)+LEFT$(B$,1%) 201 IF ASC(B$)-49%+(ASC(RIGHT$(B$,2%))-65%)*4%<>T% THEN 203 202 ; CUR(20%,0%)"BRAVO - DU KLARADE DIG (den h{r g}ngen)" : GOTO 206 203 ; CUR(20%,0%)"Tyv{rr - dina rester f|rorenar rymden !" 204 ; : ; "Bomben :"CHR$(151%)A$CHR$(131%)"var p} :"CHR$(T%/4%+65%)T%-T%/4%*4%+1%; 205 FOR I=1% TO 7000% : NEXT I : GOTO 36 206 FOR I=1% TO 3000% : NEXT I : Q%=5%*Q%/7% : IF Q%<1% THEN 50 ELSE NEXT G% 207 REM 208 REM *** SISTA STRAPATSEN *** 209 REM 210 ; CHR$(12%)CUR(8%,9%)"BEBOELIG PLANET F\RUT !" : ; 211 FOR I=1% TO 2000% : OUT 6%,7% : NEXT I : OUT 6%,0% 212 ; " NU G[LLER DET - LANDNINGEN !" 213 ; : ; TAB(13%)"LANDA ENLIGT :" 214 ; : ; TAB(20%)"1" : ; TAB(19%)"2 3" : ; TAB(20%)"4" : T%=0% 215 IF RND>.6 THEN ; : ; "Tyv{rr ser det ut som om styrningen har n}got fel men du klarar dig nog !" : T%=1% 216 FOR I=1% TO 6000% : NEXT I 217 ; CHR$(12%) : FOR I%=0% TO 23% : ; CUR(I%,0%)CHR$(151%); : NEXT I% 218 FOR I%=1% TO 12% : FOR J%=1% TO I%*4%+6% 219 SETDOT I%+59%,37%-I%*2%+J% : NEXT J% : NEXT I% 220 B1%=RND*10%+5% : B2%=RND*30%+3% : ; CUR(B1%,B2%)",,w" 221 A1%=RND*3%-1% : A2%=RND*3%-1% 222 IF INP(56%)=177% AND A1%>-1% THEN A1%=A1%-1% 223 IF INP(56%)=178% AND A2%>-1% THEN A2%=A2%-1% 224 IF INP(56%)=179% AND A2%<1% THEN A2%=A2%+1% 225 IF INP(56%)=180% AND A1%<1% THEN A1%=A1%+1% 226 C1%=A1%+B1% : C2%=A2%+B2% 227 IF C1%>23% THEN C1%=23% ELSE IF C1%<0% THEN C1%=0% 228 IF C2%>35% THEN C2%=35% ELSE IF C2%<1% THEN C2%=1% 229 ; CUR(B1%,B2%)" "; 230 IF DOT(C1%*3%+2%,C2%*2%) OR DOT(C1%*3%+1%,C2%*2%+7%) THEN 231 ELSE 233 231 POKE 31744%+C2%+C1%*128%-C1%/8%*985%,172%,172%,255%,237% 232 GOTO 41 233 ; CUR(C1%,C2%)",,w"; 234 B1%=C1% : B2%=C2% : IF (B2%=18% OR B2%=19%) AND B1%=19% AND A1%=0% AND A2%=0% THEN 237 235 IF T% IF RND>.95 THEN A1%=RND*3%-1% ELSE IF RND>.95 THEN A2%=RND*3%-1% 236 FOR I=1% TO 160% : NEXT I : GOTO 222 237 REM * SPELET VUNNET !! * 238 FOR I=1% TO 2000% : OUT 6%,7% : NEXT I : OUT 6%,0% 239 ; CUR(0%,0%)"BRAVO - DU HAR NU GETT M[NNISKORNA EN NY"; 240 ; TAB(10%)"V[RLD "; : FOR I=1% TO 5000% : NEXT I : ; "ATT F\RST\RA !" 241 POKE 65013%,0% : END 242 REM 243 REM *** MASKINSPR]KSSUBRUTINER *** 244 REM 245 REM * METEORITSV[RMEN * 246 RESTORE 250 : FOR I%=0% TO 84% : READ A% : POKE 65408%+I%,A% : NEXT I% 247 REM * VIT SK[RM * 248 POKE 65500%,17%,1%,124%,33%,0%,124%,54%,127%,1%,0%,4%,237%,176%,201% 249 RETURN 250 DATA 17,248,127,27,26,254,32,202,204,255,254,23,202,204,255,33,207,127,237,82,250,186 251 DATA 255,230,80,202,185,255,98,107,1,128,0,9,229,1,248,127,237,66,225,250,177 252 DATA 255,1,216,3,237,66,198,16,23,23,23,23,182,119,26,203,39,203,39,203,183 253 DATA 203,111,202,199,255,246,64,203,239,203,191,18,33,0,124,237,82,250,131,255,201