Zeichensatz UTF-8+Z1013()+CTRL()-ohne Umlaute(äöüß)
10 DIM C$(40):DIM A(400):BORDER 1:PAPER 1:INK 3
20 CLS
30 TT=0
40 INK 3:CR=0:LL=100
50 DEF FN ZU(X)=INT(400*RND(I))+1
60 PRINT:PRINT "****************************************"
70 PRINT:PRINT TAB(15)"GANYMED":PRINT
80 PRINT "****************************************"
90 INPUT "WIRD EINE ANLEITUNG BENOETIGT ?(Y/N) ? ";A$
100 IF A$="N"THEN 160
110 CLS
120 FOR I=1 TO 24:READ C$
130 PRINT C$
140 IF I>15 THEN PAUSE 20
150 NEXT I:INPUT "START MIT >ENTER< !";A:CLS
160 GOSUB 1430
170 PRINT "SIE SIND JETZT AUF GANYMED GELANDET":PRINT
180 PRINT "SIE SIND IN RAUM "
190 OU=FN ZU(I)
200 IF A(OU)<>ASC(".")GOTO 190
210 OT=FN ZU(I)
220 IF A(OT)<>ASC(".")THEN 210
230 E=FN ZU(I)
240 IF A(E)<>ASC(".") THEN 230
250 A(E) = ASC(""):PRINT E
260 OG=ASC("")
270 IF INKEY$=" " THEN RETURN
280 PRINT
290 PRINT "HIER IST EINE KARTE DER RAUEME !"
300 PAUSE 40
310 GOSUB 330
320 GOTO 560
330 CLS:PAPER 5:WINDOW 0,19,0,19:CLS:WINDOW:REM KARTE ZEIGEN
340 FOR I=1 TO 400
350 PRINT;INK 8;CHR$(A(I));
360 IF 20*INT(I/20)=I THEN PRINT
370 A$=INKEY$:IF A$=" "THEN A$="":PAPER 1:RETURN
380 A$=""
390 NEXT I
400 WINDOW 0,23,21,37:PAPER 1:CLS
410 PRINT;INK 2;"ERKLAERUNG :"
420 PRINT
430 PRINT;INK 7;" - SIE":PRINT
440 PRINT "^- BEAM-STRAHLEN":PRINT
450 PRINT "- VERSPERRT ":PRINT
460 PRINT "U- FALLGRUBE":PRINT
470 PRINT "M- MONSTER":PRINT
480 PRINT;INK 2;"- KRISTALL":PRINT
490 PRINT " N"
500 PRINT "WO"
510 PRINT " S"
520 FOR I=1 TO 8:PRINT AT(INT(E/20),E-1-20*INT(E/20));" " :PAUSE 3
530 PRINT;INK 2;AT(INT(E/20),E-1-20*INT(E/20));"":PAUSE 3:NEXT I
540 WINDOW:CLS
550 RETURN
560 REM DIALOG
570 CLS
580 PRINT "KRISTALLANZAHL :";CR
590 PRINT:PRINT;INK 6;"SAUERSTOFF FUER";LL;"RAEUME"
600 PRINT
610 FOR I=0 TO 37
620 PRINT "";
630 NEXT I:PRINT
640 PRINT "SIE BEFINDEN SICH IN RAUM:";E
650 FOR I=0 TO 37:PRINT "";:NEXT I:PRINT
660 PRINT:PRINT "LAGEMELDUNG DES COMPUTERS"
670 PRINT:PRINT "NORDEN :",CHR$(A(E-20))
680 PRINT "SUEDEN :",CHR$(A(E+20))
690 PRINT "OSTEN :",CHR$(A(E+1))
700 PRINT "WESTEN :",CHR$(A(E-1))
710 PRINT:PRINT "WELCHE RICHTUNG WOLLEN SIE GEHEN ?"
720 PRINT "(N/S/O/W) ?":OG =E
730 A$=INKEY$
740 IF LEN(A$)=0 THEN 730
750 BEEP:PRINT
760 IF A$="N" AND A(E-20)<>ASC("")THEN E=E-20
770 IF A$="S" AND A(E+20)<>ASC("")THEN E=E+20
780 IF A$="O" AND A(E+1)<>ASC("")THEN E=E+1
790 IF A$="W" AND A(E-1)<>ASC("")THEN E=E-1
800 IF A$="@" THEN GOSUB 330
810 A$=""
820 IF A(E)= ASC("") THEN GOSUB 940
830 IF A(E)= ASC("^") THEN GOTO 990
840 IF A(E)= ASC("M") THEN GOSUB 1270
850 IF A(E)= ASC("U") THEN GOTO 1050
860 LL=LL-1
870 IF LL=50 OR LL=20 THEN GOSUB 2220
880 IF LL=0 THEN 1960
890 A(OG)=ASC(".")
900 A(E)= ASC("")
910 IF RND(2)>.8 THEN GOSUB 330
920 IF E=OT OR E=OU THEN 1670
930 GOTO 560
940 REM KRISTALL GEFUNDEN
950 X=INT(RND(3)*3)+2:CR=CR+X:INK 2
960 PRINT "SIE HABEN";X;" KRISTALLE GEFUNDEN,GESAMT :";CR
970 PAUSE 20:INK 3
980 CLS:RETURN
990 REM BEAMSTRAHL
1000 INK 6:PRINT "SIE WURDEN WEGGEBEAMT !"
1010 E=FN ZU(I)
1020 IF A(E)=ASC("")THEN 1010
1030 PRINT "SIE BEFINDEN SICH JETZT IN RAUM :";E
1040 PAUSE 40:CLS:INK 3:GOTO 830
1050 REM FALLGRUBE
1060 CLS
1070 PRINT:PRINT "SIE SIND IN EINE FALLGRUBE GEFALLEN !":PAUSE 15
1080 FOR I=1 TO 24
1090 X$=""
1100 INK 2:PRINT STRING$(40,X$)
1110 PRINT SPC(40)
1120 NEXT I:INK 3
1130 X=INT(RND(3)*10)+1
1140 IF X>8 THEN CLS:PRINT:PRINT "ABER EIN MONSTER HAT SIE GERETTET !"
1150 IF X>8 THEN Y=INT(RND(3)*CR)+1:PRINT:PRINT "ES VERLANGT DAFUER";Y;
1160 IF X>8 THEN PRINT " KRISTALLE ":CR=CR-Y
1170 IF X>8 THEN PAUSE 25:GOTO 860
1180 CLS
1190 BORDER 5:PAPER 5:PRINT:PRINT "SIE SIND AUSSERHALB VON GANYMED ."
1200 PRINT:PRINT "ENDSTAND :";CR;" KRISTALLE"
1210 PRINT:IF CR<30 THEN PRINT "DAS REICHT ABER NICHT,LEBEN SIE WOHL":GOTO 2160
1220 PRINT:PRINT "DAS GENUEGT ZUM RUECKFLUG !
1230 PRINT:PRINT "SIE ERHALTEN FUER DIE KRISTALLE";1.5*CR;"MILL.DOLLAR"
1240 IF CR>TT THEN TT=CR
1250 PRINT:PRINT "DER BESTE ERHIELT BISHER";1.5*TT;"MILL.DOLLAR"
1260 GOTO 2160
1270 REM BEGEGNUNG MIT MONSTER
1280 K=INT(RND(3)*4)+1:INK 6
1290 PRINT "SIE SIND EINEM MONSTER BEGEGNET"
1300 PAUSE 40
1310 IF K<4 THEN PRINT "ES HAT SIE GESEHEN !"
1320 PAUSE 20: IF K<4 THEN GOSUB 2000
1330 PRINT "ABER ES IST FREUNDLICH "
1340 IF K=2 THEN S=INT(RND(3)*30)+1:PRINT "UND GIBT IHNEN";S;" KRISTALLE"
1350 IF K=2 THEN CR=CR+S
1360 IF K=3 THEN PRINT "UND NIMMT NUR"
1370 IF K=3 AND CR>0 THEN S=INT(RND(0)*CR):ELSE S=0
1380 IF K=3 THEN PRINT:PRINT;S;" KRISTALLE !":CR=CR-S
1390 IF K>3 THEN PRINT "ES SCHLAEFT !"
1400 PRINT "GESAMTSTAND";CR;"KRISTALLE"
1410 PAUSE 40:INK 3
1420 RETURN
1430 CLS:PRINT "BITTE WARTEN":REM INIT-TEIL
1440 FOR I=1 TO 400
1450 A(I)=ASC(".")
1460 IF I<=20 OR I>=380 THEN A(I)=ASC("")
1470 IF I=20*INT(I/20)THEN A(I)=ASC("")
1480 NEXT I
1490 FOR I=21 TO 381 STEP 20:A(I)=ASC(""):NEXT I
1500 FOR I=20 TO 380 STEP 20:A(I)=ASC(""):NEXT I
1510 PRINT "BITTE WARTEN,BILDAUFBAU":REM HINDERNISSE
1520 FOR I=1 TO 40
1530 C=FN ZU(I)
1540 IF A(C)=ASC(".") THEN A(C)=ASC(""):NEXT I:FOR I=1 TO 25
1550 C=FN ZU (I)
1560 IF A(C)=ASC(".") THEN A(C)=ASC("M")
1570 C=FN ZU(I)
1580 IF A(C)=ASC(".") THEN A(C)=ASC("^")
1590 C=FN ZU(I)
1600 IF A(C)=ASC(".")THEN A(C)=ASC("U")
1610 NEXT I
1620 FOR I=1 TO 80
1630 C=FN ZU(I)
1640 IF A(C)=ASC(".") THEN A(C)=ASC("")
1650 NEXT I
1660 RETURN
1670 REM GEHEIMGANG
1680 PAPER 6:CLS:PRINT " SIE SIND IN EINEM GEHEIMGANG !"
1690 PAUSE 20:GOTO 1230
1700 REM INSTRUKTIONEN
1710 DATA " INSTRUKTIONEN ZU GANYMED.II"
1720 DATA ""
1730 DATA ""
1740 DATA "SIE BEFINDEN SIH AN BORD VON FLUG 7/18"
1750 DATA "DER XYLENIUMSUCHFLOTTE,IHRE AUFGABE IST"
1760 DATA "SOVIEL WIE MOEGLICH XYLENIUMKRISTALLE"
1770 DATA "ZU FINDEN UND DAMIT ZURUECKZUKEHREN ."
1780 DATA "GANYMED BESTEHT AUS EINEM LABYRINTH"
1790 DATA "VON 400 RAEUMEN."
1800 DATA "SIE KOENNEN FOLGENDE UEBERRASCHUNGEN"
1810 DATA "ERLEBEN :1. VERSCHLOSSENE RAEUME"
1820 DATA " 2.^ MATERIEBEAMER DIE SIE "
1830 DATA " WEGTRANSPORTIEREN"
1840 DATA " 3.M MONSTER DIE UNBERECHENBAR"
1850 DATA " SIND."
1860 DATA " 4.U FALLGRUBEN, DURCH DIE SIE"
1870 DATA " HERAUSKOMMEN
1880 DATA "
1890 DATA "UND NATUERLICH AUCH KRISTALLE. AUCH "
1900 DATA "DIE MONSTER KOENNEN KRISTALLE GEBEN !"
1910 DATA "IHR SAUERSTOFF REICHT FUER 100 RAEUME"
1920 DATA "SIE BRAUCHEN MINDESTENS 30 KRISTALLE"
1930 DATA "FUER DEN RUECKFLUG,VON DENEN JEDES"
1940 DATA "KRISTALL AUF DER ERDE 1,5 MILL. DOLLAR BRINGT"
1950 DATA "ICH WUNSCHE IHNEN VIEL GLUECK !"
1960 PRINT;INK 2;"IHRE LEBENSERHALTUNGSSYSTEME SIND AUF NULL"
1970 PRINT "IRGENDWANN WIRD EIN MONSTER SIE BEERDIGEN"
1990 GOTO 2160
2000 CLS
2010 X$="":PRINT "ES KOMMT AUF SIE ZU !!"
2020 PRINT AT(10,0);STRING$(40,X$)
2030 PRINT AT(9,35);""
2040 IF K=1 THEN FOR I=0 TO 34
2050 IF K<>1 THEN FOR I=0 TO 33
2060 PRINT AT(9,I);" &"
2070 PAUSE 2
2080 NEXT I
2090 IF K<>1 THEN RETURN
2100 FOR I=1 TO 30
2110 PRINT STRING$(40,X$)
2120 NEXT I
2130 CLS
2140 PRINT "ES HAT SIE GEFRESSEN"
2150 GOTO 2160
2160 PRINT "WOLLEN SIE NEU BEGINNEN(Y/N)?"
2170 INPUT A$
2180 IF A$="Y"THEN GOTO 40
2190 CLS
2200 PRINT AT(10,15);"NA DANN NICHT !"
2210 PAUSE 100:CLS:END
2220 FOR I=1 TO 10
2230 PRINT;INK 2;AT(20,2);"DENKEN SIE AN DEN SAUERSTOFFVORRAT !!":PAUSE 3 :BEEP
2240 PRINT AT(20,2);" ":PAUSE 3
2250 NEXT I
2260 RETURN