1 REM Ins{nd av Daniel Deimert <5439> 1987-08-29 12.49.40 (KERMIT) 10 ! LANDNING.800 11 ! 12 ! ********************************************************************** 13 ! ** 14 ! ** LANDNING.800 ett spel av Niclas Wiberg 82-01-10 15 ! ** men.............konverterat fr}n ABC80 till ABC800 av 16 ! ** <5439> Daniel Deimert 87-08-21. 17 ! ** 18 ! ** Ins{nt av <5439> Daniel Deimert 19 ! ** 20 ! ** F|r ABC806 kr{vs DOTOPT.BAC av Kristoffer Eriksson. P} ABC806 21 ! ** utg}r tyv{rr de flesta ljudeffekterna. 22 ! ** Tyv{rr har ljudeffekterna blivit mycket s{mre {n orginalet, men 23 ! ** det {r en f|ljd av ABC800-ans ljudgenerator... 24 ! ** 25 ! ********************************************************************* 26 ! ** 27 ! ** Date / Rev / Sign / Note 28 ! ** 820110 / 2.0 / Niclas Wiberg. / Program f|r ABC80. 29 ! ** 870821 / 3.0 / Daniel Deimert / Konverterat till ABC800. 30 ! ** 31 ! ** 32 ! ** 33 ! ********************************************************************* 34 ! ** 35 ! ** 100 INTEGER : NO EXTEND 101 WIDTH 40 ! tas bort om man har annat {n 806. 102 DIM L0(3),L1(3),L2(3),X(15),Y(15) 103 T=12 : T1=9 104 ; CHR$(12) " "; : A$="ABC800 presenterar" 105 FOR N=1 TO LEN(A$) : ; MID$(A$,N,1) CHR$(127,8); 106 Z=INP(5) : FOR I=0 TO 150 : NEXT I 107 FOR I=0 TO 300 : NEXT I 108 NEXT N 109 ; " " : ; : ; 110 FOR N=0 TO 2000 : NEXT N 111 ; CHR$(147) TAB(T) "u`5>/4>/45 5" 112 ; CHR$(147) TAB(T) "7655 55 5} 5" 113 ; CHR$(147) TAB(T) "5%55 55 55e5" 114 ; CHR$(147) TAB(T) '5 55 55 55"5' 115 ; CHR$(147) TAB(T) "% %+/!+/!% %" 116 ; : ; 117 ; CHR$(148) TAB(T1) "5 `e 5 5?/4?/%?/4" 118 ; CHR$(148) TAB(T1) '5 6"4} 55 55 5 5' 119 ; CHR$(148) TAB(T1) "5 ?/55e55 5?/ ??!" 120 ; CHR$(148) TAB(T1) '5 5 55"55 55 5i' 121 ; CHR$(148) TAB(T1) "//%% %% %//!//%% %" 122 ; CUR(22,1) 'Till ABC800 av <5439> Daniel Deimert'; 123 FOR N=0 TO 200 STEP 5 : FOR I=0 TO 3 124 Z=INP(5) : FOR J=0 TO N : NEXT J : NEXT I : NEXT N 125 DATA 251,3,249,1 126 FOR N=0 TO 3000 : NEXT N 127 ; CHR$(12) TAB(14) "MOON LANDER" 128 ; CHR$(146) TAB(14) "###########" 129 ; 130 ; "Du befinner dig i en landningskapsel en" 131 ; TAB(5) "bit ovanf|r marken p} m}nen." 132 ; 133 ; "Ditt uppdrag {r att ta dig ner p} n}gon" 134 ; TAB(3) "av de fyra plattformar som finns." 135 ; " Du f}r olika mycket po{ng beroende p}" 136 ; "hur ""h}rt"" du landar, samt sv}righets-" 137 ; TAB(4) "graden p} just den plattformen." 138 ; TAB(31) CHR$(149) "`|0" 139 ; TAB(5) "S} h{r ser din kapsel ut :" CHR$(149) "h/4" 140 ; TAB(31) CHR$(149) '! "' 141 ; " Du har en b{rraket ned}t, och en styr-" 142 ; "raket p} varje sida. Huvudraketen kan du"; 143 ; TAB(5) "anv{nda med tre olika styrkor." 144 ; : ; : ; TAB(13) "Tryck " : ; : ; 145 GET A$ : IF A$<>CHR$(13) 145 146 ; CHR$(12) TAB(14) "MOON LANDER" 147 ; CHR$(146) TAB(14) "###########" 148 ; 149 ; " Du man|vrerar kapseln enligt f|ljande:" 150 ; 151 ; " B{rraketen : L,\ och [ (L {r starkast)" 152 ; TAB(6) "Styrraketerna : ""A"" och ""S""." 153 ; 154 ; " Obs !! Du har bara en begr{nsad m{ngd" 155 ; TAB(5) "br{nsle. G|r inte slut p} den!" 156 ; : ; " Du f}r dock mer br{nsle i bonus om du" 157 ; TAB(10) "g|r en bra landning." 158 ; : ; TAB(6) "Nedf|rminskad ser" GCYA "5 j" 159 ; TAB(6) "bilden ut s} h{r," GCYA "5 _j" 160 ; TAB(6) "och plattformarna" GCYA '} __ "#o' 161 ; TAB(6) "{r markerade med " GCYA "4 h4 pz" 162 ; TAB(6) '"_". ' GCYA "5 j5 /o" 163 ; TAB(6) " " GCYA "5_ju0_j" 164 ; TAB(23) GCYA "//////////" 165 ; : ; TAB(13) "Tryck "; 166 GET A$ : IF A$<>CHR$(13) 166 167 RESTORE 169 168 FOR N=0 TO 3 : READ L0(N),L1(N),L2(N),L3(N) : NEXT N 169 DATA 20,33,41,1 170 DATA 57,23,27,4 171 DATA 7,65,72,6 172 DATA 55,63,69,10 173 FOR N=0 TO 15 : READ X(N),Y(N) : NEXT N 174 DATA 0,2,0,3,1,1,1,2,1,3,1,4 175 DATA 2,2,2,3,3,1,3,2,3,3,3,4 176 DATA 4,1,4,4,5,0,5,5 177 B.=57. : P=0 178 ; CHR$(12); : RESTORE 180 179 FOR N=0 TO 21 : READ A$ : ; GYEL A$; : NEXT N : ; " Br{nsle :" CHR$(146) : ; " Po{ng :";P; 180 DATA "5 j" 181 DATA " j" 182 DATA "5 j" 183 DATA "0 `~" 184 DATA "}0 h" 185 DATA "|p ""/" 186 DATA "} ##/" 187 DATA "u """ 188 DATA "0 p||||||p x" 189 DATA "5 ~} `p|||" 190 DATA "% j5 x" 191 DATA "? ~u h" 192 DATA "u  j" 193 DATA "0 k """ 194 DATA "u ""? ""/" 195 DATA " k5 ##/o" 196 DATA " ju " 197 DATA "4 ""4 j" 198 DATA "5 t z" 199 DATA "0 j|pp x" 200 DATA "}pppp~" 201 DATA "///////////////////////////////////////" 202 FOR N=22 TO 21+B. : SET DOT 66,N : SET DOT 67,N : NEXT N 203 X.=0. : Y.=4. : X0.=0. : Y0.=.5 204 X=X. : Y=Y. 205 X0=X. : Y0=Y. 206 REM # M A I N L O O P 207 IF X=X0 AND Y=Y0 212 208 FOR N=0 TO 15 : CLR DOT X0+X(N),Y0+Y(N) : NEXT N 209 FOR N=0 TO 15 : IF DOT(X+X(N),Y+Y(N)) 226 210 SET DOT X+X(N),Y+Y(N) : NEXT N 211 X0=X : Y0=Y 212 X.=X.+X0. : Y.=Y.+Y0. : X0.=X0.+.1 213 A$='' : IF SYS(5) THEN GET A$ 214 IF A$="A" Y0.=Y0.+.1 : Z=INP(5.) : B.=B.-.1 215 IF A$="S" Y0.=Y0.-.1 : Z=INP(5) : B.=B.-.1 216 IF A$="L" X0.=X0.-.3 : Z=INP(5) : B.=B.-.15 217 IF A$="\" X0.=X0.-.2 : Z=INP(5) : B.=B.-.1 218 IF A$="[" X0.=X0.-.1 : Z=INP(5) : B.=B.-.05 219 X=X. : Y=Y. 220 IF X<0 225 221 FOR N=0 TO 3 : IF X=L0(N) AND Y>L1(N) AND Y1. OR ABS(Y0.)>.2 THEN X=X0 : Y=Y0 : GOTO 226 232 FOR K=0 TO 5 : READ I : OUT 34,138 : FOR F=0 TO J : NEXT F : NEXT K 233 P0=(1.1-X0.)*500*L3(N) : P=P+P0 : ; CUR(23,8) P; 234 B0.=B.+P0/200 : IF B0.>57. THEN B0.=57. 235 IF INT(B.)>=B0. 237 ELSE B.=B.+1. : OUT 34,137 : SET DOT 66,21+B. : SET DOT 67,21+B. 236 FOR N=0 TO 300 : NEXT N : GOTO 235 237 FOR K=0 TO 4000 : NEXT K : GOTO 178 238 DATA 251,1000,3,1000,249,1000,251,1500,249,1000,3,2000