Screen Open 0,320,256,16,Lowres : Flash Off : Close Workbench 
Break Off : Amos Lock 
TITEL:
Unpack 0 To 0 : Limit Mouse 236,168 To 328,235
Reserve Zone 3
Set Zone 1,110,128 To 197,147 : Rem <- Start Knopf 
Set Zone 2,110,150 To 197,168 : Rem <- Passwort Knopf  
Set Zone 3,110,171 To 197,191 : Rem <- Ende Knopf  

Do 
   If 1=Hzone(X Mouse,Y Mouse) and Mouse Key=1 Then LEVEL=1 : Goto SPIEL
   If 2=Hzone(X Mouse,Y Mouse) and Mouse Key=1 Then Goto PASSWORT
   If 3=Hzone(X Mouse,Y Mouse) and Mouse Key=1 Then Gosub INDE
Loop 
SPIEL:
'Fade 1 : Wait 15
Limit Mouse 176,47 To 400,236
Screen Open 1,640,38,16,Hires : Screen Display 1,,248,, : Curs Off : Colour 1,$0
Screen Open 0,320,256,32,Lowres

Curs Off : Flash Off 
'
' Die Memory Bank braucht bei 10 Leveln ca. 50 Kbyte weniger 
' Speicher als dim c(3,40,40)  
'


Unpack 3 To 0
Screen To Front 1
'Cls 0 
Double Buffer 
Autoback 0
'
' LEV = Level (0-9)
' X/Y = Position (3-37)
' R = Richtung 1=NORD / 2=OST / 3=SUED / 4=WEST  
' XC/YC = Position des Dungeons auf dem Bildschirm 
' F1/F2 = Spiegelung des Hintergrund Bob bei einem Schritt 
' BU = Knopf Nummer ...
'
If LEVEL=1 Then X=10 : Y=9 : R=4 : XC=48 : YC=5 : F1=$8001 : F2=$1 : BU=0 : LEV=0
If LEVEL=2 Then X=14 : Y=11 : R=2 : XC=48 : YC=5 : F1=$8001 : F2=$1 : BU=0 : LEV=1
If LEVEL=3 Then X=5 : Y=25 : R=1 : XC=48 : YC=5 : F1=$8001 : F2=$1 : BU=0 : LEV=2
If LEVEL=4 Then X=16 : Y=37 : R=4 : XC=48 : YC=5 : F1=$8001 : F2=$1 : BU=0 : LEV=3

Global X,Y,R,T,XC,YC,F1,F2,LEV,BU
_ZONE
_DRAW
Limit Bob 49,10 To 272,140
Screen Copy Logic To Physic
Limit Bob 49,10 To 272,140

' Hauptschleife
'

If LEV=0 : Colour 13,$70 : Colour 15,$90 : Colour 2,$60 : Colour 1,$30 : Colour 12,$10 : End If 
If LEV=1 : Colour 13,$700 : Colour 15,$900 : Colour 2,$600 : Colour 1,$300 : Colour 12,$100 : End If 
If LEV=2 : Colour 13,$7 : Colour 15,$9 : Colour 2,$6 : Colour 1,$3 : Colour 12,$1 : End If 
If LEV=3 : Colour 13,$222 : Colour 15,$333 : Colour 2,$111 : Colour 1,$0 : Colour 12,$111 : End If 

Repeat 
   _TASTE
Until T=69
'
' UM EINEN SPIELSTAND ZU SICHERN EINFACH     
' BANK 2 UND DIE VARIABLEN X + Y + R + LEV SPEICHERN 
Erase 1
Erase 2
Erase 5
'
' Ende 
'
End 
'
'
'  

Procedure _ZONE
   Reserve Zone 11
   Set Zone 1,122,151 To 148,170
   Set Zone 2,152,151 To 176,170
   Set Zone 3,180,151 To 205,170
   Set Zone 4,122,173 To 148,191
   Set Zone 5,152,173 To 176,191
   Set Zone 6,180,173 To 205,191
End Proc
Procedure _TASTE
   ST=Start(2)+LEV*1681
   Repeat 
      M=Mouse Key
      MZ=Mouse Zone
      A$=Inkey$
      T=Scancode
   Until A$<>"" or M=1
   X1=X : Y1=Y
   If MZ=2 and M Then T=76
   If MZ=5 and M Then T=77
   If MZ=6 and M Then T=78
   If MZ=4 and M Then T=79
   If BU>0 and MZ=7 and M Then _BUTTONPRESS
   If BU>0 and Asc(A$)=13 Then _BUTTONPRESS
   If R=1 and T=76 Then Dec Y1
   If R=2 and T=76 Then Inc X1
   If R=3 and T=76 Then Inc Y1
   If R=4 and T=76 Then Dec X1
   If R=1 and T=77 Then Inc Y1
   If R=2 and T=77 Then Dec X1
   If R=3 and T=77 Then Dec Y1
   If R=4 and T=77 Then Inc X1
   If R=1 and T=78 Then Inc X1
   If R=2 and T=78 Then Inc Y1
   If R=3 and T=78 Then Dec X1
   If R=4 and T=78 Then Dec Y1
   If R=1 and T=79 Then Dec X1
   If R=2 and T=79 Then Dec Y1
   If R=3 and T=79 Then Inc X1
   If R=4 and T=79 Then Inc Y1
   If T=70 or MZ=1 and M Then R=R-1 : If R=0 Then R=4
   If T=95 or MZ=3 and M Then R=R+1 : If R=5 Then R=1
   C=Peek(ST+X1+Y1*41)
   If C=3
      Inc LEV
      If LEV=0 : Colour 13,$70 : Colour 15,$90 : Colour 2,$60 : Colour 1,$30 : Colour 12,$10 : End If 
      If LEV=1 : Colour 13,$700 : Colour 15,$900 : Colour 2,$600 : Colour 1,$300 : Colour 12,$100 : End If 
      If LEV=2 : Colour 13,$7 : Colour 15,$9 : Colour 2,$6 : Colour 1,$3 : Colour 12,$1 : End If 
      If LEV=3 : Colour 13,$222 : Colour 15,$333 : Colour 2,$111 : Colour 1,$0 : Colour 12,$111 : End If 
   End If 
   If C=2
      Dec LEV
      If LEV=0 : Colour 13,$70 : Colour 15,$90 : Colour 2,$60 : Colour 1,$30 : Colour 12,$10 : End If 
      If LEV=1 : Colour 13,$700 : Colour 15,$900 : Colour 2,$600 : Colour 1,$300 : Colour 12,$100 : End If 
      If LEV=2 : Colour 13,$7 : Colour 15,$9 : Colour 2,$6 : Colour 1,$3 : Colour 12,$1 : End If 
      If LEV=3 : Colour 13,$222 : Colour 15,$333 : Colour 2,$111 : Colour 1,$0 : Colour 12,$111 : End If 
      If LEV=-1 : Fade 10 : Wait 150
         Default : Curs Off : Hide 
         Print 
         Centre "Well done!" : Print : Print 
         Centre "You escaped the enemy" : Print 
         Centre "and saved the world." : Print : Print : Print : Print : Print 
         Centre "Dungeon Hero was created by Frank Otto" : Print : Print : Print 
         Centre "Click mouse to continue."
         While Mouse Click=0 : Wend 
         Fade 3 : Wait 45
      End : End If 
   End If 
   ST=Start(2)+LEV*1681
   C=Peek(ST+X1+Y1*41)
   If C>0 and C<6 and X<>X1 or C>0 and C<6 and Y<>Y1
      If X1>1 and X1<38 and Y1>1 and Y1<38
         Swap F1,F2 : Limit Bob 49,10 To 272,140
         X=X1 : Y=Y1
      End If 
   Else 
      C=Peek(ST+X1+Y1*41)
      If C<1 or C>5
         Shoot 
      End If 
   End If 
   _DRAW
   Screen Swap : Wait Vbl 
End Proc
Procedure _DRAW
   Limit Bob 49,10 To 272,140
   
   Cls 0,48,5 To 272,140
   Cls 0,120,100 To 207,195
   Paste Bob XC,YC,F1
   Paste Bob 120,150,16
   _DRAWDUNGEON
   '   Cls 0,0,0 To 48,200
   '   Cls 0,272,0 To 320,200 
   Colour 3,$802
   Ink 8,0
   '   Text 20,10,"Level:"
   Text 11,28,Str$(LEV)
   '   Text 275,40,"Y:" 
   Text 290,30,Str$(X)
   '   Text 275,70,"X:" 
   Text 280,70,Str$(Y)
   '
   ' ********************** HIER FUER EIGENE LEVEL AENDERN **************** 
   '  
   ' SCHREIBT Z.B. EINEN TEXT WENN MAN IN LEVEL 0 AN POSIT. x=9/y=10 STEHT
   ' UND RICHTUNG (R=1) NORDEN SCHAUT 
   BU=0
   
   If R=1
      Text 145,148,"North"
      '      If LEV=0 and Y=9 and X=10 
      '         _TEXT[""]
      '      End If  
      If LEV=1 and Y=11 and X=14
         _TEXT["kerenas"]
      End If 
      If LEV=2 and Y=3 and X=5
         BUTTON[160,67]
         BU=7
      End If 
      If LEV=0 and Y=11 and X=12
         Screen 1 : CLEAR : Locate ,0 : Cline : Print "Behind this door is the exit." : Screen 0
      End If 
   End If 
   ' HIER DAS SELBE IN GRUEN FUER RICHTUNG OSTEN (R=2)  
   If R=2
      Text 145,148,"East"
      If LEV=0 and Y=17 and X=6
         _TEXT["room of illusions"]
      End If 
      If LEV=1 and Y=11 and X=17
         BUTTON[219,52]
         BU=6
      End If 
      If LEV=2 and Y=21 and X=7
         BUTTON[219,52]
         BU=8
      End If 
   End If 
   ' HIER WIRD DER KNOPF NR. 2 FUER DIE TUER GEMALT (Proc BUTTON[x,y])
   ' UND AKTIVIERT (BU=2) 
   ' ABGEFRAGT WAS PASSIERT WENN DER KNOPF NR.2 GEDRUECKT WIRD
   ' ERFOLGT IN DER PROCEDURE (_BUTTONPRESS)  
   If R=3
      Text 145,148,"South"
      If LEV=3 and Y=37 and X=16
         _TEXT["aronid"]
      End If 
      If LEV=0 and Y=13 and X=8
         BUTTON[180,60]
         BU=2
      End If 
   End If 
   If R=4
      Text 145,148,"West "
      If LEV=2 and Y=24 and X=5
         _TEXT["daronef"]
      End If 
      If LEV=0 and Y=4 and X=3
         BUTTON[160,67]
         BU=3
      End If 
      If LEV=0 and Y=11 and X=6
         BUTTON[219,52]
         BU=4
      End If 
   End If 
   If LEV=0 and Y=12 and X=8
      Screen 1 : CLEAR : Locate ,0 : Cline : Print "Here lies a skeleton. It looks as if it came from the southern wall." : Screen 0
   End If 
   If LEV=0 and Y=9 and X=10
      Screen 1 : CLEAR : Locate ,0 : Cline : Print "There is something in the middle of the room." : Screen 0
   End If 
   If LEV=0 and Y=15 and X=8
      Screen 1 : CLEAR : Locate ,0 : Cline : Print "Here are the remains of weapons and equipment but all has been destroyed." : Screen 0
   End If 
   If LEV=0 and Y=11 and X=6
      Screen 1 : CLEAR : Screen 0
   End If 
   If LEV=0 and Y=19 and X=6
      Screen 1 : CLEAR : Locate ,0 : Cline : Print "A liitle breath is coming from the northern wall." : Screen 0
   End If 
   If LEV=0 and Y=11 and X=27
      Screen 1 : CLEAR : Locate ,0 : Cline : Print "Behind this door is the exit." : Screen 0
   End If 
   If LEV=0 and Y=17 and X=8
      Screen 1 : CLEAR : Screen 0
   End If 
   If LEV=1 and Y=11 and X=14
      Screen 1 : CLEAR : Screen 0
   End If 
   If LEV=1 and Y=11 and X=24
      Screen 1 : CLEAR : Screen 0
   End If 
   If LEV=4 and Y=17 and X=18
      _TEXT["ende"]
   End If 
   If LEV=4 and Y=17 and X=22
      _TEXT["ende"]
   End If 
End Proc
Procedure _DRAWDUNGEON
   ' ********************* ACHTUNG ****************** 
   ' MAN KANN DIE BERECHNUNG DES DUNGEUN ZWAR VERKUERZEN
   ' WAS BEI MEINEM 68030 AUCH ZU EINER ERHEBLICHEN GESCHWINDIGKEITS
   ' STEIGERUNG FUEHRT, DOCH EIN NORMALER AMIGA MUSS DANN ZUVIEL  
   ' BERECHNEN UND SCHLAEFT FAST EIN !  
   ' ALSO HIER ALLES GANZ AUSFUEHRLICH: 
   ' Links
   ST=Start(2)+LEV*1681
   If R=1 and Peek(ST+X-2+(Y-2)*41)<2 and Peek(ST+X-1+(Y-1)*41)>1 Then Paste Bob XC,YC,9
   If R=2 and Peek(ST+X+2+(Y-2)*41)<2 and Peek(ST+X+1+(Y-1)*41)>1 Then Paste Bob XC,YC,9
   If R=3 and Peek(ST+X+2+(Y+2)*41)<2 and Peek(ST+X+1+(Y+1)*41)>1 Then Paste Bob XC,YC,9
   If R=4 and Peek(ST+X-2+(Y+2)*41)<2 and Peek(ST+X-1+(Y+1)*41)>1 Then Paste Bob XC,YC,9
   If R=1 Then C=Peek(ST+X-1+(Y-3)*41)
   If R=2 Then C=Peek(ST+X+3+(Y-1)*41)
   If R=3 Then C=Peek(ST+X+1+(Y+3)*41)
   If R=4 Then C=Peek(ST+X-3+(Y+1)*41)
   If C<2 Then Paste Bob XC,YC,8
   If C=2 Then Paste Bob XC,YC,12
   If C=3 Then Paste Bob XC,YC,15
   If C=5 Then Paste Bob XC,YC,9 : Paste Bob XC+11,YC+29,19
   If C=6 Then Paste Bob XC,YC,9 : Paste Bob XC+11,YC+29,19 : Paste Bob XC+19,YC+30,23
   If R=1 Then C=Peek(ST+X-1+(Y-2)*41) : C1=Peek(ST+X-1+(Y-1)*41)
   If R=2 Then C=Peek(ST+X+2+(Y-1)*41) : C1=Peek(ST+X+1+(Y-1)*41)
   If R=3 Then C=Peek(ST+X+1+(Y+2)*41) : C1=Peek(ST+X+1+(Y+1)*41)
   If R=4 Then C=Peek(ST+X-2+(Y+1)*41) : C1=Peek(ST+X-1+(Y+1)*41)
   If C<2 Then Paste Bob XC,YC,7
   If C=2 and C1=4 Then Paste Bob XC-20,YC,11
   If C=3 and C1=4 Then Paste Bob XC-20,YC,14
   If C=5 and C1=4 Then Paste Bob XC-9,YC+23,18
   If C=6 and C1=4 Then Paste Bob XC-9,YC+23,18 : Paste Bob XC+4,YC+24,22
   If R=1 Then C=Peek(ST+X-1+(Y-1)*41) : C1=Peek(ST+X-1+Y*41)
   If R=2 Then C=Peek(ST+X+1+(Y-1)*41) : C1=Peek(ST+X+(Y-1)*41)
   If R=3 Then C=Peek(ST+X+1+(Y+1)*41) : C1=Peek(ST+X+1+Y*41)
   If R=4 Then C=Peek(ST+X-1+(Y+1)*41) : C1=Peek(ST+X+(Y+1)*41)
   If C<2 Then Paste Bob XC,YC,6
   If C=2 and C1=4 Then Paste Bob XC-60,YC,10
   If C=3 and C1=4 Then Paste Bob XC-60,YC,26
   If C=6 and C1=4 Then Paste Bob XC-9,YC+17,24
   If C1<2 Then Paste Bob XC,YC,5
   '   Rechts 
   If R=1 and Peek(ST+X+2+(Y-2)*41)<2 and Peek(ST+X+1+(Y-1)*41)>1 Then Paste Bob XC+192,YC,$8009
   If R=2 and Peek(ST+X+2+(Y+2)*41)<2 and Peek(ST+X+1+(Y+1)*41)>1 Then Paste Bob XC+192,YC,$8009
   If R=3 and Peek(ST+X-2+(Y+2)*41)<2 and Peek(ST+X-1+(Y+1)*41)>1 Then Paste Bob XC+192,YC,$8009
   If R=4 and Peek(ST+X-2+(Y-2)*41)<2 and Peek(ST+X-1+(Y-1)*41)>1 Then Paste Bob XC+192,YC,$8009
   If R=1 Then C=Peek(ST+X+1+(Y-3)*41)
   If R=2 Then C=Peek(ST+X+3+(Y+1)*41)
   If R=3 Then C=Peek(ST+X-1+(Y+3)*41)
   If R=4 Then C=Peek(ST+X-3+(Y-1)*41)
   If C<2 Then Paste Bob XC+128,YC,$8000+8
   If C=2 Then Paste Bob XC+148,YC,12
   If C=3 Then Paste Bob XC+148,YC,15
   If C=5 Then Paste Bob XC+192,YC,$8009 : Paste Bob XC+151,YC+29,19
   If C=6 Then Paste Bob XC+192,YC,$8009 : Paste Bob XC+151,YC+29,19 : Paste Bob XC+159,YC+30,23
   If R=1 Then C=Peek(ST+X+1+(Y-2)*41) : C1=Peek(ST+X+1+(Y-1)*41)
   If R=2 Then C=Peek(ST+X+2+(Y+1)*41) : C1=Peek(ST+X+1+(Y+1)*41)
   If R=3 Then C=Peek(ST+X-1+(Y+2)*41) : C1=Peek(ST+X-1+(Y+1)*41)
   If R=4 Then C=Peek(ST+X-2+(Y-1)*41) : C1=Peek(ST+X-1+(Y-1)*41)
   If C<2 Then Paste Bob XC+144,YC,$8000+7
   If C=2 and C1=4 Then Paste Bob XC+139,YC,11
   If C=3 and C1=4 Then Paste Bob XC+139,YC,14
   If C=5 and C1=4 Then Paste Bob XC+139,YC+23,18
   If C=6 and C1=4 Then Paste Bob XC+139,YC+23,18 : Paste Bob XC+154,YC+24,22
   If R=1 Then C=Peek(ST+X+1+(Y-1)*41) : C1=Peek(ST+X+1+Y*41)
   If R=2 Then C=Peek(ST+X+1+(Y+1)*41) : C1=Peek(ST+X+(Y+1)*41)
   If R=3 Then C=Peek(ST+X-1+(Y+1)*41) : C1=Peek(ST+X-1+Y*41)
   If R=4 Then C=Peek(ST+X-1+(Y-1)*41) : C1=Peek(ST+X+(Y-1)*41)
   If C<2 Then Paste Bob XC+160,YC,$8000+6
   If C=2 and C1=4 Then Paste Bob XC+114,YC,10
   If C=3 and C1=4 Then Paste Bob XC+114,YC,13
   If C=6 and C1=4 Then Paste Bob XC+183,YC+17,24
   If C1<2 Then Paste Bob XC+192,YC,$8000+5
   '   Mitte
   I=5
   If R=1 Then JA=-3 : JB=-1 : JS=1 : RI=1
   If R=2 Then JA=3 : JB=1 : JS=-1 : RI=0
   If R=3 Then JA=3 : JB=1 : JS=-1 : RI=1
   If R=4 Then JA=-3 : JB=-1 : JS=1 : RI=0
   J1=0
   For J=JA To JB Step JS
      Dec I
      If I=4 Then BW=74 : TUY=29 : TUX=6 : TU1=14 : TU2=30
      If I=3 Then BW=60 : TUY=23 : TUX=5 : TU1=20 : TU2=24
      If I=2 Then BW=32 : TUY=14 : TUX=10 : TU1=31 : TU2=17
      If RI=1 Then Swap J,J1 : Limit Bob 49,10 To 272,140
      C=Peek(ST+X+J+(Y+J1)*41)
      If C<2 Then Paste Bob XC+BW,YC,I
      If C<2 and I=2 and Peek(ST+X+Y*41)=5 Then Paste Bob XC+95,YC,20
      If C=2 Then Paste Bob XC+BW,YC,I+8
      If C=3 Then Paste Bob XC+BW,YC,I+11
      If C=5 Then Paste Bob XC+BW+TUX,YC+TUY,I+15
      If C=6 Then Paste Bob XC+BW+TUX,YC+TUY,I+15 : Paste Bob XC+TU1+BW,YC+TU2,I+19
      If RI=1 Then Swap J,J1
   Next J
End Proc
Procedure _TEXT[T$]
   TX=XC+(224-Len(T$)*8)/2
   TY=50
   T$=Upper$(T$)
   Gr Writing 0
   Ink 15 : Text TX-1,YC+TY-1,T$
   '         Ink 0 : Text TX+1,YC+TY+1,T$ 
   Ink 0 : Text TX,YC+TY,T$
   Ink 8,0 : Gr Writing 1
End Proc
Procedure _OEFFNETUER
   Update Off 
   TU1=63
   _DRAW
   Get Bob 0,25,XC,YC+17 To XC+63,110
   Limit Bob 1,10,20 To 130,140
   Repeat 
      Bob Clear 
      Bob 0,XC+TU1,YC+17,21
      Bob 1,XC,YC+17,25
      Bob Draw 
      '      Cls 0,0,20 To XC,200
      Screen Swap : Wait Vbl 
      If TU1=63 Then _DRAW
      TU1=TU1-2
   Until TU1<-29
   Boom 
End Proc
Procedure _SCHLIESSTUER
   Update Off 
   TU1=-37
   _DRAW
   Get Bob 0,25,XC,YC+17 To XC+63,110
   Repeat 
      Bob Clear 
      Bob 0,XC+TU1,YC+17,21
      Bob 1,XC,YC+17,25
      Bob Draw 
      '      Cls 0,0,20 To XC,200
      Screen Swap : Wait Vbl 
      If TU1=-37 Then _DRAW
      TU1=TU1+2
   Until TU1=63
   Boom 
End Proc
Procedure _BUTTONPRESS
   '
   ' ***************** MUSS FUER EIGENE LABYRINTHE GEAENDERT WERDEN  ************ 
   ' Poke(st+X+Y*41),A
   ' A = -------------- 
   ' 0 = Wand 
   ' 1 = Imaginaere Wand  
   ' 2/3 = Treppe 
   ' 4 = Freie Stelle 
   ' 5 = Rahmen (offene Tuer) 
   ' 6 = Tuer + Rahmen
   '
   ' HIER EIN PAAR BEISPIELE
   ' WENN KNOPF NR.3 GEDRUECKT DANN OEFFNE WAND AN POSIT. x=11/y=12 
   ST=Start(2)+LEV*1681
   If BU=3
      Poke(ST+11+12*41),4
      Bell 
   End If 
   '
   ' WENN KNOPF NR.2 GEDRUECKT UND TUER IST ZU DANN OEFFNE TUER AN POSIT. x=8/y=14  
   If BU=2
      Boom 
   End If 
   '
   '
   ' WENN KNOPF NR.4 GEDRUECKT UND TUER IST ZU DANN OEFFNE TUER AN POSIT. x=5/y=11
   If BU=4
      If Peek(ST+5+11*41)=6
         Poke(ST+5+11*41),5
         _OEFFNETUER
         ' WENN KNOPF NR.4 GEDRUECKT UND TUER IST AUF DANN SCHLIESSE TUER AN POSIT. x=5/y=11    
      Else 
         _SCHLIESSTUER
         Poke(ST+5+11*41),6
      End If 
   End If 
   '
   '
   ' WENN KNOPF NR.5 GEDRUECKT UND TUER IST ZU DANN OEFFNE TUER AN POSIT. x=12/y=12 
   If BU=5
      If Peek(ST+12+12*41)=6
         Poke(ST+12+12*41),5
         _OEFFNETUER
         ' WENN KNOPF NR.5 GEDRUECKT UND TUER IST AUF DANN SCHLIESSE TUER AN POSIT. x=12/y=12 
      Else 
         _SCHLIESSTUER
         Poke(ST+12+12*41),6
      End If 
   End If 
   
   
   ' WENN KNOPF NR 6 GEDRUECKT UND TUER IST ZU DANN OEFFNE TUER AN POSIT 0.0X=11/Y=18 
   If BU=6
      If Peek(ST+18+11*41)=6
         Poke(ST+18+11*41),5
         _OEFFNETUER
         ' WENN KNOPF NR.6 GEDRUECKT UND TUER IST AUF DANN SCHLIESSE TUER AN POSIT. x=11/y=18 
      Else 
         _SCHLIESSTUER
         Poke(ST+18+11*41),6
      End If 
   End If 
   ' WENN KNOPF NR 7 GEDRUECKT UND TUER IST ZU DANN OEFFNE WAND AN POSIT X=6/Y=21 
   If BU=7
      If Peek(ST+6+21*41)=0
         Poke(ST+6+21*41),4
         Screen 1 : CLEAR : Locate ,0 : Cline : Print "Sounds as if a wall is moving." : Screen 0
         ' WENN KNOPF NR.7 GEDRUECKT UND TUER IST AUF DANNgu SCHLIESSE TUER AN POSIT. x=6/y=21  
      Else 
         Poke(ST+6+21*41),0
         Boom 
      End If 
   End If 
   ' WENN KNOPF NR 8 GEDRUECKT UND TUER IST ZU DANN OEFFNE TUER AN POSIT 0.0X=8/Y=21  
   If BU=8
      If Peek(ST+8+21*41)=6
         Poke(ST+8+21*41),5
         _OEFFNETUER
         ' WENN KNOPF NR.8 GEDRUECKT UND TUER IST AUF DANN SCHLIESSE TUER AN POSIT. x=8/y=21  
      Else 
         _SCHLIESSTUER
         Poke(ST+8+21*41),6
      End If 
   End If 
   If BU=9
      If Peek(ST+14+13*41)=6
         Poke(ST+14+13*41),5
         _OEFFNETUER
         ' WENN KNOPF NR.9 GEDRUECKT UND TUER IST AUF DANN SCHLIESSE TUER AN POSIT. x=8/y=21  
      Else 
         _SCHLIESSTUER
         Poke(ST+14+13*41),6
      End If 
   End If 
End Proc
Procedure BUTTON[XB,YB]
   Ink 0
   Bar XB-2,YB-2 To XB+2,YB+2
   Ink 3
   Bar XB-1,YB-1 To XB+1,YB+1
   Ink 15
   Plot XB,YB
   Reset Zone 7
   Set Zone 7,XB-2,YB-2 To XB+2,YB+2
End Proc

PASSWORT:
Locate 2,28 : Paper 0 : Pen 13 : Input "Password: ";PW$
Do 
   If Upper$(PW$)="KERENAS" Then LEVEL=2 : Exit 
   If Upper$(PW$)="ARONID" Then LEVEL=4 : Exit 
   If Upper$(PW$)="DARONEF" Then LEVEL=3 : Exit Else LEVEL=1 : Exit 
Loop 
Goto SPIEL
INDE:
Gr Writing 0 : Get Block 1,0,200,320,56 : Locate 2,28 : Ink 9 : Text 20,229,"Really quit (Y)es/(N)o? "

Do 
   A$=Inkey$
   If A$="y" : Fade 1 : Wait 15 : End : End If 
   If A$="n" : Put Block 1 : Return : End : End If 
Loop 

Procedure CLEAR
   Ink 0 : Bar 0,0 To 640,40
End Proc
