10 ? "}":POKE 710,0:POSITION 10,10:? "BITTE WARTEN!" 90 SC=0:EN=0:MIS=1 100 DIM A$(44),B$(18),P(4):P(1)=14:P(3)=24:P(2)=7:P(4)=13 105 FOR A=1 TO 18:READ B:B$(A)=CHR$(B):NEXT A 106 DATA 104,104,133,207,104,133,206,104,104,168,169,0,145,206,136,208,251,96 110 CH=(PEEK(106)-8)*256:IF PEEK(203)=1 THEN 10000 120 FOR A=1 TO 44:READ B:A$(A)=CHR$(B):NEXT A 130 DATA 104,201,3,208,254,162,6,104,149,211,202 140 DATA 208,250,230,212,230,213,198,212,208,4,198 150 DATA 213,240,18,161,216,129,214,230,216,208,2 160 DATA 230,217,230,214,208,234,230,215,208,230,96 170 X=USR(ADR(A$),57344,CH,1024):RESTORE 31000 171 FOR A=33 TO 58:FOR B=1 TO 6:READ C:POKE CH+A*8+B,C:NEXT B:NEXT A 172 FOR A=16 TO 25:FOR B=1 TO 6:READ C:POKE CH+A*8+B,C:NEXT B:NEXT A:POKE CH+399,3 180 READ A:IF A=-1 THEN POKE 203,1:GOTO 10000 190 FOR B=0 TO 7:READ C:POKE CH+A*8+B,C:NEXT B:GOTO 180 1000 GRAPHICS 28:POKE 708,148:POKE 709,248:POKE 710,188:POKE 711,54:POKE 756,CH/256 1005 POKE 53249,100:POKE 705,248:POKE 559,46:POKE 53277,3:POKE 53256,0:POKE 54279,CH/256 1006 X=USR(ADR(B$),CH+640,128):POKE 623,4 1010 ME=20+SG*2:EN=EN+1000+SG*100*(SC=0) 1020 POSITION 19,8:? #6;"*" 1030 POSITION 17,9:? #6;"!";CHR$(34);"+#$" 1040 COLOR 7:PLOT 15,10:DRAWTO 22,10:POSITION 23,10:? #6;"," 1050 POSITION 17,11:? #6;"%&+'(" 1060 POSITION 19,12:? #6;")" 1070 FOR A=1 TO 20 1080 X=INT(RND(0)*40):Y=INT(RND(0)*19):LOCATE X,Y,Z:IF Z<>32 THEN 1080 1090 COLOR INT(RND(0)*3):PLOT X,Y:NEXT A 1091 COLOR 139:PLOT 0,20:DRAWTO 39,20 1092 POSITION 1,21:? #6;"SCORE : ";SC:POSITION 20,21:? #6;"PRESS TRIGGER" 1093 POSITION 1,23:? #6;"ENERGY : ";EN;" MISSION : ";MIS 1100 FOR A=1 TO 2 1110 FOR Q=1 TO 4:COLOR (A+2+1*(Q/2=INT(Q/2)))*(A=1)+32*(A=2) 1115 SOUND 0,0,0,0:GOSUB 2000:PLOT X1,Y1:DRAWTO X2,Y2:SOUND 0,96,12,5:NEXT Q:NEXT A 1120 IF STRIG(0) THEN 1100 1129 REM *** Teil 1 (ASTEROIDS) *** 1130 POSITION 20,21:? #6;" ASTEROIDS ":SOUND 0,0,0,0 1150 Q=INT(RND(0)*4)+1:GOSUB 2000 1160 XA=X2:YA=Y2:XE=X1:YE=Y1:XS=XA:YS=YA 1170 XZ=SGN(XE-XA):YZ=SGN(YE-YA):P=Q 1180 REM *** Hauptschleife Teil 1 *** 1190 COLOR 32:PLOT XA,YA:XA=XA+XZ:YA=YA+YZ 1200 IF XA=XE+XZ AND YA=YE+YZ THEN EN=EN-5:GOSUB 2100:GOSUB 2200:GOTO 1150 1210 COLOR 133:PLOT XA,YA 1220 ST=STICK(0):IF ST=15 THEN 1190 1230 Q=1*(ST=11)+2*(ST=14)+3*(ST=7)+4*(ST=13):IF Q=0 THEN 1190 1235 GOSUB 2000:S=Q 1240 COLOR 3+1*(Q/2=INT(Q/2)) 1250 IF P<>S THEN 1300 1260 PLOT X1,Y1:DRAWTO XA+XZ*(XA<>XE),YA+YZ*(YA<>YE):COLOR 134:PLOT XA,YA 1270 FOR A=20 TO 200 STEP 5:SOUND 0,A,0,8:NEXT A:SOUND 0,0,0,0 1275 SC=SC+50-ABS(XA-XS)*ABS(XZ)-ABS(YA-YS)*ABS(YZ) 1280 GOSUB 2200:COLOR 32:PLOT X1,Y1:DRAWTO XA,YA:ME=ME-1:IF ME=0 THEN 3000 1290 GOTO 1150 1300 PLOT X1,Y1:DRAWTO X2,Y2:SOUND 0,96,12,5:COLOR 32:PLOT X1,Y1 1310 DRAWTO X2,Y2:SOUND 0,0,0,0:EN=EN-5:GOSUB 2200:GOTO 1190 2000 IF Q/2<>INT(Q/2) THEN 2020 2010 X1=19:X2=X1:Y2=(P(Q)=7)*0+(P(Q)=13)*19:Y1=P(Q):RETURN 2020 Y1=10:Y2=Y1:X2=(P(Q)=14)*0+(P(Q)=24)*39:X1=P(Q):RETURN 2100 COLOR 134:PLOT XA-XZ,YA-YZ 2110 FOR A=0 TO 1000 STEP 20:SOUND 0,A,0,5:NEXT A:SOUND 0,0,0,0 2120 COLOR 32:PLOT XA-XZ,YA-YZ 2130 IF EN=0 THEN GOSUB 2200:GOTO 2500 2140 RETURN 2200 POSITION 10,23:? #6;EN;" ";:POSITION 10,21:? #6;SC 2210 IF EN<=0 THEN 2500 2220 RETURN 2500 POP :POSITION 3,2:? #6;"DU HAST DEINE ENERGY VERSCHWENDET.":COLOR 139:PLOT 3,3:DRAWTO 36,3 2510 SOUND 1,0,0,0:FOR A=1 TO 15000 STEP 200:SOUND 0,A,10,15-A/1000:NEXT A:SOUND 0,0,0,0 2520 GOTO 5000 2999 REM *** Teil 2 (HUMAN RESCUE) *** 3000 HU=20+SG*3:GOSUB 2200 3010 FX=19:FY=13:MX=INT(RND(0)*38)+1 3020 POSITION 20,21:? #6;"PRESS TRIGGER" 3030 SOUND 0,50,10,5:FOR A=1 TO 200:NEXT A:SOUND 0,0,0,0 3040 IF STRIG(0) THEN 3040 3050 POSITION 20,21:? #6;"HUMAN RESCUE " 3059 REM *** Hauptschleife Teil 2 *** 3060 LOCATE FX,FY,FZ:IF FZ=10 THEN EN=EN-20:GOSUB 2200 3070 COLOR 137:PLOT FX,FY:EN=EN-1:GOSUB 2200:GOSUB 4000:GOSUB 4500 3075 IF FX=19 AND FY=13 AND HU=0 AND STICK(0)=14 THEN 6000 3080 ST=STICK(0):IF ST<>15 THEN 3090 3082 SOUND 1,0,0,0:IF STRIG(0)=0 THEN GOSUB 4600 3084 GOSUB 4000:GOSUB 4500:GOTO 3080 3090 SOUND 1,255,2,2:COLOR FZ:PLOT FX,FY 3100 FX=FX+(ST<8)*(FX<39)-(ST>8 AND ST<12)*(FX>0) 3110 FY=FY+(ST=5 OR ST=9 OR ST=13)*(FY<18)-(ST=6 OR ST=10 OR ST=14)*(FY>13) 3120 GOTO 3060 3999 REM *** Menschen bewegen *** 4000 IF MX=-1 THEN RETURN 4010 COLOR 32:PLOT MX,19:A=RND(0) 4020 MX=MX-(A<=0.5)*(MX>0)+(A>0.5)*(MX<39) 4030 COLOR 8:PLOT MX,19:SOUND 0,0,0,5:SOUND 0,0,0,0:RETURN 4499 REM *** Wolken aufbauen *** 4500 IF RND(0)<0.95-SG/100 THEN RETURN 4510 X1=INT(RND(0)*39):Y1=INT(RND(0)*6)+13:COLOR 10:PLOT X1,Y1:RETURN 4599 REM *** Saugstrahl *** 4600 POKE 53249,FX*4+48:FOR A=CH+712+(FY-13)*4 TO CH+735:POKE A,240:NEXT A 4610 SOUND 0,100,12,4 4620 IF FX=MX THEN 4640 4630 EN=EN-10:GOSUB 2200:X=USR(ADR(B$),CH+640,128):SOUND 0,0,0,0:RETURN 4640 COLOR 32:PLOT MX,19:FOR A=19 TO FY+1 STEP -1:LOCATE FX,A,C:COLOR 8:PLOT FX,A 4650 FOR B=1 TO 20:NEXT B:COLOR C:PLOT FX,A:NEXT A 4660 SC=SC+100+(18-FY)*2:GOSUB 2200:HU=HU-1 4670 X=USR(ADR(B$),CH+640,128):SOUND 0,0,0,0:IF HU=0 THEN MX=-1:RETURN 4680 MX=INT(RND(0)*38)+1:RETURN 5000 FOR A=1 TO 40:POSITION 20,21:? #6;" PRESS START " 5010 FOR B=1 TO 20:GOSUB 5100:NEXT B 5020 POSITION 20,21:? #6;" " 5030 FOR B=1 TO 20:GOSUB 5100:NEXT B:NEXT A:GOTO 10000 5100 IF PEEK(53279)<>6 THEN RETURN 5110 RUN 6000 POSITION 1,3:? #6;"APPLAUS...ALLE MENSCHEN SIND GERETTET." 6010 COLOR 139:PLOT 1,4:DRAWTO 38,4:SOUND 1,0,0,0 6020 FOR A=0 TO 15 STEP 0.1:SOUND 0,5,0,A:NEXT A 6030 FOR A=1 TO 300:NEXT A:FOR A=15 TO 0 STEP -0.1:SOUND 0,5,0,A:NEXT A 6040 MIS=MIS+1:SG=SG+1*(SG<3) 6050 GOTO 1000 9999 REM *** Vorspann *** 10000 GRAPHICS 0:POKE 82,0:POKE 622,255:OPEN #1,4,0,"E":POKE 710,0:POKE 752,1:? CHR$(125) 10010 POKE 705,2:POKE 712,2:A=PEEK(560)+256*PEEK(561):POKE A+28,2:RESTORE 30000 10020 FOR A=1 TO 11 10030 READ A$,XP,L:POSITION XP,23:? A$ 10040 FOR B=1 TO L:? :NEXT B:NEXT A 10050 POSITION 1,14:? "Schwierigkeitsgrad : 0":? " mit SELECT waehlen":SG=0 10060 POSITION 2,18:? "Druecke START um zu beginnen..." 10070 IF PEEK(53279)=6 THEN CLOSE #1:GOTO 1000 10080 IF PEEK(53279)<>5 THEN 10070 10090 SG=SG+1:IF SG=4 THEN SG=0 10100 POSITION 22,14:? SG 10110 FOR A=0 TO 30:SOUND 0,A,10,7:SOUND 0,0,0,0:NEXT A:GOTO 10070 30000 DATA C O S M I S C H E A R C H E,5,10 30010 DATA JB'84 25.12.1984,9,10 30020 DATA ********************,10,1 30030 DATA ***,19,1 30040 DATA **********,15,1 30045 DATA ************,14,1 30050 DATA **************,13,10 30060 DATA TEIL 1 : ASTEROIDS,1,1 30070 DATA ABWEHR DER UMHERFLIEGENDEN ASTEROIDEN.,1,3 30080 DATA TEIL 2 : HUMAN RESCUE,1,1 30090 DATA RETTUNG DER LETZTEN UEBERLEBENDEN.,1,13 31000 DATA 48,204,136,168,204,204,240,204,160,160,204,240,60,192,128,128,192,60 31010 DATA 240,204,136,136,204,240,252,192,128,160,192,252,252,192,128,160,192,192 31020 DATA 60,192,128,136,204,60,204,204,136,168,204,204,252,48,32,32,48,252 31030 DATA 12,12,8,136,204,48,204,204,160,160,204,204,192,192,128,128,192,252 31040 DATA 204,252,136,136,204,204,204,252,168,168,204,204,48,204,136,136,204,48 31050 DATA 240,204,136,160,192,192,48,204,136,136,204,60,240,204,136,160,240,204 31060 DATA 60,192,128,32,12,240,252,48,32,32,48,48,204,204,136,136,204,252 31070 DATA 204,204,136,136,204,48,204,204,136,136,252,204,204,204,32,32,204,204 31080 DATA 204,204,136,32,48,48,252,12,32,128,192,252,168,136,136,136,136,168 31090 DATA 32,160,32,32,32,168,168,8,8,168,128,168,168,8,32,8,8,160,136,136,136,170,8,8 31100 DATA 168,128,128,168,8,168,168,128,168,136,136,168,168,8,8,40,32,32 31110 DATA 168,136,136,168,136,168,168,136,168,8,8,168 32000 DATA 1,0,0,0,0,1,5,22,90 32010 DATA 2,1,5,22,90,106,170,170,170 32020 DATA 3,64,80,148,165,169,170,170,170 32030 DATA 4,0,0,0,0,64,80,148,165 32040 DATA 5,90,22,5,1,0,0,0,0 32050 DATA 6,170,170,170,106,90,22,5,1 32060 DATA 7,170,170,170,169,165,148,80,64 32070 DATA 8,165,148,80,64,0,0,0,0 32080 DATA 9,105,105,105,105,105,40,0,0 32090 DATA 10,0,0,40,105,105,105,105,105 32100 DATA 11,170,170,170,170,170,170,170,170 32105 DATA 12,85,85,40,40,40,40,85,85 32110 DATA 64,0,0,48,0,0,0,0,0 32120 DATA 65,0,0,0,0,12,0,0,0 32130 DATA 66,0,0,0,0,0,0,3,0 32140 DATA 67,0,0,170,170,170,170,0,0 32150 DATA 68,40,40,40,40,40,40,40,40 32160 DATA 69,0,48,236,255,63,59,12,0 32170 DATA 70,3,204,0,44,11,48,204,3 32180 DATA 71,85,85,42,42,42,42,85,85 32190 DATA 72,32,32,0,252,48,48,204,204 32200 DATA 73,0,20,85,170,60,170,85,20 32210 DATA 74,0,48,252,255,255,255,60,0 32220 DATA 75,255,255,0,0,0,0,0,0 32767 DATA -1