Dim ROOM$(30),INDEX$(10) Get Disc Fonts : Unpack 11 To 0 : Set Font 1 Screen Display 0,128,174,320,120 Unpack 5 To 1 : Set Font 3 Screen 0 : Change Mouse 2 Limit Mouse 128,174 To 447,293 Reserve Zone 30 Set Zone 1,1,12 To 51,20 : Rem Look Set Zone 2,1,21 To 51,29 : Rem Open Set Zone 3,1,30 To 51,38 : Rem Close Set Zone 4,1,39 To 51,47 : Rem Examine Set Zone 5,1,48 To 51,56 : Rem Search Set Zone 6,1,57 To 51,65 : Rem Take Set Zone 7,1,66 To 51,74 : Rem Give Set Zone 8,1,75 To 51,83 : Rem Use Set Zone 9,1,84 To 51,92 : Rem Say Set Zone 10,151,26 To 169,43 : Rem North Set Zone 11,132,45 To 149,60 : Rem East Set Zone 12,151,61 To 169,78 : Rem South Set Zone 13,169,45 To 186,60 : Rem West Set Zone 14,233,25 To 249,40 : Rem Up Set Zone 15,231,63 To 249,78 : Rem Down Set Zone 16,267,84 To 317,91 : Rem Attack Set Zone 17,268,12 To 317,20 : Rem Load Set Zone 18,268,23 To 317,31 : Rem Save Set Zone 19,268,34 To 317,42 : Rem New Set Zone 20,268,45 To 317,53 : Rem About Set Zone 21,268,56 To 317,64 : Rem Quit Set Zone 22,3,94 To 37,120 : Rem Inv 1 Set Zone 23,38,94 To 72,120 : Rem Inv 2 Set Zone 24,73,94 To 106,120 : Rem Inv 3 Set Zone 25,107,94 To 142,120 : Rem Inv 4 Set Zone 26,143,94 To 177,120 : Rem Inv 5 Set Zone 27,178,94 To 212,120 : Rem Inv 6 Set Zone 28,213,94 To 247,120 : Rem Inv 7 Set Zone 29,248,94 To 282,120 : Rem Inv 8 Set Zone 30,283,94 To 317,120 : Rem Inv 9 Paper 0 : Pen 1 : ROOM=1 MAINLOOP: Gosub INDEX Do If Mouse Key=1 and Mouse Zone=1 Then Ink 13 : Box 0,12 To 51,20 : Wait 3 : Ink 31 : Box 0,12 To 51,20 : Wait 3 : Ink 13 : Box 0,12 To 51,20 : Wait 2 : Ink 5 : Box 0,12 To 51,20 : Gosub CHECK_ROOM If Mouse Key=2 and Mouse Zone=1 Then Ink 31 : Box 0,12 To 51,20 If Mouse Key=1 and Mouse Zone=2 Then Ink 13 : Box 0,21 To 51,29 : Wait 3 : Ink 31 : Box 0,21 To 51,29 : Wait 3 : Ink 13 : Box 0,21 To 51,29 : Wait 2 : Ink 5 : Box 0,21 To 51,29 If Mouse Key=2 and Mouse Zone=2 Then Ink 31 : Box 0,21 To 51,29 If Mouse Key=1 and Mouse Zone=3 Then Ink 13 : Box 0,30 To 51,38 : Wait 3 : Ink 31 : Box 0,30 To 51,38 : Wait 3 : Ink 13 : Box 0,30 To 51,38 : Wait 2 : Ink 5 : Box 0,30 To 51,38 If Mouse Key=2 and Mouse Zone=3 Then Ink 31 : Box 0,30 To 51,38 If Mouse Key=1 and Mouse Zone=4 Then Ink 13 : Box 0,39 To 51,47 : Wait 3 : Ink 31 : Box 0,39 To 51,47 : Wait 3 : Ink 13 : Box 0,39 To 51,47 : Wait 2 : Ink 5 : Box 0,39 To 51,47 If Mouse Key=2 and Mouse Zone=4 Then Ink 31 : Box 0,39 To 51,47 If Mouse Key=1 and Mouse Zone=5 Then Ink 13 : Box 0,48 To 51,56 : Wait 3 : Ink 31 : Box 0,48 To 51,56 : Wait 3 : Ink 13 : Box 0,48 To 51,56 : Wait 2 : Ink 5 : Box 0,48 To 51,56 If Mouse Key=2 and Mouse Zone=5 Then Ink 31 : Box 0,48 To 51,56 If Mouse Key=1 and Mouse Zone=6 Then Ink 13 : Box 0,57 To 51,65 : Wait 3 : Ink 31 : Box 0,57 To 51,65 : Wait 3 : Ink 13 : Box 0,57 To 51,65 : Wait 2 : Ink 5 : Box 0,57 To 51,65 If Mouse Key=2 and Mouse Zone=6 Then Ink 31 : Box 0,57 To 51,65 If Mouse Key=1 and Mouse Zone=7 Then Ink 13 : Box 0,66 To 51,74 : Wait 3 : Ink 31 : Box 0,66 To 51,74 : Wait 3 : Ink 13 : Box 0,66 To 51,74 : Wait 2 : Ink 5 : Box 0,66 To 51,74 If Mouse Key=2 and Mouse Zone=7 Then Ink 31 : Box 0,66 To 51,74 If Mouse Key=1 and Mouse Zone=8 Then Ink 13 : Box 0,75 To 51,83 : Wait 3 : Ink 31 : Box 0,75 To 51,83 : Wait 3 : Ink 13 : Box 0,75 To 51,83 : Wait 2 : Ink 5 : Box 0,75 To 51,83 If Mouse Key=2 and Mouse Zone=8 Then Ink 31 : Box 0,75 To 51,83 If Mouse Key=1 and Mouse Zone=9 Then Ink 13 : Box 0,84 To 51,92 : Wait 3 : Ink 31 : Box 0,84 To 51,92 : Wait 3 : Ink 13 : Box 0,84 To 51,92 : Wait 2 : Ink 5 : Box 0,84 To 51,92 If Mouse Key=2 and Mouse Zone=9 Then Ink 31 : Box 0,84 To 51,92 If Mouse Key=1 and Mouse Zone=10 Then Bob 1,150,24,1 : Wait 6 : Wait Vbl : Bob Off 1 : Gosub NORTH If Mouse Key=1 and Mouse Zone=11 Then Bob 1,130,42,3 : Wait 6 : Wait Vbl : Bob Off 1 If Mouse Key=1 and Mouse Zone=12 Then Bob 1,150,81,$4000+1 : Wait 6 : Wait Vbl : Bob Off 1 If Mouse Key=1 and Mouse Zone=13 Then Bob 1,190,64,$C000+3 : Wait 6 : Wait Vbl : Bob Off 1 If Mouse Key=1 and Mouse Zone=16 Then Ink 13 : Box 267,84 To 318,92 : Wait 3 : Ink 31 : Box 267,84 To 318,92 : Wait 3 : Ink 13 : Box 267,84 To 318,92 : Wait 2 : Ink 5 : Box 267,84 To 318,92 : Gosub ANGRIP If Mouse Key=1 and Mouse Zone=17 Then Ink 13 : Box 268,12 To 318,20 : Wait 3 : Ink 31 : Box 268,12 To 318,20 : Wait 3 : Ink 13 : Box 268,12 To 318,20 : Wait 2 : Ink 5 : Box 268,12 To 318,20 If Mouse Key=1 and Mouse Zone=18 Then Ink 13 : Box 268,23 To 318,31 : Wait 3 : Ink 31 : Box 268,23 To 318,31 : Wait 3 : Ink 13 : Box 268,23 To 318,31 : Wait 2 : Ink 5 : Box 268,23 To 318,31 If Mouse Key=1 and Mouse Zone=19 Then Ink 13 : Box 268,34 To 318,42 : Wait 3 : Ink 31 : Box 268,34 To 318,42 : Wait 3 : Ink 13 : Box 268,34 To 318,42 : Wait 2 : Ink 5 : Box 268,34 To 318,42 If Mouse Key=1 and Mouse Zone=20 Then Ink 13 : Box 268,45 To 318,53 : Wait 3 : Ink 31 : Box 268,45 To 318,53 : Wait 3 : Ink 13 : Box 268,45 To 318,53 : Wait 2 : Ink 5 : Box 268,45 To 318,53 If Mouse Key=1 and Mouse Zone=21 Then Ink 13 : Box 268,56 To 318,64 : Wait 3 : Ink 31 : Box 268,56 To 318,64 : Wait 3 : Ink 13 : Box 268,56 To 318,64 : Wait 2 : Ink 5 : Box 268,56 To 318,64 If Mouse Key=1 and Mouse Zone=22 Then Bob 1,1,92,2 : Wait 6 : Bob Off 1 If Mouse Key=1 and Mouse Zone=23 Then Bob 1,36,92,2 : Wait 6 : Bob Off 1 If Mouse Key=1 and Mouse Zone=24 Then Bob 1,71,92,2 : Wait 6 : Bob Off 1 If Mouse Key=1 and Mouse Zone=25 Then Bob 1,106,92,2 : Wait 6 : Bob Off 1 If Mouse Key=1 and Mouse Zone=26 Then Bob 1,141,92,2 : Wait 6 : Bob Off 1 If Mouse Key=1 and Mouse Zone=27 Then Bob 1,176,92,2 : Wait 6 : Bob Off 1 If Mouse Key=1 and Mouse Zone=28 Then Bob 1,211,92,2 : Wait 6 : Bob Off 1 If Mouse Key=1 and Mouse Zone=29 Then Bob 1,246,92,2 : Wait 6 : Bob Off 1 If Mouse Key=1 and Mouse Zone=30 Then Bob 1,281,92,2 : Wait 6 : Bob Off 1 Loop CHECK_ROOM: Rem ************ Sjekk hvilket room vi er i *************** If ROOM=1 Then Restore ROOM_DAT1 : Gosub LES_ROOM Gosub VISKUT Gosub SKRIV_UT Return LES_ROOM: Rem ********** Les inn data for rom ************ TE=0 For A=0 To 29 TE=TE+1 : Read ROOM$(A) If ROOM$(A)="ZZZZ" Then ROOM$(A)="" : Return Next A SKRIV_UT: Rem *********** Skriv ut pa skjermen data for current room *********** Screen 1 : Ink 4,0 : B=0 : LOC=2 For A=1 To TE LOC=LOC+6 : Text 171,LOC,ROOM$(B) : B=B+1 Next A Screen 0 : Return NORTH: Rem *************** User will go north **************** Screen 1 If ROOM=1 and HOGGSKOG=0 Then Gosub VISKUT If ROOM=1 Then Ink 4,0 : Text 171,8,"I can't go North!" : Text 171,14,"How do you plan to" : Text 171,20,"get through this" : Text 171,26,"jungle?" : Screen 0 : Return ANGRIP: Rem ************* Attack ************* A=120 : Screen To Front 0 For A#=174 To 40 Step -0.3 A=A+1 : Screen Display 0,128,A#,320,A Next A# Return VISKUT: Rem ************* Visk ut skjerm for skriving av ny text ************* Screen 1 : Ink 0 : Bar 170,3 To 316,129 Return INDEX: Rem ********** Finn index for current room ************ If ROOM=1 Then Restore INDEX_ROOM1 : Gosub LESINDEX Return LESINDEX: Rem *********** Les inn index for current room ************ For A=0 To 9 Read INDEX$(A) If INDEX$(A)="ZZZZ" Then INDEX$(A)="" : Goto AV Next A AV: LOC=9 : Ink 13,0 For A=0 To 9 LOC=LOC+9 : Text 56,LOC,INDEX$(A) Next A Return Rem **************** Data for rooms ***************** ROOM_DAT1: Data "You're in a deep","forest.","There are trees","everywhere.","" Data "ZZZZ" Rem *************** Data for index *************** INDEX_ROOM1: Data "TREES","GROUND","MOUNTAIN","SKY","BAG","ZZZZ"