'-*----------------------------------------*- ' * JUDITH V1.0a * ' * * ' * Copyright ©1993 by Testaware * ' * Released ®25.07.93 by Volker Stepprath * '-*----------------------------------------*- ' ' Dim XMAZE(25,25) Global XMAZE(),XMUS,XNAME$,XVERSTANDEN,JX,JXALT,JY,JYALT,XWORT$,XKOBOLD Global XSTREICHHOLZ,XKARTE,XHEBEL,XMAUER,XTRAUM,XTALER,XBETTLER,XWAECHTER ' Close Workbench Request Off Break Off ' Unpack 15 To 0 Screen Hide Hide ' Timer=0 XMUS=True ' _INTRO _NAMEN _GESCHICHTE _INSTALLGAME _SPIELSTART _SPIELENDE ' Request On End ' Procedure _INTRO Wait 150 Unpack 14 To 1 Fade 2,,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF : Wait 40 Fade 2,,$600,$800,$A20,$A40,$C60,$C80,$EC0 : Wait 200 Fade 2,,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF : Wait 40 Fade 2 : Wait 30 ' Unpack 16 To 1 Screen Hide Cls 0 For I=1 To 7 : Colour I,$0 : Next I Screen Show _TEXT["presentiert",221,110] : Fade 2,,$FFF : Wait 140 : Fade 2 : Wait 80 : Cls 0 _TEXT["ein adventure von",165,98] _TEXT["VOLKER STEPPRATH",124,119] : Fade 2,,$FFF : Wait 220 : Fade 2 : Wait 80 ' Unpack 14 To 1 Cls 0 _TEXT["JUDITH",82,1] : Fade 2,,$F00 : Wait 220 : Fade 2 : Wait 30 End Proc Procedure _NAMEN _BLATTKLEIN ' Ink 1,2 For I=1 To 3 Read N$ L=Text Length(N$) Text 315-L/2,83+I*9,N$ Next I _TEXT["*",306,137] : Ink 2 Fade 2,,$631 : Wait 30 ' Repeat Repeat N$="" Clear Key While N$="" : N$=Upper$(Inkey$) : Wend N=Asc(N$) If N<>13 If N<>8 and Len(XNAME$)<8 XNAME$=XNAME$+N$ End If If N=8 and Len(XNAME$)>0 XNAME$=Left$(XNAME$,Len(XNAME$)-1) End If Bar 97,135 To 538,179 If XNAME$="" : _TEXT["*",306,137] : End If _TEXT[XNAME$,315-(25*Len(XNAME$))/2,137] End If Until N=13 Until XNAME$<>"" ' Colour 1,$DA7 : Bar 94,63 To 538,179 : Wait 40 _TEXT["Wer aufgehoert hat zu",125,87] _TEXT["traeumen, der hat keine",110,110] _TEXT["Zukunft mehr zu erwarten",94,132] Fade 2,,$631 : _WAIT Colour 1,$DA7 : Bar 97,63 To 538,179 : Wait 40 ' Data "Bevor du dich in dieses Abenteuer begibst," Data "wÜrde ich gerne von dir wissen, mit" Data "welchen Namen du angesprochen werden möchtest:" End Proc Procedure _GESCHICHTE For I2=1 To 7 Ink 1,2 For I=0 To 12 Read N$ L=Text Length(N$) Text 315-L/2,70+I*9,N$ Next I Fade 2,,$421 : Wait 30 _WAIT If I2<>7 Ink 2 : Bar 97,63 To 538,179 : Wait 18 Colour 1,$DA7 End If Next I2 ' Fade 2 : Wait 50 ' Data "Es war ein strahlender Sonntagnachmittag." Data "Wie immer ging ich bei solch einem Wetter zum Bach" Data "hinnunter ins Tal. Und wie gewöhnlich steckte ich" Data "mir zuvor ein Buch von Margaret Mitchell ein." Data "Sie war meine Lieblingsautorin und ich genoß Zeile" Data "fÜr Zeile ihres Schaffens sobald ich die Zeit zum" Data "Lesen fand. Und heute wollte ich mir viel Zeit zum" Data "Genießen erlauben. Ich setzte mich also an einen" Data "alten Baum und begann mit dem fÜnften Kapittel von" Data '"Vom Winde Verweht". Ich war unglaublich vertieft' Data "in meiner Phantasie welche die gelesenen Worte in" Data "erinnerungsfähigen Bilder umwandelte, als sich" Data "plötzlich meine Kehle vor Durst zuschnÜrte." ' Data "Ich erhob mich, ging zum Ufer des Baches und" Data "sprengte mir ein wenig Wasser ins Gesicht. Nach" Data "dem zweiten Mal erspÜrte ich etwas merkwÜrdiges" Data "mit den Fingerspitzen. Ich umschloss es vorsichtig" Data "mit meiner ganzen Hand, hatte aber zugleich das" Data "GefÜhl als wÜrde dieses unbekannte Etwas ebenfalls" Data "meine Hand behutsam zu fassen versuchen. Ich" Data "erschrak. Riß meine Hand aus dem Wasser und stieß" Data "einen etwas unbeholfenen Schrei aus. Im gleichen" Data "Moment vernahm ich den angstvollen Laut einer" Data "weiblichen Stimme. Mit aufgerissenen Augen" Data "durchkämmte ich die buschreiche Umgebung mit meinen" Data "Blicken ohne mich nur einen Millimeter zu bewegen." ' Data "Mein Blick verharrte letztlich auf die" Data "Uferbegrenzung des Baches. Gepackt von meiner" Data "Neugier bewegte ich mich vorsichtig auf allen" Data "vieren auf das Gewässer zu. Mißtrauisch sah ich auf" Data "die Wasseroberfläche und erblickte mein... nein..." Data "ihr... sie war wundervoll. Das Spiegelbild welches" Data "durch den Glanz der auftreffenden Sonnenstrahlen" Data "einen eindrucksvollen liebreiz auf mich einÜbte," Data "gehörte diesem Mädchen das meinen Bezug zur" Data "Realität völlig auf den Kopf stellte." Data 'Nervös stammelte ich vor mich hin: "Wer... wer' Data 'bist du". "Judith". In diesem Augenblick wusste' Data "ich, daß dies nicht nur ein Streich meiner Phantasie" ' Data "oder meiner Einbildungskraft war. Sie hatte mir" Data "mit ihrer warmenherzigen Stimme das GefÜhl einer" Data "Geborgenheit gegeben, das ich bisher in dieser Form" Data "noch nicht kannte. Sie war kein Trugbild. Sie war" Data 'ein Teil von mir und meinen Träumen. "Sag, was machst' Data 'du hier im Wasser", unterbrach sie eine Zeit des' Data 'Schweigens. "Ich bin nicht im... ich meine ich sitze' Data 'am Ufer". "Aber wie ist all dies möglich, ich kann es' Data 'mir einfach nicht erklären". "Mir geht es genauso",' Data "unterbrach ich sie ohne einen Blick von ihr zu wenden." Data "In der darauf folgenden Zeit stellten wir uns eine" Data "Unmenge von Fragen. So erfuhren wir, daß zwischen" Data "uns eine Zeitspanne von 300 Jahren lag." ' Data "Judith lebte also im Jahre 1693. Sollte eine Liebe" Data "wirklich unabhängig von Raum und Zeit, von jeglicher" Data "Dimension bestehen können. Sie konnte es. Denn was" Data "wir fÜr einander in dieser kurzen Zeit empfanden war" Data "unbeschreiblich und wiederum so einfach und" Data "unkompliziert. Wir suchten nach einen Weg der" Data "Zweisamkeit. Ein jeder konnte sich das Leben ohne" Data "den anderen nicht mehr vorstellen. Doch wie sollte" Data "man sich einen Zeitsprung veranschaulichen. Sofern" Data "es eine Möglichkeit gab, mußte sie frei von jeglicher" Data "Logik und Gesetzmäßigkeiten sein. Eine Lösung," Data "unbeinflusst gesellschaftlicher Maßstäbe. Etwas, das" Data "keiner Kontrolle unterliegt, aber dennoch erklärbar" ' Data 'ist. Ein Traum. "Judith", rief ich hastig, "ich habe' Data 'es. Du mußt träumen. Du mußt dir in deinen Traum einen' Data 'Weg in die Zukunft suchen". Sie entgegnete mir sehr' Data 'besonnen: "Ich empfinde so viel fÜr dich, aber was ist' Data 'wenn ich mich verirren sollte. Dann gäbe es kein' Data 'ZurÜck. Ich währe eine Gefangene meiner WÜnsche, ja' Data 'meiner selbst". Ich spÜrte ihre Verzweiflung. Aber' Data 'ich spÜrte auch ihre Liebe. "Und was währe wenn ich dir' Data 'bei deiner Suche zur Seite stehe, wenn ich versuchen' Data 'wÜrde fÜr dich den Weg zu finden". Sie sah mich an.' Data 'Ihr Blick drang tief durch mich hindurch. Wir wussten' Data 'auf was wir uns einlassen wÜrden, konnten einander' Data 'jedoch nicht widerstehen !' Data " " ' Data " "," "," "," " Data "Zugleich schlossen wir die Augen und träumten ein" Data "gemeinsammes Erlebnis..."," "," "," "," "," "," "," " End Proc Procedure _INSTALLGAME Unpack 16 To 1 Screen Hide For I=0 To 7 : Colour I,0 : Next I Pen 2 : Paper 0 ' '* Wort fÜr Wächter festlegen '* --------------------------- Randomize Timer Restore "_WORT"+Str$(Rnd(3))-" " Read XWORT$ ' '* Labyrinth auswählen & installieren '* ---------------------------------- Randomize Timer Restore "_MAZE"+Str$(Rnd(1))-" " For I=0 To 25 Read N$ For I2=0 To 25 XMAZE(I2,I)=Val(Mid$(N$,I2+1,1)) Next I2 Next I ' XMAZE(1,1)=100 : JX=1 : JY=1 : Rem * Startpunkt von Judith XTRAUM=0 XWAECHTER=0 XSTREICHHOLZ=5 XKARTE=5 XHEBEL=10 XMAUER=3 XABGRUND=3 XTALER=3 XBETTLER=3 XKOBOLD=3 Repeat X=Rnd(23)+1 : Y=Rnd(23)+1 : N=False If XSTREICHHOLZ If XMAZE(X,Y)=0 : XMAZE(X,Y)=2 : Dec XSTREICHHOLZ : End If N=True End If If XKARTE If XMAZE(X,Y)=0 : XMAZE(X,Y)=3 : Dec XKARTE : End If N=True End If If XHEBEL If XMAZE(X,Y)=1 : XMAZE(X,Y)=4 : Dec XHEBEL : End If N=True End If If XMAUER If XMAZE(X,Y)=0 : XMAZE(X,Y)=5 : Dec XMAUER : End If N=True End If If XABGRUND If XMAZE(X,Y)=0 : XMAZE(X,Y)=6 : Dec XABGRUND : End If N=True End If If XTALER If XMAZE(X,Y)=1 : XMAZE(X,Y)=7 : Dec XTALER : End If N=True End If If XBETTLER If XMAZE(X,Y)=1 : XMAZE(X,Y)=8 : Dec XBETTLER : End If N=True End If If XKOBOLD If XMAZE(X,Y)=1 : XMAZE(X,Y)=9 : Dec XKOBOLD : End If N=True End If Until N=False '* ---------------------------------- ' '* Text nach oben Ziehen '* --------------------- Def Scroll 1,14,103 To 310,239,0,-1 Def Scroll 2,334,103 To 628,239,0,-1 '* --------------------- ' '* Namen schreiben '* --------------- _TEXT[XNAME$,158-(Len(XNAME$)*25/2),49] _TEXT["JUDITH",405,49] '* --------------- ' Screen Show Fade 3 To 0 If XMUS Then Music 1 Wait 50 ' _WORT0: Data "HOFFNUNG" _WORT1: Data "LIEBE" _WORT2: Data "GLAUBE" _WORT3: Data "GEFUEHL" ' _MAZE0: Data "11111111111111111111111111","10000100000000100010000001","11110101111110001010111111" Data "10000111000000111010000001","10111100011111100000111101","10100001110000001110100001" Data "10101111000111111000111111","10000000011101000011100001","10111011110001011110001101" Data "10001000000100010000100101","11111011111101110110111101","10100000000100000000000101" Data "10001011110111111111111101","11111010010001000000000001","10100010110101011111111101" Data "10111110100101010000000101","10000000111101010111110101","11011010000001010100010101" Data "10000010111111010101010101","10111110100001010111010101","10100000001111010000010101" Data "10111111111011011111110101","10000000000001000000000101","11111111110101111111111101" Data "10000000000100000000000101","11111111111111111111111111" ' _MAZE1: Data "11111111111111111111111111","10101000001000100010001011","10001110100010001000100001" Data "10100000111111111111111011","10111010100000000000010001","10001011101111111111011101" Data "11101000000000000001000101","10001111111011111101010001","10111000001010000001011101" Data "10001011101010111100000111","11101010000000100001010001","10001011111111101111111111" Data "11111010000000001010010001","10000011111111101010110101","10101000000000100010010001" Data "10111111111110110111010101","10100000000010000001010001","10111111111011111111010101" Data "10000000001000100000000001","10101111111011111111011111","10100000001000000001010001" Data "10111111111111111100010101","10100010000000010111000101","10101011111101010100010111" Data "10001000000001000001010001","11111111111111111111111111" End Proc Procedure _SPIELSTART _KOMMENTAR[0] _JUDITH[XNAME$+", ich befinde mich in eine"] _JUDITH["Art Labyrinth. Aber es ist furchtbar"] _JUDITH["finster hier. Wohin soll ich gehen ?"] ' Do _PLAYER[">_"] T$="" XVERSTANDEN=False Repeat N$="" While N$="" : N$=Inkey$ : Wend N=Scancode Clear Key If N=26 or N=41 or N=42 Then N=0 : N$="" : Rem * Kein ü Ö Ä ' If N=66 and Length(3)>0 : Rem * Tab & Music If XMUS=True XMUS=False Music Off Else XMUS=True Music 1 End If N=0 : N$="" End If ' If Key Shift=8 : Rem * -Ctrl If N=80 : Rem * -F1 T$="Zeige die Karte" N$=Chr$(13) End If If N=81 : Rem * -F2 T$="Betaetige den Hebel" N$=Chr$(13) End If If N=82 : Rem * -F3 T$="Hebe den Taler auf" N$=Chr$(13) End If If N=83 : Rem * -F4 T$="Gebe den Taler" N$=Chr$(13) End If If N=84 : Rem * -F5 T$="Wecke den Waechter auf" N$=Chr$(13) End If If N=93 : Rem * -* Inc XKARTE : Inc XSTREICHHOLZ : N$="" End If If N=43 : Rem * -# XTALER=1 N$="" End If If N>0 and N<11 : Rem * -1 bis 0 Restore For I=1 To 4 Read X,Y Add X,JX : X=Max(1,X) : X=Min(24,X) Add Y,JY : Y=Max(1,Y) : Y=Min(24,Y) If XMAZE(X,Y)>0 and XMAZE(X,Y)<11 XMAZE(X,Y)=N End If Next I N$="" End If End If ' N=Asc(N$) ' If N=27 : XTRAUM=-3 : Exit : End If ' If N>27 and N<32 If N=28 : T$="Gehe nach Osten" : End If If N=29 : T$="Gehe nach Westen" : End If If N=30 : T$="Gehe nach Norden" : End If If N=31 : T$="Gehe nach Sueden" : End If N=13 End If ' If N<>13 and N>0 If N<>8 and Len(T$)<35 T$=T$+Chr$(N) Text 27,236,T$+"_" End If If N=8 If Len(T$)>0 T$=Left$(T$,Len(T$)-1) Text 27,236,T$+"_ " End If End If End If Until N=13 ' If T$<>"" Text 27,236,T$+Space$(36-Len(T$)) _GEHE[T$] If XVERSTANDEN=False : _DRUECKHEBEL[T$] : End If If XVERSTANDEN=False : _ZEIGEKARTE[T$] : End If If XVERSTANDEN=False : _NEHMETALER[T$] : End If If XVERSTANDEN=False : _GEBETALER[T$] : End If If XVERSTANDEN=False : _WECKEWAECHTER[T$] : End If If XVERSTANDEN=False : _SAGEGRUND[T$] : End If If XVERSTANDEN=False : _ZEIGE[T$] : End If If XVERSTANDEN=False : _WASSOLLDAS[T$] : End If If XVERSTANDEN=False : _NICHTVERSTANDEN : End If End If Clear Key Exit If XTRAUM Loop ' If XMUS Music Off End If ' Data 0,-1,1,0,0,1,-1,0 End Proc Procedure _GEHE[N$] N$=Upper$(N$) For I=1 To 4 For I2=1 To 2 Read A$ If Instr(N$,A$) I2=2 : N=I : I=4 End If Next I2 Next I ' If N XVERSTANDEN=True If N=1 and JX>0 : _TESTGEHEN[JX-1,JY] : End If If N=2 and JX<25 : _TESTGEHEN[JX+1,JY] : End If If N=3 and JY>0 : _TESTGEHEN[JX,JY-1] : End If If N=4 and JY<25 : _TESTGEHEN[JX,JY+1] : End If End If ' Data "WEST","LINKS" Data "OST","RECHTS" Data "NORD","HOCH" Data "SUED","RUNTER" End Proc Procedure _TESTGEHEN[X,Y] '* 0 = Nichts '* 1 = Mauer '* 2 = Streichholz '* 3 = Karte '* 4 = Hebel '* 5 = Wandle in Mauer (1) '* 6 = Wandle in Abgrund (-1) '* 7 = Taler '* 8 = Bettler '* 9 = Kobold '*10 = Waechter '*-1 = Abgrund ' XHEBEL=False XBETTLER=False XKOBOLD=False XWAECHTER=False If XTALER=True Then XTALER=False ' If XMAZE(X,Y)=0 : XMAZE(JX,JY)=0 : End If If XMAZE(X,Y)=1 _SCROLL[2] _JUDITH["Diese Richtung wird durch eine Mauer"] _JUDITH["versperrt."] Pop Proc End If If XMAZE(X,Y)=2 _SCROLL[2] _JUDITH[XNAME$+" moment..."] _JUDITH["ich habe einen Streichholz gefunden."] Inc XSTREICHHOLZ XMAZE(JX,JY)=0 End If If XMAZE(X,Y)=3 _SCROLL[2] _JUDITH[XNAME$+" vor mir liegt eine Karte."] _JUDITH["Ich werde sie mal lieber einstecken."] Inc XKARTE XMAZE(JX,JY)=0 End If If XMAZE(X,Y)=4 _SCROLL[2] _JUDITH["Ich habe einen Hebel ertastet."] XHEBEL=True Pop Proc End If If XMAZE(X,Y)=5 _KOMMENTAR[3] _SCROLL[2] _JUDITH["Was war das fÜr ein Geräusch ?"] _JUDITH["Oh nein ! Hinter mir hat sich eine"] _JUDITH["neue Mauer gebildet."] XMAZE(JX,JY)=1 End If If XMAZE(X,Y)=6 _KOMMENTAR[4] _SCROLL[2] _JUDITH[XNAME$+" das war knapp ! Hinter"] _JUDITH["mir ist der Boden eingbrochen."] XMAZE(JX,JY)=-1 End If If XMAZE(X,Y)=7 _SCROLL[2] _JUDITH[XNAME$+" vor mir liegt ein goldig"] _JUDITH["schimmender Taler. Er erhellt die"] _JUDITH["ganze Umgebung."] XTALER=True Pop Proc End If If XMAZE(X,Y)=8 _KOMMENTAR[6] _SCROLL[2] _JUDITH[XNAME$+" was soll ich bloß machen ?"] XBETTLER=True Pop Proc End If If XMAZE(X,Y)=9 _KOMMENTAR[11] _SCROLL[2] _JUDITH["Das hört sich so verlockend an."] XKOBOLD=True Pop Proc End If If XMAZE(X,Y)=10 _KOMMENTAR[9] _SCROLL[2] _JUDITH[XNAME$+" ich fÜrchte mich so sehr !"] XWAECHTER=-1 : Rem * Schläft Pop Proc End If If XMAZE(X,Y)=-1 XTRAUM=-1 : Rem * AbgestÜrzt Pop Proc End If ' JXALT=JX : JYALT=JY JX=X : JY=Y XMAZE(JX,JY)=100 ' End Proc Procedure _ZEIGEKARTE[N$] N$=Upper$(N$) Restore ZA For I=1 To 4 Read A$,B$ If Instr(N$,A$)>0 and Instr(N$,B$)>0 XVERSTANDEN=True I=4 End If Next I If XVERSTANDEN=0 Then Pop Proc ' If XSTREICHHOLZ=0 _SCROLL[2] _JUDITH[XNAME$+" ich benötige einen"] _JUDITH["Streichholz um dieser Finsterniss"] _JUDITH["etwas zu sehen."] Pop Proc End If If XKARTE=0 _SCROLL[2] _JUDITH[XNAME$+" ich verschwände lieber"] _JUDITH["noch keinen Streichholz."] Pop Proc End If ' _KOMMENTAR[1] Ink 2 : Bar 334,98 To 628,237 For I=0 To 25 For I2=0 To 25 If XMAZE(I2,I)>0 Ink 4 : Bar 375+I2*8,117+I*4 To 383+I2*8,121+I*4 End If If XMAZE(I2,I)=100 Ink 0 : Bar 375+I2*8,117+I*4 To 383+I2*8,121+I*4 End If If XMAZE(I2,I)>1 and XMAZE(I2,I)<100 Ink 6 : Bar 375+I2*8,117+I*4 To 383+I2*8,121+I*4 End If Next I2 Next I Wait 500 ' Dec XSTREICHHOLZ : Dec XKARTE Ink 2 : Bar 334,98 To 628,237 _JUDITH["Autsch... Jetzt hätte ich mir fast"] _JUDITH["die Finger verbrannt. Hoffentlich"] _JUDITH["hat uns die Karte weitergeholfen."] ' ZA: Data "ZEIG","KARTE" Data "GUCK","KARTE" Data "SEH","KARTE" Data "ZUEND","HOLZ" End Proc Procedure _DRUECKHEBEL[N$] N$=Upper$(N$) Restore DA For I=1 To 4 Read A$,B$ If Instr(N$,A$)>0 and Instr(N$,B$)>0 XVERSTANDEN=True I=4 End If Next I ' If XVERSTANDEN=False Then Pop Proc ' If XHEBEL=False _SCROLL[2] _JUDITH["Hier befindet sich kein Hebel."] Pop Proc End If ' Restore DB For I=1 To 4 Read X,Y If XMAZE(JX+X,JY+Y)=4 XMAZE(JX+X,JY+Y)=0 _KOMMENTAR[2] _SCROLL[2] _JUDITH["Das war ganz schön anstrengend."] _JUDITH["Hoffentlich hat sich dieser"] _JUDITH["Kraftaufwand auch gelohnt."] XHEBEL=False I=4 End If Next I ' DA: Data "DRUECK","HEBEL" Data "ZIEH","HEBEL" Data "BETAETIGE","HEBEL" Data "SCHALTE","HEBEL" DB: Data 0,-1,1,0,0,1,-1,0 End Proc Procedure _NEHMETALER[N$] N$=Upper$(N$) Restore NA For I=1 To 5 Read A$,B$ If Instr(N$,A$)>0 and Instr(N$,B$)>0 XVERSTANDEN=True I=5 End If Next I ' If XVERSTANDEN=False Then Pop Proc ' If XTALER<>True _SCROLL[2] _JUDITH["Ich entdecke hier keinen Taler."] Pop Proc End If ' Restore NB For I=1 To 4 Read X,Y If XMAZE(JX+X,JY+Y)=7 XMAZE(JX+X,JY+Y)=0 _KOMMENTAR[5] _SCROLL[2] _JUDITH["Das war eine gute Idee. Vielleicht"] _JUDITH["leistet er uns einen nÜtzlichen"] _JUDITH["Dienst "+XNAME$+"."] XTALER=1 I=4 End If Next I If XTALER=1 For I=1 To 24 For I2=1 To 24 If XMAZE(I,I2)=7 : XMAZE(I,I2)=Rnd(5)+1 : End If Next I2 Next I End If ' NA: Data "HEB","TALER" Data "NIM","TALER" Data "STECK","TALER" Data "NEHM","TALER" Data "GREIF","TALER" NB: Data 0,-1,1,0,0,1,-1,0 End Proc Procedure _GEBETALER[N$] N$=Upper$(N$) For I=1 To 5 Read A$,B$ If Instr(N$,A$)>0 and Instr(N$,B$)>0 XVERSTANDEN=True I=5 End If Next I ' If XVERSTANDEN=False Then Pop Proc ' If XBETTLER=False and XKOBOLD=False _SCROLL[2] _JUDITH["Hier ist niemand der etwas von"] _JUDITH["mir verlangt "+XNAME$+"."] Pop Proc End If If XTALER=False _SCROLL[2] _JUDITH["Ich habe nichts was ich geben"] _JUDITH["könnte "+XNAME$+"."] Pop Proc End If ' Restore GB For I=1 To 4 Read X,Y '* Bettler ---------------------------- If XMAZE(JX+X,JY+Y)=8 and XBETTLER=True _KOMMENTAR[7] Ink 2 : Bar 334,98 To 628,237 : Ink 6 Restore GC For I2=1 To 12 Read N$ L=Text Length(N$) Text 479-L/2,110+I2*9,N$ Next I2 _TEXT[XWORT$,474-Len(XWORT$)*25/2,170] _WAIT Ink 2 : Bar 334,98 To 628,237 _SCROLL[1] _KOMMENTAR[8] ' _SCROLL[2] _JUDITH["Siehst du "+XNAME$+" ich habe es ja"] _JUDITH["gewusst das der Taler uns eventuell"] _JUDITH["hilfreich sein wÜrde."] XTALER=False I=4 ' For X=1 To 24 For Y=1 To 24 If XMAZE(X,Y)=8 : XMAZE(X,Y)=Rnd(5)+1 : End If Next Y Next X XWAECHTER=3 Repeat X=Rnd(23)+1 : Y=Rnd(23+1) If XMAZE(X,Y)=0 : XMAZE(X,Y)=10 : Dec XWAECHTER : End If Until XWAECHTER=False End If ' '* LÜgner ----------------------------- If XKOBOLD=True If XMAZE(JX+X,JY+Y)=9 _KOMMENTAR[12] Ink 2 : Bar 334,98 To 628,237 : Ink 6 Restore GD For I2=1 To 11 Read N$ L=Text Length(N$) Text 479-L/2,110+I2*9,N$ Next I2 _WAIT Ink 2 : Bar 334,98 To 628,237 ' _SCROLL[2] _JUDITH[XNAME$+" ich glaube das war ein"] _JUDITH["riesiger Fehler. Aber wir dÜrfen"] _JUDITH["jetzt bloß nicht aufgeben !"] I=4 ' XTALER=3 Repeat X=Rnd(23)+1 : Y=Rnd(23)+1 : Inc A If XMAZE(X,Y)=1 : XMAZE(X,Y)=7 : Dec XTALER : End If Until XTALER=False or A>200 End If End If ' Next I ' GA: Data "GEB","TALER" Data "GIB","TALER" Data "REICH","TALER" Data "LEGE","TALER" Data "WERF","TALER" GB: Data 0,-1,1,0,0,1,-1,0 GC: Data "Du Judith und du "+XNAME$ Data "Ihr seit zwei gute Menschen." Data "Als Dank fÜr eure Gabe verrate ich" Data "euch das Wort, welchem alle Wesen" Data "unterwÜrfig sind..." Data " "," "," "," "," " Data "Nun gehet in frieden." Data "So das euer Wunsch in ErfÜllung gehe" GD: Data " "," ","Ha... Ha... Ha !" Data "Da muß wohl doch etwas wares an dem" Data "Sprichwort sein, daß Liebe blind" Data "macht. Euch zwei kann man ja nun" Data "wirklich von Allem Überzeugen." Data "Nix fÜr ungut. Wenn ihr nochmals" Data "fÜr einen guten Witz soviel Zahlen" Data "wollt, so seit ihr natÜrlich" Data "herzlichst eingeladen... Ha... Ha !" End Proc Procedure _WECKEWAECHTER[N$] N$=Upper$(N$) Restore WA ' For I=1 To 6 Read A$,B$ If Instr(N$,A$)>0 and Instr(N$,B$)>0 XVERSTANDEN=True I=6 End If Next I ' If XVERSTANDEN=False Then Pop Proc ' If XWAECHTER=False _SCROLL[2] _JUDITH["Wir mÜßen den Wächter zunächst"] _JUDITH["auffinden "+XNAME$+"."] Pop Proc End If ' If XWAECHTER=-2 _SCROLL[2] _JUDITH[XNAME$+" der Wächter ist bereits"] _JUDITH["erwacht."] Pop Proc End If _KOMMENTAR[10] ' _SCROLL[2] _JUDITH["Was soll ich dem Wächter von Zeit"] _JUDITH["und Raum nur antworten "+XNAME$+" ?"] XWAECHTER=-2 ' WA: Data "WECK","WAECHTER" Data "RUETTEL","WAECHTER" Data "TRET","WAECHTER" Data "TRIT","WAECHTER" Data "RUF","WAECHTER" Data "STREICHEL","WAECHTER" End Proc Procedure _SAGEGRUND[N$] N$=Upper$(N$) If Instr(N$,XWORT$)>0 If XWAECHTER=0 _SCROLL[2] _JUDITH["Hier hat "+XWORT$+" keine Wirkung !"] End If If XWAECHTER=-1 _SCROLL[2] _JUDITH[XNAME$+" der Wächter von Zeit"] _JUDITH["und Raum hat nicht reagiert !"] End If If XWAECHTER=-2 XTRAUM=-4 End If XVERSTANDEN=True Pop Proc End If If XWAECHTER=-2 XVERSTANDEN=True XTRAUM=-2 End If ' End Proc Procedure _WASSOLLDAS[N$] N$=Upper$(N$) For I=1 To 12 Read A$,A If Instr(N$,A$) I=12 Restore "EY"+Str$(A)-" " Read A _SCROLL[2] For I2=1 To A Read A$ _JUDITH[A$] Next I2 XVERSTANDEN=True End If Next I ' Data "FRAG",0 Data "WER",1,"WAS",1,"WANN",1,"WIE",1,"WARUM",1 Data "HILF",2,"HELF",2,"HELP",2 Data "FUCK",3,"SHIT",3,"PISS",3 EY0: Data 2 Data XNAME$+" du mußt handeln und ihnen" Data "keine Fragen stellen." EY1: Data 2 Data XNAME$+" bitte stelle mir in dieser" Data "Situation keine Fragen !" EY2: Data 2 Data "Ich wÜrde dir gerne helfen, aber du" Data "bist fÜr diese Reise Verantwortlich." EY3: Data 2 Data "Englische KraftausdrÜcke sind in" Data "meiner Zeit noch nicht angesagt !" End Proc Procedure _ZEIGE[N$] If N$<>"NACHTROCK" Then Pop Proc Ink 6,2 For I=1 To 19 Read N$ If I<18 Then N$="Ctrl+"+N$ _SCROLL[1] Text 19,236,N$+Space$(36-Len(N$)) If I=17 Then _WAIT Next I ' XVERSTANDEN=True ' Data "F1....Zeige die Karte","F2....Beteatige den Hebel" Data "F3....Hebe den Taler auf","F4....Gebe den Taler" Data "F5....Wecke den Waechter auf","*.....Karte+Streichholz" Data "#.....Taler","1.....Mauer","2.....Streichholz" Data "3.....Karte","4.....Hebel","5.....Mechanik","6.....Abgrund" Data "7.....Taler","8.....Bettler","9.....Kobold","0.....Waechter" Data "TAB........Musik an/aus","ESC........Abbruch" End Proc Procedure _NICHTVERSTANDEN Randomize Timer Restore "A"+Chr$(65+Rnd(5)) Read N _SCROLL[2] For I=1 To N Read N$ _JUDITH[N$] Next I ' AA: Data 2 Data "Entschuldige "+XNAME$+", aber ich habe" Data "dich nicht richtig verstehen können." AB: Data 2 Data "Könntest du bitte das letzte" Data "nochmals wiederholen "+XNAME$+"." AC: Data 2 Data XNAME$+", bitte konzentriere dich," Data "sonst sind wir niemals vereint." AD: Data 2 Data "Bitte treibe jetzt keine Scherze" Data "mit mir "+XNAME$+"." AE: Data 2 Data XNAME$+" achte bitte auf eine etwas" Data "deutlichere Aussprache." AF: Data 2 Data "Deine Umgangssprache ist aber sehr" Data "merkwÜrdig "+XNAME$+"." End Proc Procedure _PLAYER[N$] _SCROLL[1] Ink 0,2 : Text 19,236,N$+Space$(36-Len(N$)) End Proc Procedure _JUDITH[N$] _SCROLL[2] Ink 0,2 : Text 337,236,N$ End Proc Procedure _SCROLL[N] For I=0 To 7 : Scroll N : Next I End Proc Procedure _KOMMENTAR[N] Restore "K"+Chr$(65+N) Ink 6,2 Set Text 4 Read N For I=1 To N Read N$ _SCROLL[1] Text 19,236,N$+Space$(36-Len(N$)) Next I Set Text 0 _WAIT ' KA: Data 6 Data "Judith befindet sich nun in ihrer" Data "Traumphase. Kurze Zeit später" Data "schläfst auch du ein. Gemeinsam" Data "sucht ihr nun die vierte Dimension" Data "in der Traum und Wirklichkeit zu" Data "eins verschmelzen... (Taste)" KB: Data 3 Data "Judith entzÜndet einen Streichholz." Data "FÜr kurze Zeit kann die Karte als" Data "Orientierung dienen... (Taste)" KC: Data 3 Data "Nachdem Judith den Hebel betätigte," Data "legte sich ein neuer geheimnisvoller" Data "Gang frei... (Taste)" KD: Data 4 Data "Durch einen unbedachten Schritt von" Data "Judith wurde eine magische Mechanik" Data "ausgelösst. Eine errichtete Mauer" Data "versperrt den RÜckweg... (Taste)" KE: Data 4 Data "Nur knapp entrinnt Judith einem" Data "UnglÜck. Der Boden auf dem sie" Data "stand gab nach und legte eine" Data "tiefe Grotte frei... (Taste)" KF: Data 3 Data "Judith greift nach den goldenen" Data "StÜck. Geblendet von dem Glanz" Data "steck sie den Taler ein... (Taste)" KG: Data 4 Data "Aus einem dunklen Gang tritt" Data "schleppend eine hagere Gestallt" Data "auf Judith zu und streckt bettelnt" Data "beide Hände aus... (Taste)" KH: Data 3 Data "Der Bettler blick stumm auf den" Data "goldenen Taler. Nach einer Zeit" Data "sieht er auf und spricht... (Taste)" KI: Data 3 Data "Mit tief verneigtem Haupt schreitet" Data "der Bettler in das Nichts aus dem" Data "er unverhofft erschien... (Taste)" KJ: Data 3 Data "Judith erblickt den schlafenden" Data "Wächter von Zeit und Raum. Sein" Data "Atem ist tief und schwer... (Taste)" KK: Data 4 Data "Langsam öffnet das UngetÜm seine" Data "stechend roten Augen. Mit dumpfer" Data "Stimme fragt der Wächter nach den" Data "Grund der Störung... (Taste)" KL: Data 7 Data "Vor Judith taucht wie aus dem nichts" Data "ein langnasiger Kobold auf. Mustert" Data "Judith von oben nach unten und sagt" Data "dann das er den Weg zu dem Waechter" Data "von Zeit und Raum kenne. FÜr eine" Data "milde Gabe wÜrde er Judith sofort" Data "dorthin fÜhren... (Taste)" KM: Data 4 Data "Ein gemeines Lächeln breitet sich" Data "Über das Gesicht des Zwerges aus." Data "HÜpft von einem Bein auf das andere" Data "und zischt dann vorlaut... (Taste)" End Proc Procedure _BLATTKLEIN Unpack 16 To 1 Screen Hide Cls 0 For I=0 To 7 : Colour I,0 : Next I ' Screen Copy 0,0,60,466,99 To 1,83,46 ' For I=0 To 113 Screen Copy 1,78,65+I,556,85+I To 1,78,66+I Next I Screen Show Fade 2,0,$DA7,$DA7,$B85,$A74,$952,$741,$631 : Wait 30 End Proc Procedure _BLATTGROSS Unpack 16 To 1 Screen Hide Flash Off Cls 0 For I=1 To 8 : Colour I,$0 : Next I Screen Copy 0,0,99,628,138 To 1,4,10 For I=0 To 194 Screen Copy 1,0,28+I,638,50+I To 1,0,29+I Next I End Proc Procedure _SPIELENDE If XTRAUM>-4 Fade 2,$F00,$F00,$F00,$F00,$F00,$F00,$F00,$F00 : Wait 70 End If Fade 2 : Wait 30 _BLATTGROSS If XTRAUM=-1 _TEXT["Nur dieser eine Fehltritt",84,40] _TEXT["entschied das Schicksal einer",51,62] _TEXT["Liebe. Judith fiel in die Grotte",16,84] _TEXT["der traumlosen Schlafe. Somit",48,106] _TEXT["endete hier die phantastische",55,128] _TEXT["Verbundenheit zweier Menschen,",44,150] _TEXT["deren Weg sich nun niemals",82,172] _TEXT["kreuzen wird...",200,194] End If If XTRAUM=-2 _TEXT["Judith sagte das falsche Wort",50,40] _TEXT["Der Waechter von Raum und Zeit",32,62] _TEXT["schloss mit den Daumenspitzen",48,84] _TEXT["ihre Augen, woraufhin Judith",52,106] _TEXT["in eine Trance der Traeume",70,128] _TEXT["verfiel in denen ihr immer",79,150] _TEXT["und immer wieder das Ungetuem",48,172] _TEXT["die Augen behutsam schloss...",50,194] End If If XTRAUM=-3 _TEXT["Ein neugieriger Spaziergaenger",36,32] _TEXT["ruettelte dich derb wach",98,54] _TEXT["Durch dieses Unglueck verlor",56,76] _TEXT["Judith den imaginaeren Kontakt",36,98] _TEXT["zu deiner Seele. Seitdem ist sie",18,120] _TEXT["dazu verbannt eine auf Ewig",64,142] _TEXT["Gefangene einer unbekannten",64,164] _TEXT["Dimension zwischen Raum und Zeit",16,186] _TEXT["zu bleiben...",238,206] End If If XTRAUM=-4 _TEXT["Der Waechter neigt sein Haupt",42,32] _TEXT["ehrwuerdig nieder und schreitet",36,54] _TEXT["zur Seite. Judith drueckt mit",50,76] _TEXT["aller Kraft gegen die Eisentuer",30,98] _TEXT["heulend oeffnet sie sich langsam",26,120] _TEXT["Ein starker Wind blaesst ihr",62,142] _TEXT["durch das wehende Haar. Endlich",30,164] _TEXT["steht sie leibhaftig vor dir.",64,186] _TEXT["Ein Traum wurde Wirklichkeit !",44,206] End If ' Screen Show Fade 2,,$DA7,$DA7,$B85,$A74,$952,$741,$631 : Wait 50 If XTRAUM=-4 Fade 2,,$800 Else Fade 2,,$631 End If _WAIT ' Fade 2,,$DA7 : Wait 40 Fade 2 : Wait 70 : Cls 0 _TEXT["ENDE",270,113] Fade 2,,$FFF : _WAIT Fade 2 : Wait 100 _TIME End Proc Procedure _TIME If XTRAUM<>$FFFFFFFC Then Pop Proc _BLATTKLEIN N$=Space$(12) Dreg(1)=Varptr(N$) LVODATESTAMP=Doscall(-192) A$=Str$(Leek(Varptr(N$)+4))-" " B$=Str$(Timer)-" " B$=Flip$(B$) N$=Chr$(65+Val(Mid$(B$,1,1))) C$=N$+Chr$(64)+A$+Chr$(64)+Flip$(B$) _TEXT[C$,320-(25*Len(C$))/2,110] Fade 2,,$631 : _WAIT Fade 2 : Wait 120 End Proc Procedure _TEXT[T$,X,Y] A$="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789?!&%()$"+Chr$(64) B$="abcdefghijklmnopqrstuvwxyz©.:,#*+-=" ' L=Len(T$) ' For I=1 To L N$=Mid$(T$,I,1) N=Instr(A$,N$) If N If N>25 : Add N,-25 : A=21 Else A=0 : End If Dec N : Screen Copy 0,N*25,A,(N+1)*25,A+21 To 1,X,Y : Add X,25 Else N=Instr(B$,N$) If N : Dec N : Screen Copy 0,N*18,42,(N+1)*18,60 To 1,X,Y : End If Add X,18 End If Next I End Proc Procedure _WAIT Clear Key : Wait 50 While Mouse Key=0 and Asc(Inkey$)=0 : Wend Clear Key End Proc