9 REM 10 REM ****************************** 11 REM * * 12 REM * ________DEFENCE___________ * 13 REM * G[LLER F O M 84-02-14 * 14 REM * KAJ TIM@N >4512< * 15 REM * Box 29 * 16 REM * 540 16 TIMMERSDALA * 17 REM * * 19 REM * * 20 REM ****************************** 21 ; CHR$(12%) 22 GOTO 30 23 FOR T%=1% TO LEN(A$) 24 ; CUR(10%,0%);LEFT$(A$,T%)">" 25 IF INP(56)=141 GOTO 35 26 FOR R=1 TO 100 : NEXT R : NEXT T% 27 IF INP(56)=141 GOTO 35 28 ; CUR(10%,38%);" " : FOR R%=1% TO 700% : NEXT R% 29 RETURN 30 A$=" DEFENCE " : GOSUB 23 33 A$=" Tryck p} RETURN " : GOSUB 23 34 GOTO 30 35 ; CHR$(12%) 36 GOTO 42 37 FOR A%=1% TO 3% : ; CUR(A%,0%);CHR$(151%) : NEXT A% 38 ; CUR(1%,7%);"k#+4k##%k##%k##%k1k!>#+4k##%" 39 ; CUR(2%,7%);'j 5j,5 j,5 j,5 jkz 5 j,5' 40 ; CUR(3%,7%);'zpx%zpp4z0 zpp4z0{0mpx%zpp4' 41 RETURN 42 GOSUB 37 43 ; : ; ' Spelet DEFENCE g}r ut p} att skjuta' 44 ; ' ned tre fientliga rymdskepp. Du har' 45 ; ' tre raketramper till din hj{lp. Fr}n' 46 ; ' b|rjan finns 5 rakter till varje ' 47 ; ' uppskjutningsramp. Fr}n och med det' 48 ; ' du klarat andra anfallsv}gen f}r du ' 49 ; ' 4 raketer i varje ramp. N{r du har' 50 ; ' tr{ffat alla skepp sker en samman-' 51 ; ' r{kning enligt f|ljande.' 52 ; ' F|r varje raket f}r du 3 po{ng och' 53 ; ' ett till{gg p} tiden med 5.' 54 ; ' Spelet {r slut n{r tiden {r ute ' 55 ; ' eller alla raketer {r slut.' 56 ; ' Du avfyrar raket ett med "," ,' 57 ; ' raket tv} med "." ock raket tre med' 58 ; ' "-".' 59 ; : ; ' TRYCK P] VALFRI TANGENT' 60 IF INP(56)>127 GOTO 61 ELSE 60 61 IF INP(56)=141 OR INP(56%)=249 OR INP(56%)=217 OR INP(56)<127 GOTO 60 ELSE 62 62 H2=.3 : H3=.2 : H4=.12 63 R5%=15% : A$="FIRST" 64 M1%=1% : M2=37% : M3=34 : M4=34 65 F1%=1% : F2%=1% : F3%=1% 66 K1%=1% : K2%=1% : K3%=1% 67 R1%=56% : R2%=47% : R3%=53% 68 T1%=2000% 69 S1$="5555" : S2$="5555" : S3$="5555" 70 GOTO 82 71 REM >>>>>>>> RITAR SPELPLANEN <<<<<< 72 ; CHR$(12%) : FOR A%=2% TO 22% : ; CUR(A%,0%);CHR$(151%) : NEXT A% 73 ; CUR(18%,10%);'x}~u `' 74 ; CUR(17%,14%);'x}pt >4` x}' 75 ; CUR(16%,19%);'` `|p' 76 ; CUR(20%,1%);'t >4 p|}p' 77 ; CUR(19%,4%);'` h} >4' 78 M1%=3% 79 ; CUR(21%,1%);'?////?////?////u `' 80 ; CUR(22%,1%);'5 5 5 }|' 81 RETURN 82 GOSUB 71 83 REM >>>>> HUVUDRUTIN <<<<<<<<<<<<<< 84 ; CUR(3%,0%);CHR$(151%) 85 ; CUR(0%,6%);'Score'P1% : ; CUR(0%,27%);'Time'T%' ' 86 IF R5%=0% GOTO 290 87 ; CUR(21%,3%);S1$ : ; CUR(21%,18%);S2$ : ; CUR(21%,31%);S3$ 88 T1%=T1%-1% 89 T%=T1%/10% 90 IF T1%<=0% GOTO 287 91 REM >>>>> KOLLAR AVFYRING <<<<<<<<< 92 IF INP(56%)=172% AND K1%=1% K1%=0% 93 IF K1%=0% GOSUB 104 94 IF INP(56%)=174% AND K2%=1% K2%=0% 95 IF K2%=0% GOSUB 123 96 IF INP(56%)=173% AND K3%=1% K3%=0% 97 IF K3%=0% GOSUB 143 98 GOSUB 173 99 GOSUB 180 100 IF M$="*" AND M2$="*" AND M3$="*" GOTO 293 101 IF M$='*' GOTO 83 102 GOSUB 163 103 GOTO 83 104 REM >>>>>>>> AVFYRAR KANON 1 <<<<<< 105 OUT 6,25% 106 R1%=R1%-1% 107 IF DOT(R1%,9%) GOTO 187 108 SETDOT R1%,9% : CLRDOT R1%+3%,9% 109 IF R1%=3% GOTO 111 110 RETURN 111 OUT 6,0 : K1%=1% 112 R5%=R5%-1% 113 ; CUR(1%,4%);" " 114 IF LEN(S1$)=1% K1%=3% : RETURN 115 S1$=LEFT$(S1$,LEN(S1$)-F1%) 116 F1%=F1%+1% 117 IF F1%>2% THEN F1%=2% 118 R1%=56% 119 S1$=S1$+" " 120 IF K1%=3% RETURN 121 FOR A%=56% TO 58% : SETDOT A%,9% : NEXT A% 122 RETURN 123 REM >>>>>>>> AVFYRAR KANON 2 <<<<<< 124 OUT 6,25% 125 R2%=R2%-1% 126 IF DOT(R2%,39%) GOTO 220 127 SETDOT R2%,39% : CLRDOT R2%+3%,39% 128 IF R2%=3% GOTO 130 129 RETURN 130 OUT 6,0% 131 R5%=R5%-1% 132 K2%=1% 133 ; CUR(1%,19%);" " 134 IF LEN(S2$)=1% K2%=3% : RETURN 135 S2$=LEFT$(S2$,LEN(S2$)-F2%) 136 F2%=F2%+1% 137 IF F2%>2% THEN F2%=2% 138 R2%=47% 139 S2$=S2$+" " 140 IF K2%=3% RETURN 141 FOR A%=47% TO 49% : SETDOT A%,39% : NEXT A% 142 RETURN 143 REM >>>>>>>> AVFYRAR KANON 3 <<<<<< 144 OUT 6,25% 145 R3%=R3%-1% 146 IF DOT(R3%,65%) GOTO 253 147 SETDOT R3%,65% : CLRDOT R3%+3%,65% 148 IF R3%=3% GOTO 150 149 RETURN 150 OUT 6,0% 151 R5%=R5%-1% 152 K3%=1% 153 ; CUR(1%,32%);" " 154 IF LEN(S3$)=1% K3%=3% : RETURN 155 S3$=LEFT$(S3$,LEN(S3$)-F3%) 156 F3%=F3%+1% 157 IF F3%>2% THEN F3%=2% 158 R3%=53% 159 S3$=S3$+" " 160 IF K3%=3% RETURN 161 FOR A%=53% TO 55% : SETDOT A%,65% : NEXT A% 162 RETURN 163 REM >>>>> 100 p SKEPPET <<<<<<< 164 IF M1%=1% GOTO 169 165 IF M$="*" RETURN 166 M1%=1% 167 M2=38% 168 RETURN 169 ; CUR(2%,M2);"`t " 170 M2=M2-H2 171 IF M2<=2% THEN M1%=0% : ; CUR(2%,2%);' ' : M2=37% 172 RETURN 173 REM >>>> 25 p SKEPP ETT <<<< 174 IF M2$="*" RETURN 175 ; CUR(4%,M3);'xm0 ' 176 ; CUR(5%,M3);'"' : ; CUR(5%,M3+1%);"' " 177 M3=M3-H3 178 IF M3<=2% THEN M3=35% : ; CUR(4%,2%);' ' : ; CUR(5%,2%);' ' 179 RETURN 180 REM >>>> 10 p SKEPP ETT <<<< 181 IF M3$="*" RETURN 182 ; CUR(7%,M4);"x{' " 183 ; CUR(8%,M4);'"/- ' 184 M4=M4-H4 185 IF M4<=2% THEN M4=35% : ; CUR(7%,2%);' ' : ; CUR(8%,2%);' ' 186 RETURN 187 REM >>>> OM RAKET 1 TR[FFAR <<<< 188 OUT 6,137% 189 IF R1%<10% GOTO 213 190 IF R1%<28% AND R1%>22% GOTO 191 ELSE 202 191 M3$="*" 192 P1%=P1%+10% 193 ; CUR(6%,M4-1%);'`18#' 194 ; CUR(7%,M4-1%);'rf y' 195 ; CUR(8%,M4);'0r q' 196 ; CUR(9%,4%);' ' 197 FOR A%=1% TO 1500% : NEXT A% 198 ; CUR(6%,M4-1%);' ' 199 ; CUR(7%,M4-1%);' ' 200 ; CUR(8%,M4);' ' 201 GOTO 111 202 IF R1%<22% AND R1%>10% GOTO 203 ELSE 212 203 M2$="*" 204 P1%=P1%+25% 205 ; CUR(4%,M3-1%);'1c 0' 206 ; CUR(5%,M3);'$`!' 207 FOR A%=1% TO 1500% : NEXT A% 208 ; CUR(4%,M3-2%);' ' 209 ; CUR(5%,M3-1%);' ' 210 ; CUR(6%,3%);' ' 211 GOTO 111 212 RETURN 213 P1%=P1%+100% 214 ; CUR(2%,3%);CHR$(135%);'*';CHR$(151%) 215 ; CUR(3%,4%);' ' 216 FOR A%=1% TO 1500% : NEXT A% 217 ; CUR(2%,3%);' ' 218 M$="*" 219 GOTO 111 220 REM >>> OM RAKET 2 TR[FFAR <<< 221 OUT 6,137% 222 IF R2%<10% GOTO 246 223 IF R2%>22% AND R2%<28% GOTO 224 ELSE 235 224 M3$="*" 225 P1%=P1%+10% 226 ; CUR(6%,M4-1%);'`18#' 227 ; CUR(7%,M4-1%);'rf y' 228 ; CUR(8%,M4);'0r q' 229 ; CUR(9%,19%);' ' 230 FOR A%=1% TO 1500% : NEXT A% 231 ; CUR(6%,M4-2%);' ' 232 ; CUR(7%,M4-2%);' ' 233 ; CUR(8%,M4-1%);' ' 234 GOTO 130 235 IF R2%<22% AND R1%>10% GOTO 236 ELSE 245 236 M2$="*" 237 P1%=P1%+25% 238 ; CUR(4%,M3-1%);'360' 239 ; CUR(5%,M3);'2 x `' 240 FOR A%=1% TO 1500% : NEXT A% 241 ; CUR(4%,M3-1%);' ' 242 ; CUR(5%,M3);' ' 243 ; CUR(6%,19%);' ' 244 GOTO 130 245 RETURN 246 P1%=P1%+100% 247 ; CUR(2%,18%);CHR$(135%);'*';CHR$(151%) 248 ; CUR(3%,19%);' ' 249 FOR A%=1% TO 1500% : NEXT A% 250 ; CUR(2%,18%);' ' 251 M$='*' 252 GOTO 130 253 REM >>> OM RAKET 3 TR[FFAR <<< 254 OUT 6,137% 255 IF R3%<10% GOTO 280 256 IF R3%>21% AND R3%<29% GOTO 258 257 GOTO 269 258 M3$="*" 259 P1%=P1%+10% 260 ; CUR(6%,M4-1%);'`18#' 261 ; CUR(7%,M4-1%);'rf y' 262 ; CUR(8%,M4);'0r q' 263 ; CUR(9%,32%);' ' 264 FOR A%=1% TO 1500% : NEXT A% 265 ; CUR(6%,M4-1%);' ' 266 ; CUR(7%,M4-1%);' ' 267 ; CUR(8%,M4);' ' 268 GOTO 150 269 IF R3%<22% AND R1%>10% GOTO 270 270 M2$="*" 271 P1%=P1%+25% 272 ; CUR(4%,M3-2%);'(`h`' 273 ; CUR(5%,M3-1%);')8a' 274 FOR A%=1% TO 1500% : NEXT A% 275 ; CUR(4%,M3-2%);' ' 276 ; CUR(5%,M3-1%);' ' 277 ; CUR(6%,32%);' ' 278 GOTO 150 279 RETURN 280 P1%=P1%+100% 281 ; CUR(2%,31%);CHR$(135%);'*';CHR$(151%) 282 ; CUR(3%,32%);' ' 283 FOR A%=1% TO 1500% : NEXT A% 284 ; CUR(2%,31%);' ' 285 M$="*" 286 GOTO 150 287 ; CUR(9%,15%);'GAME OVER' 288 ; CUR(10%,9%);'YOU HAVE NO MORE TIME' 289 GOTO 356 290 ; CUR(9%,15%);'GAME OVER' 291 ; CUR(10%,7%);'YOU HAVE NO MORE MISSILES' 292 GOTO 356 293 REM >>>>>> PAUS <<<<<<<<<<<<<<<<< 294 ; CHR$(12%) 295 GOSUB 71 296 IF K1%=3% OR K1%=0% GOTO 297 ELSE 298 297 FOR A%=56% TO 58% : CLRDOT A%,9% : NEXT A% 298 IF K2%=3% OR K2%=0% GOTO 299 ELSE 300 299 FOR A%=47% TO 49% : CLRDOT A%,39% : NEXT A% 300 IF K3%=3% OR K3%=0% GOTO 301 ELSE 302 301 FOR A%=53% TO 55% : CLRDOT A%,65% : NEXT A% 302 ; CUR(1%,1%);CHR$(135%)'THE 'A$' WAVE OF ENEMIES ANNIHILATED' 303 FOR A%=1% TO 2000% : NEXT A% 304 FOR A%=1% TO R5% 305 P1%=P1%+3% 306 ; CUR(4%,6%);"MISSILES";CHR$(151%) 307 ; CUR(6%,5%);CHR$(135%);'SCORE'P1% 308 ; CUR(8%,5%);CHR$(135%);'TIME'T% 309 T%=T1%/10% 310 T1%=T1%+50% 311 ; CUR(4%,18%+B%);'5' 312 B%=B%+1% 313 ; CHR$(7%) 314 FOR C%=1% TO 2000% : NEXT C% 315 NEXT A% 316 ; CUR(4%,6%);"MISSILES";CHR$(151%) 317 ; CUR(6%,5%);CHR$(135%);'SCORE'P1% 318 ; CUR(8%,5%);CHR$(135%);'TIME'T% 319 IF A$="FIRST" GOTO 320 ELSE GOSUB 330 320 FOR A%=1% TO 9900% : NEXT A% 321 H2=H2+.1 : H3=H3+.1 : H4=H4+.1 322 M1$="" : M2$="" : M3$="" : M$="" 323 B%=0% : B1%=B1%+1% 324 IF A$="FIRST" THEN A$="SECOND" 325 ; CUR(12%,5%);CHR$(135%);'PRESS DOWM ANY KEY' : IF INP(56)>127 GOTO 326 ELSE 325 326 FOR A%=1% TO 13% 327 ; CUR(A%,0%);CHR$(151%);' ' 328 NEXT A% 329 GOTO 83 330 REM >>>> BONUS <<<<<<<<<<<< 331 ; CUR(10%,1%);;CHR$(135%);"YOU GET MORE MISSILES" 332 FOR A%=1% TO 12%-R5% 333 ; CUR(4%,18%+B%);CHR$(135%)"+"CHR$(151%) 334 ; CUR(4%,20%+B%+A%);"j" 335 ; CHR$(7%) 336 FOR \%=1% TO 2000% : NEXT \% 337 NEXT A% 338 IF A$="NINTH" A$="TENTH" 339 IF A$="EIGHTH" A$="NINTH" 340 IF A$="SEVENTH" A$="EIGHTH" 341 IF A$="SIXTH" A$="SEVENTH" 342 IF A$="FIFTH" A$="SIXTH" 343 IF A$="FOURTH" A$="FIFTH" 344 IF A$="THIRD" A$="FOURTH" 345 IF A$="SECOND" A$="THIRD" 346 S1$="555 " 347 S2$="555 " 348 S3$="555 " 349 FOR A%=56% TO 58% : SETDOT A%,9% : NEXT A% 350 FOR A%=47% TO 49% : SETDOT A%,39% : NEXT A% 351 FOR A%=53% TO 55% : SETDOT A%,65% : NEXT A% 352 K1%=1% : K2%=1% : K3%=1% 353 R5%=12% 354 R1%=56% : R2%=47% : R3%=53% 355 RETURN 356 REM >>>> SLUTAR <<<<<<<<<<<< 357 B%=0% 358 OUT 6%,-21% 359 FOR A%=1% TO 1500% : NEXT A% 360 ; CUR(9%,15%);" " 361 IF INP(56)>127 AND INP(56)<>141 GOTO 371 362 FOR A%=1% TO 1500% : NEXT A% 363 ; CUR(9%,15%);"GAME OVER" 364 B%=B%+1% 365 IF B%>6% GOSUB 367 366 GOTO 359 367 ; CUR(11%,11%);"PRESS DOWM ANY KEY" 368 GOSUB 37 369 IF INP(56)>127 AND INP(56)<>141 GOTO 371 370 RETURN 371 OUT 6,0 372 ; CHR$(12%) 373 Q$="-" 374 IF P1%<=Y3% GOTO 386 375 GOSUB 37 376 ; : ; : ; : ; " PLEASE WRITE YOUR NAME." 377 ; CUR(9%,0%);" > < RESULT >"P1%" <" 378 Q$="+" 379 ; CUR(9%,3%); : INPUTLINE R$ 380 R$=LEFT$(R$,LEN(R$)-2%) 381 IF LEN(R$)>15% THEN R$=LEFT$(R$,15%) 382 IF P1%>Y1% THEN Y3$=Y2$ : Y2$=Y1$ : Y1$=R$ 383 IF P1%>Y1% THEN Y3%=Y2% : Y2%=Y1% : Y1%=P1% : GOTO 386 384 IF P1%>Y2% THEN Y3%=Y2% : Y2%=P1% : Y3$=Y2$ : Y2$=R$ : GOTO 386 385 IF P1%>Y3% THEN Y3%=P1% : Y3$=R$ 386 ; CHR$(12%) : GOSUB 37 387 GOTO 394 388 FOR T%=1% TO LEN(Y$) 389 ; CUR(\1%,\2%)LEFT$(Y$,T%);"" 390 FOR R%=1% TO 500% : NEXT R% : NEXT T% 391 ; CUR(\1%,\2%+LEN(Y$));' ' 392 FOR R%=1% TO 1500% : NEXT R% 393 RETURN 394 ; CUR(5%,1%);"RESULTLIST" 395 Y$="1. "+Y1$ : \1%=7% : \2%=5% : GOSUB 388 396 Y$=NUM$(Y1%) : \2%=30% : GOSUB 388 397 Y$="2. "+Y2$ : \1%=9% : \2%=5% : GOSUB 388 398 Y$=NUM$(Y2%) : \2%=30% : GOSUB 388 399 Y$="3. "+Y3$ : \1%=11% : \2%=5% : GOSUB 388 400 Y$=NUM$(Y3%) : \2%=30% : GOSUB 388 401 M$="" : M1$="" : M2$="" : M3$="" 402 Y$="YOUR SCORE WAS"+NUM$(P1%) : \1%=13% : \2%=5% : GOSUB 388 403 P1%=0% 404 B%=0% 405 \1%=15% : \2%=5% : Y$="DO YOU WANT TO PLAY MORE (Y/N)?" : GOSUB 388 406 ; CUR(15%,37%); : GET Y$ 407 IF Y$="n" OR Y$="N" GOTO 410 408 IF Y$="Y" OR Y$="y" GOTO 35 409 GOTO 406 410 ; : ; : ; " I HOPE YOU ENJOYED THE GAME" 411 FOR A%=1% TO 8000% : NEXT A% 412 FOR A%=1% TO 12% 413 ; : FOR B%=1% TO 500% : NEXT B% : NEXT A% 414 ; " THE END" 415 FOR A%=1% TO 12% 416 ; : FOR B%=1% TO 500% : NEXT B% : NEXT A% 417 IF INP(56)>127 END ELSE 417 418 END