Welcome, Guest
You have to register before you can post on our site.

Username/Email:
  

Password
  





Search Forums

(Advanced Search)

Forum Statistics
» Members: 485
» Latest member: zenevan
» Forum threads: 2,802
» Forum posts: 26,364

Full Statistics

Latest Threads
Masakari - the abandoned ...
Forum: Programs
Last Post: Sanmayce
2 hours ago
» Replies: 0
» Views: 25
What do you guys like to ...
Forum: General Discussion
Last Post: Pete
2 hours ago
» Replies: 23
» Views: 510
Merry X-Mas 2024!!
Forum: General Discussion
Last Post: NakedApe
3 hours ago
» Replies: 13
» Views: 244
QB64PE v4.0 is now live!!
Forum: Announcements
Last Post: RhoSigma
5 hours ago
» Replies: 39
» Views: 1,611
DeflatePro
Forum: a740g
Last Post: aadityap0901
5 hours ago
» Replies: 4
» Views: 140
Smallish Games
Forum: bplus
Last Post: bplus
9 hours ago
» Replies: 20
» Views: 1,373
Mean user base makes Stev...
Forum: General Discussion
Last Post: Pete
Today, 06:12 AM
» Replies: 27
» Views: 676
GNU C++ Compiler error
Forum: Help Me!
Last Post: eoredson
Today, 05:27 AM
» Replies: 55
» Views: 1,525
SaucerZap
Forum: QBJS, BAM, and Other BASICs
Last Post: CharlieJV
Today, 04:37 AM
» Replies: 9
» Views: 139
Printing to image handle
Forum: Utilities
Last Post: Pete
Today, 03:14 AM
» Replies: 8
» Views: 134

 
  OPENFILEDIALOG$ question on a Mac
Posted by: NakedApe - 12-22-2023, 09:36 PM - Forum: Help Me! - Replies (10)

I tried using this command for the first time, got the example off of HELP, but it doesn't work for me. Why do I not get a result here? The first line opens up a dialog box, allows me to pick a file, then nada. Thanks in advance for help with my softball question. Ted

result$ = _OPENFILEDIALOG$("Pick a File", "", "", "")
IF results$ <> "" THEN _MESSAGEBOX "File" + results$

Print this item

  Uncreation - testers wanted!
Posted by: johannhowitzer - 12-22-2023, 10:32 AM - Forum: Programs - Replies (4)

"Most things are built with a purpose in mind.  If made well, they serve their purpose
until they wear out, and are repaired or discarded.  I've spent my life building things,
sometimes great things, sometimes small, and often I've had to give up and start over.
You can't let yourself be discouraged by failure; after all, in failure, we learn the most.


But this time is different.  Some failures can be set aside, others must be atoned for.
I just hope I'm not too late..."


---------------------------------------------------

Redeeming the Text Adventure Formula

The classic shortcomings of text adventures are the overwhelming complexity of human
language, and the often unintuitive, item-based puzzles.  In UNCREATION, you'll use
a short list of verbs provided, with one-word objects highlighted in the text, to limit
your options and shift the focus back to the adventure.  Solutions will be more than
just "use item on thing," you will need to gather information about your surroundings
and put the pieces together to find the way forward.  You will also be able to save
your progress.

Great care has been taken to make sure the places you'll explore will not be overwhelming.
You should not need to make maps of locations unless you personally find it helpful,
there are no mazes.  My primary inspirations are the games Riven and Ghost Trick:
Phantom Detective.


State of the Game

Currently, the prologue and first chapter are completed!  Later chapters are in varying
stages of development; the second chapter's design is finished, but much of the text still
needs to be written.

Right now I am looking for testers to try out what's done so far, so I can make the game
even better.  I've done lots of testing myself already, so it's not likely you will find
anything gamebreaking.  The game will make log files, if you decide to give this game
a try, please send me the contents of the "logs" folder when you're done.  Anyone who plays
and sends me logs will be credited in the finished game.

I wonder who will be able to complete it first?

You Can't Just Read the Code!

Yes, this is a repost.  Last time, I only posted the compiled program, as I was concerned
that people who wanted to see how the program worked might spoil the solutions for themselves.
madscijr was kind enough to take a look and give some suggestions, such as offloading the
text into a binary file, store it in arrays, or encrypt it in-line.  But that seemed awkward
and daunting, so I shelved the project and worked on other things for a while.

Recently I had a flash of inspiration: what if I just wrote a program to automatically
produce a copy of the code with the text already encrypted, to be decrypted at runtime?
Thus if you look through the code, you will no longer easily be able to pick out anything
to help you complete the game.  And since the encryption is now done for me effortlessly
in one click, I can easily continue development on the unencrypted version!

Code: (Select All)
$noprefix

const encryption_active = -1

screen 12

title "Uncreation - Chapter 1"

logfile$ = "log-" + right$(date$, 4) + mid$(date$, 3, 3) + "-" + left$(date$, 2)
logfile$ = logfile$ + "-" + left$(time$, 2) + "-" + mid$(time$, 4, 2) + "-" + right$(time$, 2) + ".txt"
open logfile$ for output as #2

dim shared text_color as byte: text_color = 0
dim shared bg_color  as byte: bg_color  = 15

const true = -1
const false = 0

color text_color, bg_color
cls , bg_color

dim shared flag(400) as byte













for n = 1 to 14: flag(n) = 0: next n



flag(101)          = 0
flag(102)            = false     
flag(103)    = 0
flag(104)      = 0
flag(105)    = false     

flag(201)      = false     
flag(202)      = true
flag(203)      = false
flag(204)    = 8         
flag(205)    = 5
flag(206)    = 2
flag(207)    = 0         
flag(208)    = 0
flag(209)    = 0
flag(210)      = false     
flag(211)      = true
flag(212)      = false

flag(213)    = false     
flag(214)        = false     
flag(215)        = false     
flag(216)        = false     

flag(221)    = 0
flag(222)  = 0
flag(223)      = 0
flag(224) = 0
flag(225)  = 0
flag(226)  = 0
flag(227) = 0
flag(228)      = 0

flag(301)      = 0
flag(302)    = 0
flag(303)      = 0
flag(304)      = 0
flag(305)      = 0
flag(306)    = 0
flag(307)    = 0
flag(308)      = 0
flag(309)  = 0
flag(310)      = 0
flag(311)  = 0

flag(312)      = false     
flag(313)      = false
flag(314)        = false
flag(315)      = false
flag(316)      = false
flag(317)        = false
flag(318)      = false
flag(319)        = false
flag(320)    = 7
flag(321)      = 5
flag(322)    = 5
flag(323)      = 7
flag(324)      = 0
flag(325)      = false     
flag(326)      = 0








dim shared location      as integer
dim shared last_location as integer
dim shared badmoves      as byte   


dim shared raw_input$
dim shared verb$     
dim shared object$   

dim shared last_text$




pr"000XFHWR#0000#QUDLQ000"
pr""
pr"Wl#vdw{#ghwu/v#rg#qwlj#r#loqh#rws#rg1kvl##hwdyqxh#rw#rd|kq/|xzo#hgw#|hzuv"
pr"W#rhdrq/ws#rsv#lhwrvon#quk#q#vxkdw1rpy#uxg#|hfpdvguflq#lh*rw*dg*rwhv*"
pr"W#dhl#ruvurqlj/ws#or*#q#rhdlhvpwljpurwn#q|x#xuxgqv#|h*rn/dgw#{pq#rhkq#rh"
pr"frh|#r#{po##zwk#r#ro#|h*rnvlf*#Lsudwovo/iuhdshdvlf/|xzxgws#or#zwk1#prwq"
pr"zuvzo#hkjojwgzw#q-vhlnrg#loe#lklkh#lkd#dwuv1"
pr""
pr"W{#ghwuvfqe#uvuwqo#sfifdrwzd#r#hgw#|hhwdyqxh#d#hixwdlj|vhll#ex#kw|xqh#rws/"
pr"v#rurwrvky#hqvudoqgdow#Wsfo|#r#loro#hgr|x#slq#dheh#whplh##r1#|ldo/|xzo#q|qh"
pr"wuhpu#rpqv0*h*#kf#hv|xsf#slhv#rh*#kfkh#rhfpdg##jw/zlkow#r#lnx#wp>*sq/zlk"
pr"l#rw|xh#qgrv#q#xh/zlk|xvro#h#qwhkewvpvo#vgr#ru>dg*v*#kf#r#kxgjwl#k#dl"
pr"r#vq#qhh|kq1#r#{po/lvhgr#so#hh*#r#kxgixljr#yuwlj#Iuhdsh#qwd#i*xooyu/|xvro"
pr"ws#xhoyu1|h*v#hh*"
pr""
pr"L#r#loqh#rxhrkufpdg/|xzo#hliuh#kd#iwp1i|xzo#hgw#v#wh#rpqv#r#loe#qrpgdhgr#lh"
pr"\xfqdv#|h*hs#wd|wp1r#d#orws#ko*d#q#lh"
pr""
pr"^HX#HWU=Ws#zu*w#nsrh#k#uojhfdwuGEJIDXH#|h*ds#rvl#yuwhsrrx#ksh1"
pr"Wl#d#q|e#vgd#k#dhvvdwq#rdlq`kvfqro#hxh#wwhjp*#wuljofwr1"
pr""
input "Press ENTER to begin.", z$

cls , bg_color
pr"\xzn#szw##wu/vdsq#qrxwuo#rdvdh#rllql#h1r#dhx#lkdvdw#qsljlyoqdl|w##hwgsvwr#qeg"
pr"\xvdgx#oz|#wihvon#rhh#lf#r#hhov#zn1r#wq#svro/l#ho#lhiuyuvqh|xzu#dwddh"
location = 1




do


if last_text$ = "" then
  select case verb$
      case "look"
        select case rand(1)
            case 1: pr encrypt$("There isn't anything to say about " + aan$(object$) + ".")
        end select

      case "open"
        select case rand(2)
            case 1: pr"\xfqwrh#kwr#d*#sqwd1"
            case 2: pr encrypt$("There's no " + object$ + " that can be opened here.")
        end select

      case "get"
        select case rand(1)
            case 1: pr encrypt$("It's not possible to get " + aan$(object$) + " here.")
        end select

      case "north":    cantmove
      case "northeast": cantmove
      case "east":      cantmove
      case "southeast": cantmove
      case "south":    cantmove
      case "southwest": cantmove
      case "west":      cantmove
      case "northwest": cantmove
  end select
end if


if last_text$ = "" then
  select case rand(1)
      case 1: pr"L*#rxh#u#rhkq#ohwvq#v/w|vpwljhv1"
  end select
end if




if location = last_location then


  fw = 207: fc = 208: fe = 209
  prev_w = flag(fw): flag(fw) = plus_limit(flag(fw), -1, 0): c_w = flag(fw)
  prev_c = flag(fc): flag(fc) = plus_limit(flag(fc), -1, 0): c_c = flag(fc)
  prev_e = flag(fe): flag(fe) = plus_limit(flag(fe), -1, 0): c_e = flag(fe)

  if prev_w = 1 then flag(201) = true
  if prev_c = 1 then flag(202) = true
  if prev_e = 1 then flag(203) = true

  if location => 113 and location <= 130 then
      if c_w > 0 then pr"": pr encrypt$("You hear " + ntext$(c_w) + " faint chime" + plural$(c_w, "", "s") + ", from behind the left side of the stage.")
      if c_c > 0 then pr"": pr encrypt$("You hear " + ntext$(c_c) + " faint chime" + plural$(c_c, "", "s") + ", from behind the center of the stage.")
      if c_e > 0 then pr"": pr encrypt$("You hear " + ntext$(c_e) + " faint chime" + plural$(c_e, "", "s") + ", from behind the right side of the stage.")

      if prev_w = 1 then
        pr""
        if location = 115 then
            pr"Whsdiu#hr#r#hfqv#dlj|xw##dj#rpxguwhvdhk#owrpeoz|xgvhg/wnq#r#rdouhur#qh#k#wj1"
            pr"Whzrh#kwh#ovvdrh|x#hg#hyq#r#qdpv|guqv1k#rgqvxwufrh#ey#rukd/odlj|xl##xw#dnhv"
            location = 126
        else
            pr"Whsdiu#qwhoi#lhr#k#wj#hfqvk#owrpr#k#hwvg#iwhvdhgvhg/"
            pr"dgdzrh#kwh#ovvw#rh#k#rhl#k#wj#or1q##rgqvxwufrh#rfyuwhko#qwhvdhiru"
        end if
      end if

      if prev_c = 1 then
        pr""
        if location = 116 then
            pr"Whsdiu#hr#r#hfqv#dlj|xw##dj#rpxguwhvdhk#owrpeoz|xgvhg/wnq#r#rdouhur#qh#k#wj1"
            pr"Whzrh#kwh#ovvdrh|x#hg#hyq#r#qdpv|guqv1k#rgqvxwufrh#ey#rukd/odlj|xl##xw#dnhv"
            location = 128
        elseif location = 129 then
            pr"Whsdiu#r*hvdgq#qh#hfqvlw#k#or/wnq#r#lkk#owrp|xu#wqljxgugvhg#qrwhiru#dlj|xzw"
            pr"l#q#kwljrwdoojwir#k#rp|xzu#q#\xzy#kwdgvxwq#x#o#lk#upwhur#r#hhl1#r#dhwh"
            pr"idklk#uxgdeww#h#ruedlj1ovojwdrq##l#rjw|x#huqv"
            location = 138
        else
            pr"Whsdiu#qwhfqh#iwhvdhgvhg/k#owrpl#k#hwur#k#wj#hfqv"
            pr"dgdzrh#kwh#ovvw#rh#k#rhl#k#wj#or1q##rgqvxwufrh#rfyuwhko#qwhvdhiru"
        end if
      end if

      if prev_e = 1 then
        pr""
        if location = 117 then
            pr"Whsdiu#hr#r#hfqv#dlj|xw##dj#rpxguwhvdhk#owrpeoz|xgvhg/wnq#r#rdouhur#qh#k#wj1"
            pr"Whzrh#kwh#ovvdrh|x#hg#hyq#r#qdpv|guqv1k#rgqvxwufrh#ey#rukd/odlj|xl##xw#dnhv"
            location = 130
        else
            pr"Whsdiu#qwhujwvg#iwhvdhgvhg/k#owrpr#k#lk#lhr#k#wj#hfqv"
            pr"dgdzrh#kwh#ovvw#rh#k#rhl#k#wj#or1q##rgqvxwufrh#rfyuwhko#qwhvdhiru"
        end if
      end if
  end if
end if

if location = last_location then

  pr""
  input "> ", i$
  print #2, "> " + i$
  pr""

  if i$ = "" then i$ = raw_input$ else raw_input$ = i$

else
  print
  i$ = "look"
  last_location = location
  badmoves = 0
end if




i$ = trim$(lcase$(i$))

for c = len(i$) to 1 step -1
  n = asc(lcase$(mid$(i$, c, 1)))
  letter = false
  if n = 32 then letter = true
  if n => 48 and n <= 57  then letter = true
  if n => 97 and n <= 122 then letter = true

  if letter = false then i$ = left$(i$, c - 1) + right$(i$, len(i$) - c)
next c

c = instr(i$ + " ", " ")
verb$ = left$(i$, c - 1)
i$ = trim$(right$(i$, len(i$) - c))

c = instr(i$ + " ", " ")
object$ = left$(i$, c - 1)



select case verb$
  case "n": verb$ = "north"
  case "e": verb$ = "east"
  case "s": verb$ = "south"
  case "w": verb$ = "west"

  case "ne": verb$ = "northeast"
  case "se": verb$ = "southeast"
  case "sw": verb$ = "southwest"
  case "nw": verb$ = "northwest"

  case "h": verb$ = "help"
  case "l": verb$ = "look"
  case "g": verb$ = "get"
  case "o": verb$ = "open"
  case "u": verb$ = "use"
end select


'? "["; verb$; "] ["; object$; "]"
'if verb$ = "lt" then print last_text$



select case full_input$
  case "help"
      pr"Fpr#kqv|xfqws=rpqwlj#r#d#|h"
      pr""
      pr"^#uko`0Vr#kvliudlqkr#hs##kzwl#qrpwr"
      pr"^/h#/z#uquk#dw#rw/zv`0Py#uxgq#/v#/r#rw/hv/vxk#hw##rhdrq"
      pr"^#uor`0Or#uxg#ud#rhkq#sfifor#rn##rndrq/r#wvpwljvhll"
      pr"^#ujw##lnx#qlh/ws#ly#rvh|x#wpjr#h`0Sf#sd#wp#|h^q`w#h#rulhv"
      pr"^#urh`0Rh#rhkq/n|#loe#vgdwpwfo|rr#sq##sqvpwlj#hvzo#hxh#xrdldo"
      pr"^#uxh##v#rhkq/w|r#yuwljxr#v`0Xhvpwlj#u#qhh|kq$"
      pr"^rr`0Fdj#k#hwdgvuh#rrvfou##kqhwhw{#q#fhqfou"
      pr"^dhr#rg##dhr#rg|x#dhvy#uod`0Vy#uod#rujp"
      pr"^xw##xwwhjp#xvygsruv#loe#rwtl`0Tl#k#dh+qdh#ujhvzo#hov,"
      pr""
      pr"W#hhw|x#dwfpdg#l#qh#lkx#|ljd|kq1rusd#ruov#rpq/kwhwuzwrwwsq#qwlj"

  case "inv"
      pr"00LYQR\000#QHWU#0"
      for n = 1 to 14
        if flag(n) <> 1 then continue
        select case n
            case 1: pr"-ovojwzwrwszuIdklk#lkx#rh"
            case 2:    pr"-ovojwIdklk"

            case 3:        pr"Qwljrkq"

            case 4:      pr"Sf#iG-dwuhdnr##ewhlv"

            case 5:      pr"Vdodxlx#hpo#opqpn|"
            case 6:        pr"-huq#lkugeo#rN|ljzw#h#hoie"
            case 7:        pr"Dvuh#ssuvrwg-dhv"

            case 8:      pr"Vhhr#hnowqn|"
            case 9:        pr"Sdwf-hfuovl#n|dg"
            case 10:          pr"Hhwld#ivofufo-xh"
            case 11:    pr"Opqvhw-uvdxlhfq#f|wo"
        end select
      next n

  case "use batteries"
      if flag(4) = 1 and flag(1) = 1 then
        pr"\xrh#k#dnj#q#r#k#dwuh#qrwhkqo#iwhidklk1r#sqwhsfdhdgsswhewhlvlw#k#dghr#k#ovojw"
        pr"Wvljwhvlf/l*#r#rhh#q#loov#voq#v|xo#hghwq#k#zwk#wvqzszugdgzo#dwd#rjd#r*oqh1"
        flag(4)      = 2
        flag(1) = 2
        flag(2)    = 1
      end if


  case "look flashlight"
      if flag(1) = 1 and flag(2) = 0 then
        pr"L#rn#hy/dgl#dhr#of0dqh#hd1worvkd|#q#vpg#iednslwgpwo"
        pr"Whhdhq#dwuh#qlhku#u#rewhlvlvg1"
      elseif flag(1) = 0 and flag(2) = 1 then
        pr"L#rn#hy/dgl#dhr#of0dqh#hd1worvkd|#q#vpg#iednslwgpwo"
        pr"L*#rhh/dgfsehr#ugfq##oqljed#iojwwvszug#q#ddo#isrxljdelgq#hpr#lk1"
      end if

  case "look nothing"
      if flag(3) = 1 then
        select case rand(3)
            case 1: pr"L#rn#lhvdhldldlqworvon#wo#pjqwr1"
            case 2: pr"L#hu##wlljuvpoqhw#ruiudgsruv1wedvdvunq#hhedf#r|x#rzu#ujhv"
            case 3: pr"\xy#hqrhr#kv#hrh#x#r#d*#hheukzr*hvh#q#iwhheiu/ew|xfqwupph#r1"
        end select
      end if

  case "look batteries"
      if flag(4) = 1 then
        pr"Dsf#iGws#dwuh/xrhh1#dnr##|hewhlv#qsqg"
      end if

  case "look keyring"
      if flag(6) = 1 then
        pr"Whhdhwrvdo#gqld#uv#hvku#u#z#po/lhwfoedvn|1"
      end if

  case "look papers"
      if flag(7) = 1 then
        if location < 9 then
            pr"Whhdhsjvzw#lw#iqphv#dh#lklgfshdo#dguwq/ku#u#dh#lkovvr#xeu/sjvzw#qhlkuehkqzllj"
            pr"ps#iyurvsdh/dizspkhvw#rd#wuflq/vp#hhsvdvr#dlx#ofv##h#dsow#rofodwdwrv#rhuflw"
            pr"iuvdosukvv#q##kq#orwxh0ssgr#hd#wwrh|r#po#xfdh/dgdwl/dpv#vgx#d#iojovdlqu1"
        else
            pr"Drjwhssu#u#kh#dsow/hf#izlkvrvd#qhhwqpq#k#dhvdhwuhspkhv#dkr#kf#kz#qlwuvlj"
            pr"ofwr/dgovvd#guv#lkdvdopsr#k#dn#Rhr#kprdlq#q#lw#qdghvzw##po#d#qwhef1#q#iwh"
            pr"vrvwhjrqvr##sdoq#vdh#hwuq##rqdqdgvurqljkz#k#uxg#idvuzljhww/idxljdixwl#q#xuxgq"
            pr"juhv#R#qwh#vsfxh#qhhdwpuo0rxqgwhwudrqgdgq1#qdrkul#lwugd#ojq#dehfoph#kdh#guh"
            pr"zw#dqu#q#whpu1#k#dwrhvrfvvdoed|elwl#lkeqhvdgvudhv#Whov#q#kzdh##luu#xo#qd"
            pr"yu#yq0dg/pqpov#wo/zw#zhljzovr#qvd#ksvh|ddwjuh#lldlwv|h#lkvhsq#do#ixxxovdh"
            pr"dgdjh1q#qov"
        end if
      end if

  case "look keycard"
      if flag(9) = 1 then
        pr"Vprhvsfxhl#qwhirw#oq#lkwhwhwuoj1rhq*#lwu#vr#k#uq/drjzw#k#kdh#rr"
        pr"Whhvdednvd#wl#oq#k#dnku*##of#fqvusdrjwhef1"
      end if

  case "look fuse"
      if flag(10) = 1 then
        pr"L*#rvgl##ovl#dlj#lkfqdw#rqrhhgwd#kzwvkxh#qdsdwffvq/zw#rwfvgz#q#q#kwvr"
        pr"q#lq#izd1#k#uq#d#rhoeoq/dglgqdlq#riwrvjvr#hu#Whirwkvvp#dhlj#q#qhwwrvw#l"
        pr"lw#k#rnwdgofljwe#idive{qrwhvfh#q#rnq#dvr##xhr1"
      end if

  case "look crystal"
      if flag(11) = 1 then
        pr"Whf|wol#wo#ozq##l/dgfxh#rukq#rjr#qfqdwk#uvd#vvlojrljdew#q#dvv|x#dgw#ozr#rwf1"
        pr"L#vyedljv#dqo#vw#hqdo#phfslo1wl#luwq#rilw|d#re#hu|lsuhweh"
      end if

  case "get"
      if flag(3) = 0 then
        pr"\xjwqwlj#Xvu#kwsurhwl#lovuh#r#x#wlwr#r#rkq1#qxhzd#xsv#kvzo#hy/|xswl#qr"
        pr"|x#qhwu#qz|#\x#qhwu#rn#w|xzw#rfu1rulyqr|d|d1#rulyqr|orvd#r#lkfqhq"
        flag(3) = 1
      else
        pr"Dwrj#r#kfh/dggiqwo#ohg#dhwd/qwljghqwokxk|xfhng#q#hllh|dud|ky#kw#rkq#rv*"
        pr"wn#spf#sf/v#r#g#rhpu1#dljgq#kw#wvqwfhudhx#xkvdh#r|xdgvp#rh#Kyq#rhwd/l*#r#od"
        pr"wd#qwljkvfdjgkwd|kq#d#kqh1"
      end if

  case "color"
      do
        for n = 0 to 15
            color n, bg_color: print n;
        next n
        color text_color, bg_color: pr"#"
        input "New text color 0-15:", t$
        print #2, "New text color 0-15:" + t$
        if trim$(t$) = "" or val(t$) < 0 or val(t$) > 15 then exit do
        input "New background color 0-15:", b$
        print #2, "New background color 0-15:" + b$
        if trim$(b$) = "" or val(b$) < 0 or val(b$) > 15 then exit do
        if val(t$) = val(b$) then pr"Fou#d*#df$rrvfqwpwk": pr"": continue
        text_color = int(val(t$)): bg_color = int(val(b$))
        color text_color, bg_color
        cls , bg_color
        last_location = false
        exit do
      loop


  case "save"
      pr"Wl#lorhzlhd|hlwq#dh#dhkvzo#yuuw#q#{vljvygjp1"
      if confirm$("Please type 'save' again to confirm.") = "save" then
        open "save.sav" for binary as #1
        put #1, 1, location
        put #1, , text_color
        put #1, , bg_color
        put #1, , flag()
        close #1
        pr"Jp#dh1dhvyg"
      else
        pr"Vy#dfoh1dhfqhog"
      end if

  case "load"
      if fileexists("save.sav") = false then
        pr"Q#dhgw#rq1rvy#ddixg"
      else
        pr"\xzo#rhd|xvygsruv#i|xg#kvr#loov#q#qdh#ujhvl#r#rwl1"
        if confirm$("Please type 'load' again to confirm.") = "load" then
            open "save.sav" for binary as #1
            get #1, 1, location
            get #1, , text_color
            get #1, , bg_color
            get #1, , flag()
            close #1
            pr"Jp#rggdhodh1"
        else
          pr"Od#dfoh1rgfqhog"
        end if
      end if

  case "quit"
      pr"\xzo#rhd|xvygsruv#i|xg#kvr#loov#q#qdh#ujhvl#r#rwl1"
      if confirm$("Please type 'quit' again to confirm.") = "quit" then close #2: system
      pr"Tl#dfoh1xwfqhog"

end select



select case location

case 1

select case full_input$
  case "look"
      pr"000Egrp00000#hur#00"
      pr"\xdhl##po#hur/zw##lsh-h#jlv#k#dwzo1r#u#qdvdoegrp#lkdvpo#egddqwwhhv#do"
      pr"Elk#xojwl#rljwuxkwhvxk-lgz#ey##fhwr#uzu1ujwvqlk#vfpq#krj#k#rw#zqr/drhd-kv#igdhv"
      if flag(103) = 1 then t$ = "open" else t$ = "closed"
      pr encrypt$("There is " + aan$(t$) + " *door to the north.")

  case "look bed"
      pr"L#d##r#rgqidh#h#ex##rwdrhwhiru#lkdvqowkvdozzrh#up/vwdrwdir#ey#k#or/zw##ljh"
      pr"zlhvhwdgednwkw#kh#q#oqh1"
      if flag(5) = 0 then
        pr"Whvqlk#vjlwq#i#rhkq#qwhiruq{#rwhegk#xojwl#oqljrivpwljr#k#or#hww#k#h1"
        pr"L*##po#opqp-h1wvdvdodxlx#n|"
      end if

  case "look door"
      pr"L*#dhr#wu|orljzr/ewlqwslwgr#dqvh1wvpg#ivxg0rnq#rg#x#v*#dqh#uyulkg"

  case "look window"
      pr"Dwrsq#lgz#qdqh/zw#rfudq1#k#ov#vslwq1#z0dhzqr/xslwg#lkq#xwlv#Whjdvl#uvlh"

  case "look chest"
      pr"Whfhwl#wlh#rgdgkvwrgdhv#Wh-r#uzukvvpk#kv#vvdqgzr#q#d#z#uzu1#k#wsgdh#d#rh"
      pr"vxipuvdrq#k#dgh#q#k#ewr#uzukvd#opqpn|rhfi#dn#uxgwhkqo/dgwh-rwpgdh#d#qdxlx#hko1"
      if flag(4) = 0 and flag(101) = 1 then
        pr"Whhl##dnr##ewhlvlvg/hrj#rszudouhidklk1ku#vdsf#iG-dwuh#qlh#qxkw#rh##dj#ovojw"
      end if

  case "get batteries"
      if flag(4) = 0 and flag(101) = 1 then
        pr"\xy#r#k#dwuh1#rvh|x#wp/ws#ly1#k#lyBr*hjwwhewhlv#W#h#rulhv#|h*q*#Z|*q*"
        pr"L*#qdehlwr1#wvdg#r#lyvldh*#r#v#wwwvd#euydlq#L#wqviu*qhwjw1#\xxhl#r"
        pr"*qhwjw*|x#qhwu1lyvldh#rulyqr|"
        flag(4) = 1
      end if

  case "get key"
      if flag(5) = 0 then
        pr"\xy#r#k#h1#rvh|x#wp/ws#ly1#k#lyBr*hjwwhn|#W#h#rulhv#|h*q*#Z|*q*"
        pr"L*#qdehlwr1#wvdg#r#lyqlh*#r*hjww#hwvd#euydlq#L#wqviu*qhwy1#\xy#r#re"
        pr"*qhwy*zh#hlljkzw#v#rulyqr|lyqlh#kqgfgq#r#rxh|x#qhwu1"
        flag(5) = 1
      end if

  case "open drawer"
      pr"\xo#dhw#hvhll#ex#kf#q/-r#u-rwpr*oky#re#sfifdrwzlkrh#wsr#ewr1"

  case "open top"
      if flag(101) = 0 then
        pr"L#ogvrh#dl|#Whhl##dnr##ewhlvlvg/wvlh#sqhvo1#ku#vdsf#iG-dwuh#qlh"
        pr"hrj#rszudouhidklk1qxkw#rh##dj#ovojw"
        flag(101) = 1
      else
        pr"Wd#uzul#ohg#sqkwgdh#vdud|rh1"
      end if

  case "open bottom"
      if flag(5) = 0 then
        pr"L#r*#sq#L#r#lgdn|#r#r*#hgw#v#w#xww|wzqwrh1#i|xiq##h/|xgqwqh#rxhl/mv#u"
        pr"rhljddq#q#h#qrygzo#hxh#qwhsrhvr#uljsqq#jl/d|n|lyoh#loe#vgl#k#ufv#iw|q"
        pr"w#sqvpwljrrh#rhkq1"
      elseif flag(5) = 1 then
        pr"Whn|iw#zzuo#qrwhfhsof/zlkwnvvp#lgljk#h#lvdndg|lw#k#kd#rn#kf#dh#rhigoq"
        pr"w#r#sq#Whgdh#ogvrh/ewwhhvqwljlvg1rssrh1#k#uzuvlh#sq#x#ku*#rkq#qlh"
        pr"L#kvwhwx#hqq#i*xrloBvwl#k#uhpdljr#wwud*"
        pr"\xfrhwhgdh#lkwhn|lvg/wh#rnl#jl1r#ov#k#uzuzw#k#h#qlh#kqof#wddq"
        flag(5) = 2
      elseif flag(5) = 2 then
        pr"\xdud|ofh#k#h#qlh#kxk|xu#r#xhkzr#ohg#rngwhn|lvg/wrj#r*hqwvu#r1"
      end if

  case "open door"
      if flag(103) = 1 then
        pr"L*#ohg#sqwvdud|rh1"
      elseif flag(103) = 0 and flag(102) = false then
        pr"\xwu#k#dghdgso#k#rurh1#wvlj#rqovo1r#xqwhkqo#q#xowhgr#sq#L#zqvvxghv|"
        flag(103) = 1
      elseif flag(103) = 0 and flag(102) = true then
        pr"\xwu#k#dghdgso#k#rurh1#wsrhw#hhhw|r#xqwhkqo#q#xowhgr#sq#L#uwvvykpqo/"
        pr"kqh#udljoxo#q#hhd#rjvoqhvvdsq#i1ljvfhnq#rg|dgvyuooq#slwu#qsljri"
        pr"Ewd#hv#wvrh1x#wodwl*#sq"
        flag(103) = 1
      end if

  case "north"
      if flag(103) = 0 then
        pr"\xzo#wdjwlw#k#ovgegrpgr1#k#pdweqvr#dnvulk#qrwhfrh#hur#ru#Whlsf#hg"
        pr"whsqoq##l#q#zvvwhkqh1k#dhljdewdgwlw#k#ljv"
        flag(102) = true
      elseif flag(103) = 1 then
        pr"\xvh#x#qrwhko1#k#lk#kqq#krj#k#dwr#wsrwlw#k#do#Whojwvlljwuxkwhhv"
        pr"zqr#hho#xw##l#igv#qwhdu#\xfqlx#rwhlgzuydvtlhdewr#xwl#k#l1#r#rwqhw#k"
        pr"zv#q#iwhkoz|hwhgr#k#dod1"
        location = 2
      end if

  case "east"
      pr"Whegrpzo#vl#k#d1k#hur#dol#qwhz|"

  case "south"
      pr"Whegrpzo#vl#k#d1k#hur#dol#qwhz|"

  case "west"
      pr"Whegrpzo#vl#k#d1k#hur#dol#qwhz|"

  case "warp"
      pr"Whdudrq#r#xv#q##ujwojwhyos#r1k#l#uxg|xkp/dgdelk#lk#qhrv|x"
      pr"Zh#wjh#z|dwudizvfqv#r#lg|xvo#qdfukql#rvdd#ih##h#hrg/|xiq#ruhil##d1"
      flag(1) = 2
      flag(2) = 1
      flag(4) = 2
      flag(5) = 2
      flag(6) = 1
      flag(7) = 1
      location = 9
end select


case 2

select case full_input$
  case "look"
      pr"000Koz|00000#dod#00"
      pr"\xu#qdqur#dwzv#dod1#k#irul#rwgl##kqo|ur*hl##duzhv0hwkoz|#Wh-or#vfdh#qdwl#dh"
      pr"r#gv/zlknfvx#qrwhdud#r#rh#Wuxkwhqukgri-xw#kf#ln#slw#k#l#v|xpy1#krj#k#rw#ru"
      pr"|xfqvhdur#lkdouhweh#k#rw#ruuydvdgu#rpr#d#h##rpzw##dj#do>whvxkgr#hho##dnur"
      pr"dpv#rshh|rfsh#lkvp#xn#pflh|#Hv#hg#dnorwfpowo#fxlgzw#rheo|-dkqu1#dwodvef"
      pr"w#k#hur#ru#Wh-rud#k#hwhg#kf#vpf#oh0rnqrwhegrpgr1#k#gr#wwhzv#q/zlkl#xkrguorlj"
      if flag(104) = 0 then pr"wd#k#whv#vfrh1kqwhrku/l#ovg"
      if flag(104) = 1  then pr"wd#k#whv#vrh1kqwhrku/l#sq"

  case "look floor"
      pr"On#k#hur/whhl#rfuh#urkuiruq#hh#xwduxklhwhegrp#ku#vq#dswr#wh#orljku/mv##rj"
      pr"zrh#or#rhh#q-xwrgqirufyugl#gv1"

  case "look dust"
      pr"Whhdhq#rwuqvl#k#xw#su#upwhrh#r*hmv#dhku#u#rirslw#qwhgv/ddwir#k#qv|xy#xwpg1"

  case "look machinery"
      pr"Whhdhpq#lo#q#xwq/eww#h##ovuor/|xo#dhwku#u#d|gdvdgewrv#x#rjwdfrh#rn#r*oky#r"
      pr"zo#qrwhur1dnlw#k#rp"

  case "open door"
      if flag(104) = 0 then
        pr"Whgr#sq#qdvdoilk#iwuhfquw#ws/dgdgu#dkk#rurhvr##po#ojwr#kh#rfhhvhv#q##lwsw"
        pr"odvir#k#ws#rdjw#qdzrh#rwiqh#oq##po#rghg#upwhvhvw##dhl##rgqsv#hf/drjdvdoud1"
        pr""
        pr"Duwh#kq#iwhgr*#df#udvri#q#do#qrwhzhvq{#rwgfxnr#k#ruvowkehn#i/dgiovlw#k#hg#hw"
        pr"w#k#ws1#k#ruvlj#whizg#q#hw#jlv#k#lhrrwhvhv#Whgr#zqvlvo#lhdguvvddqwwhvg#i"
        pr"whkxhk#rv1"
        flag(104) = 1
      else
        pr"Qq#iwhgrvku#u#ovgrhr#k#ru#hhdhfrh1"
      end if

  case "north"
      pr"\xvh#qrwhqukur1r#wslw#k#rw#rp"
      location = 3

  case "east"
      pr"\xuwu#rwhegrpr#hxqw#k#hur1"
      location = 1

  case "south"
      pr"\xfxlxo#qh#k#rpzw#k#dkqvr#dwrv|hwuwhur#lkwhpflh1"
      location = 4

  case "west"
      if flag(104) = 1 then
        pr"\xvh#x#qrwhow#ihqr#x1#wvdelnio#d/r#wsrwlw#k#dhdwurqvq#L*##uv#dog|"
        pr"ewqwfo1x#r#rg"
        location = 5
      else
        pr"\xfhn#q#xhhrj/grvvloutlhrhljr#kf/dgvu#qxk#ru#wo#hxu#sqq1"
      end if
end select


case 3

select case full_input$
  case "look"
      pr"000QukUr#0000#rw#rp000"
      pr"Wl#rpkvdouh#rqh#d#wehddqwwhqukdgzv#do/kvur#d##dj/uxggrn-do#jlv#k#rw#q#hwzov"
      pr"l*##l#r#l#r#kvur/dgwhhdhq#klv#Whqukzowvdewwrejiuwl#rp#q#ku#u#rfdu1#k#rw#do"
      pr"kvdrkuvdozqr/zlkl#ofh#|wo#uv/v#k#rplqwd#qwh#po#lgz#kf#vernge#dojdv#rwhur#v*"
      pr"yu#ujw|ow#Whgr#rwhvxkodvef#rwhkoz|h|elko#l1#k#ruw#k#rw#hg#dnw#k#dod1"

  case "look table"
      if flag(1) = 0 and flag(7) = 0 then
        pr"R#k#do/whhdhvp#fwhh#ssu/d#hod##dj#idklk1qwhweh#ku#u#rhvdwug-dhv#vzo#vdouh-ovojw"
      elseif flag(1) <> 0 and flag(7) = 0 then
        pr"R#k#do/whhdhvp#fwhh#ssu1qwhweh#ku#u#rhvdwug-dhv"
      elseif flag(1) = 0 and flag(7) <> 0 then
        pr"R#k#do/whhl##dj#idklk1qwhweh#ku#vdouh-ovojw"
      elseif flag(1) <> 0 and flag(7) <> 0 then
        pr"Whwehl#dhk#do#veu1"
      end if

  case "look flashlight"
      if flag(1) = 0 then
        pr"L#rn#hy/dgl#dhr#of0dqh#hd1worvkd|#q#vpg#iednslwgpwo"
      end if

  case "look papers"
      if flag(7) = 0 then
        pr"Whhvdoww#dhl1#ku#u#dh#lkovvr#xeu/sjvku*##r#rwn#q#Whhdhsjvzw#lw#iqphv#dh"
        pr"zw#qhlkuehkqzllj#dvr#dlx#ofv##h#dsow#rlklgfshdo#dguwq/ps#iyurvsdh/dizspkhvw"
        pr"ofodwdwrv#rhuflw#r#po#xfdh/dgdwl/dpvrd#wuflq/vp#hhsviuvdosukvv#q##kq#orw"
        pr"xh0ssgr#hd#wwrh|vgx#d#iojovdlqu1"
      end if

  case "get flashlight"
      if flag(1) = 0 then
        pr"\xy#r#k#ovojw#L*#lkh#kq|xhsfh#q#rv*#rnr*hjwwhidklk1#wvojwuwd#r#{hwgdgghqwzu>"
        pr"fhnq#k#dwu#rsupq/|xiq#ku#u#rewhlv#L#r#lgkfljwhewh|fpdwhw#r#lgwhhdhq#dwuh1#i|xiq"
        pr"vp/xljwhewhlvl#od#qxk#Jquo|#i|x*v*vpwljrh#vq#k#dwuh#vfhuhrj1#hhdo/l#r#xh#rhkq/"
        pr"|xo#qzkzw#v#wdgzd#rxhl#qr*onr#r#rxhl#q#kww#v#wr1"
        flag(1) = 1
      end if

  case "get papers"
      if flag(7) = 0 then
        pr"\xsf#swhpv#issu/ko#kpyuldo/dgvdhwh#uvor#lnx#k#dvr#dhv#rgwh#hwfo|#q#kn#kpeln|"
        pr"ddqwwhwehw#rpdqd#wf1##r#iwl#qrpwr#hpjlv#k#do#riu##hwvdn#Dowr#kvliudlqvhv"
        pr"uqr#q#uee|xhhv#x#q|x#lxwr/d|kq#d#hsdgpdgsrdo#vov/ewl#ruvwdlq#qwljfqko1"
        pr"Sudvvp#iwl#lopn#rhvqhowuhks#rhr#kvzo#dhpu#hv#dh1"
        flag(7) = 1
      end if

  case "north"
      pr"L*##po#rp#r#d#hf#yuwljir#hhwvdvdour/|xfqudkhh|kq#upku1"

  case "east"
      pr"L*##po#rp#r#d#hf#yuwljir#hhwvdvdour/|xfqudkhh|kq#upku1"

  case "south"
      pr"\xuwu#rwhkoz|r#hxqw#k#dod1"
      location = 2

  case "west"
      pr"L*##po#rp#r#d#hf#yuwljir#hhwvdvdour/|xfqudkhh|kq#upku1"
end select


case 4

select case full_input$
  case "look"
      pr"000VxkUr#0000#rw#rp000"
      pr"L*#xsllj|gu#qku/whhdhq#lgz1#k#q|ojwl#rljwvvuuvqo#dnl#hh#ku#u#rzqrv#Whro#lk#vfpq"
      pr"ir#k#xwq/dgwhqukgrz|#Whhgqwvh#re#q#lkvupwhewrv#q#k#rw#rud1#ku#r*#hpw#hd|ojw"
      pr"w#xqr#hh#lku0dor#k#do#u#dhrwu#qku/hwh##o#iwhzovdheu1"
      pr""
      pr"Drq#k#lh#iwhur#u#dj#dkqv#qvp#xifvdhgp|uxgwhvgvr#k#rpdhouhpflh/r#rhvudh#u#lo"
      pr"efow-xwq/dgvp#lsd#fhq/dor#kf#u#i1#qrhfuhdnl#ewrv#q#rhgvo|vuhv#o#izlkdhri#L#q#rqu"
      pr"r#k#or/|xfqeuo#dhrwdwlnpwo-ln#ex#z#hwliwhiru#r#d#dh|pn#x##kf#hd#gv/drwwrih#q"
      pr"gdhh1#ku#vdpwkq#lnpxwgw#k#hoq#ey#w#Whhdhlpwu#Whhl##dfljgv#rqh#rwhflljdrhl1#kv#u"
      pr"ew#rqfh#rwhpl#xnr#k#hkrr|e#xeufdh#dovrkfqhwgw#k#dqeo#iwhwfqoj#|ueh0rwgfeh/"
      pr"d#kf#v|x#u1vwlnd#rudp"
      if flag(2) = 1 and flag(6) = 0 then
        pr""
        pr"Vlljwhidklk#uxg#r#rlhdvdo-huq#qwsrkqq#k#ovojwdrq/|xqwf##po#n|ljr#r#i"
        pr"rhr#k#dkqvq#iwhpflh1"
      end if

  case "look disk"
      pr"L#xworvon##oer#rl#hd1#rlj|x#dgfrh#r#dwmv#rn#lhdvd#ivogpwo#Pyq#rukq#ov/|xfq"
      pr"gwf##ojwsoljvqdlql#k#l1hhwdvlk#xvq#hvwr#qwhdu"

  case "look buttons"
      pr"Whewrvdhyurvv}vdgfou1#ku#u##h#dhvku#q#ku/k#xwq#u#dlx#lh#q#rrv#Whhdhdizoeo#hhdgwhh"
      pr"ewpvo#xeu#q##h#hwu/qwljlwollo1x#rw|qphvdgdizowhv#rkq#qhojeh"

  case "look keyring"
      if flag(2) = 1 and flag(6) = 0 then
        pr"Whhdhwrvdo#gqld#uv#hvku#u#z#po/lhwfoedvn|1"
      end if

  case "get keyring"
      if flag(2) = 1 and flag(6) = 0 then
        pr"\xsf#swhn|ljr#lnx#k#huq1"
        flag(6) = 1
      end if

  case "north"
      pr"\xuwu#rwhkoz|r#hxqw#k#dod1"
      location = 2

  case "east"
      pr"Whpflh|l#qwhz|k#dkqu#vl#k#d1"

  case "south"
      pr"Whpflh|l#qwhz|k#dkqu#vl#k#d1"

  case "west"
      pr"Whhvdzo#qwhz|ku*##dol#k#d1"
end select


case 5

select case full_input$
  case "look"
      pr"000\u#dk00000#dgSw#00"
      pr"Whhvdjr#uhhjlj#k#uh#u#z|q##l/ewwhhdhqku*##rgeh}#rq/whwhvdhvdljdew#x#ku#u#r"
      pr"rkuvxg1#k#qhkj/xwqh#uv#hvhh#dour#lkuvgwh#rqv#Whnh0lk#qhggjdvjw#yqwoh#qhwh#lh"
      pr"r#k#dk#efuq#ruyh#iwhfxw|lh#q#d#rhw#hgiwhsw/rvxlj|x#lzr#k#rquvg/dgkvjq#rvh1"
      pr"W#k#hw#ku#vdvpo#rwiqhevg#k#ud/pg#iqur#rvrwhzv/whhl##lshsv#hf#hlhwh-rg#dhr#duzoj/"
      pr"zw##jw#ku#wphvwhsw1#hlgwhvdo-rv#rwhhv#vlkd-dhzhhl#hw#k#dk#Ekq#k#po#kxhw#k#dwl"
      pr"drkuiuv/dgwh-ruw#k#rv#vrh1#k#n#vvdhex/qwh#rhw#q#k#gr#rwhkxhl#sq#Whv|l#ow#oh"
      pr"zw##h#dj#oxvlkdizouhfrg1"

  case "look door"
      pr"Whgr#vuvljddqwwhvg#iwhkxh#r#xw#hwfok#rul#hwq#jlv#k#lhr#k#rv/qwtlhyuld1"
      pr"L#d#hsvlo#rfrhl#jl1wp|e#rvehw#ov#wddq"

  case "look house"
      pr"Whkxhl#dvgriwhjrq/zw##fdosf#qhqdk#kngzwk#rv#vulh#i#k#uxg#lkd-uzvdhxguhw/frh#lk"
      pr"jdvdgzhv#L*##lshufdjouvdhzw##osgur/uv#q#hg1#wvdvpo#hwqxd#ks#lkdvrh#ri"
      pr"xslwg#k#xh#do#rhh#qvrw#rgsqoq1#hsw#kqdqh/whrwuzovfyugl#prkzr#dhlj#Gvlhwh"
      pr"ryrvdhr#k#dhdgirwgr/whuv#iwhkxhdsdvyu#h1elx#j#iwhjw#q#uq#ru#k#hwr#k#rv#shu#h|qz"

  case "look crawlspace"
      pr"L*#r#yuuz#rhsrh#R#k#lk#lh#r#d#h##wf#iwvwrrhjrqw#{ou1#qwhujwvg/|xfqvhdvdnr"
      pr"fqhern/vsrwq#k#dwr#k#or#qh#k#rpzw#k#dkqvlguofv#xsuljwhsu#iwhiruxguwhur#lkwhpflh1"

  case "look road"
      pr"Whhdhq#lq#iwdif#\xfqwvhpf#iwhud#upku/ku#u#rvjvr#uil1#r#d*#h#xkr#k#rgir#hh"
      pr"ghw#k#dojdvx#rwhwo#uv1"

  case "look gate"
      pr"Whjw#d#rowk#q|duv|sl#ikqh1#hjglw#k#ljvk#dhkvq#df/ro##xw#dur#ljv#Zgh#qrwhkqh"
      pr"l##rgg#hwhzu#i|uzw#rrioslwq1vdioh/zdkurq-oh#lkfoux#uqlj"

  case "look flyer"
      pr"Whi|uudvk#oh#hg/"
      pr"*o#qo#rp*#RDIG#rr#rqlv#Ugh#ruzu0x/xhhvRgXfhWp|vEQ#LHUewExwh$#hhp|x#rqrw#vov"
      pr"uew#r#dkl#dg#Vqlq#rvh#llj|xos#Vr#wzd#r/rrviufv#qkq$#hwhwwdwujyq#r#lB#kzl#kwiu"
      pr"fo#qo#rp#rd$doXfhWp|wg|*"

  case "close door"
      pr"Vljq#k#ruvx/|xfqvhwhzuv*DHKXH#dqh#qednzqljwhgr#kw#r#d#h#k#rg#VI#RV*slwgl#of"
      pr"r#k#lhr#k#rv#ku#wzv#D#lv#wvhvpflhslwgqwhvg#iwhkxhzhhl#d1#wiuwl#hp#dkq#uqh/"
      pr"d#wvl##h|qd#|hdh#x#rnq#ovu#r#d#h#uv#wrh1vl*#qdyu#hwwsif/eworljfrh/|xfqvhexkvunv"
      pr""
      pr"Zw#k#df#unq#k#ruvlj#sqddql#k#uhh#owhljlkwhowkerh/whgr#zqvrh#jl#qwheh}/fdwuq"
      pr"oxo#jlv#k#rv1rg|ddqwwhkxh"

  case "north"
      if flag(105) = false then
        pr"Whhvqwpf#rq#rjljhsrljl#k#dojdvujwqzku*#r#xkslww#rq#{ouq#qwhwo#uv#lk#r1"
      elseif flag(105) = true then
        pr"Zgq#krj#k#dovdn#ijdv#r#rhduv##po#dfdljwuxkwhwo#wovr#uv/|xfp#frvdvdoswk"
        pr"wd#d#hqoyoge#k#uvqhr##d1#q|whsu#rhh#|kwkveh#hhh#|whshhf#idfu#Ro#k#dwfyuge"
        pr"whful#owhh/v#k#d#vzoh#qdovgve#uv1k#d#vidwqg#rwhful#dogr#o#lh#|jdv"
        location = 7
      end if

  case "east"
      pr"\xj#dnlvg#k#rv1r#ref#qlhwhkxh"
      location = 2

  case "south"
      pr"Whhvqwpf#rq#rjljhsrljl#k#dojdvujwqzku*#r#xkslww#rq#{ouq#qwhwo#uv#lk#r1"

  case "west"
      pr"\xksvuo#yuwhjw/oqljd#k#kxgur#k#uyoud#lkr#r#s||rh#k#dh#dgq#wwhvroh#iwhjdh#rgzw"
      pr"dzwfxf1#wzqvqukdgvxk#ldsdljeiu#rjdrq#h#uqk#L#lg#rw#q#rw/gvshuq#hrhoq#uxg"
      pr"whwhvk#uh1"
      location = 6
end select


case 6

select case full_input$
  case "look"
      pr"000Ud#0000#rg000"
      pr"Wh-rgl#duz#q#ro#q|dfprdhrhykfh#Wh-rhwwk#ud#vqur/dgfxgro#frpgw#q#hlo1#k#iuv#r"
      pr"whzv#vyu#kf#q#yuuz/whodh#qdvupq#ielodwk#hwl#h|wlndgrhjrq#k#hyvd#vrwhwr#uolq"
      pr"fou1#hhdgwhh#k#lv#hyvdhiolj#W#k#dwl#krrv#Ku#q#ku/whiuwodh#u#doq1#rwhhv#vwh"
      pr"-rv#r#rhl/zw#lk-uv#rhwh#lh#R#k#rw#lhrkxh|xzn#q#lkkj#jdvw#lkuvg1#qwhqukvg#i"
      pr"whkxh#k#uv#hp#rwl#x/d#iwhhvdfhuq#xwrwk#rv/whjdvvhvw#kqrw#vl#ku*##odljmv#x"
      pr"r#lk1ivjw"
      flag(105) = true

  case "look forest"
      pr"\xfqwvhyu#d#qrwhiuv1#k#uh#u#lhdgwo/dgvlor#d*#h#h|iulw#k#rhw#Whwhvdhzg#q#do#q#wo"
      pr"uwl#rwr#kl#hyv#Whxguuv#vkd|#rwr#wvlojhqhdqpv#iwhuodh1#k#qhexkl#hy/pv#il#wo#uh1"

  case "look road"
      pr"Whud#xvqukdgvxk#L*#dh#lkgu#q#uyo#q#lvozuk#rguq#rw#q#rw1#wvsygzw#lwdgjdh/dgvw#rh"
      pr"wd#k#uxgr#lkuvg1kqwhjrq#qhwh#lh"

  case "look house"
      pr"Dowhvurqlj#u#kfo#uz#q#qhgg#x#k#rv#vpgo#k#xuxgqvdhwln|jrqdgxwqh/ewwhkxhl#dh"
      pr"r#uq#h#dhlo/zwrwd|dwqlqw#hrdlqiedgqzpwudv#lkx#q#whwr#rgfuwr1"

  case "look grass"
      pr"\v#ku*#hllh|d#sqdh#pq#k#uv#rwhquk#rh|uvh/whhvgiqwo#qrh#uddrjwhjdvw#k#rw/vp#dg"
      pr"dd#upwhkxhz|ir#k#rv1"

  case "north"
      pr"\xyqxhqukdrjwhud#r##h#lxh/ewdo|xiq#vpu#rgr#hwu#rw#oq#k#rgiudizpqwv#x#o#r#lgl#rhud"
      pr"dgpu#rhw#Sudvl#ro#hev#riq##dwupg#iwdh1q#rhiuv1#hks#wzxge#hww#lgdivh#rhr#uyo"
      pr"\xuwu#rwhjw1r#hxqw#k#dh"

  case "east"
      pr"\xyxwef#yuwhjw/rw#k#dkr#do#dnrh#k#dh#qrwhsw1"
      location = 5

  case "south"
      pr"\xsrhgvxkdrjwhud#r##h#lxh/d#wvhfohwzdkuiur#ufh#rw#oq#k#rgiudizpqwv#vl*#{hoq#hwh#r"
      pr"dzo/ewwhhlqwpf#rvh#vwhud#hp#rj#qhghv|#dn#x#ku#v*#xkw#h/d#k#rgvhvw#rr#qovo1"
      pr"Sudvl#ro#hev#riq##dwupg#iwdh1#r#hxqw#k#dhhks#wzxge#hww#lgdivh#rhr#uyo#\xuwu#rwhjw1"

  case "west"
      pr"\xvhq#hvqw#qh#k#rhwr#h#rudr#rhwuwhiuv1"
end select


case 7

select case full_input$
  case "look"
      pr"000Fhuq#0000#odlj000"
      pr"\xdhvdgq#qwo#uv/zw##ful#uq#i|x#L*#lifor#u#wqljl#dojdv#lkd-d#qirwr#r1#wvgilxw"
      pr"w#h#qwljhv#x#k#n/l#r#ref#rw#krj#k#uv/rvhd|kq#ohewwhv|#i|xj#dnvxkwuxkwhjdv"
      pr"|xvro#lgwhkxhddqr#kxgiq#k#rv#jl1"

  case "look car"
      pr"L*#qrgerqfxh#k#dq#vzdkuhwqewqwshlj#q#r#d*wvd#o#uz#rs/whslwl#hwhedh#x#r#hoq/dg|xfqw"
      pr"vhd|uv1#kw|xfqvhr#k#lh#dvwh#u#uee|iq1#r*hh#q#xw#Zd#r#d#h#iwhwuvv|#k|dhsrdo#lh#\xu"
      pr"r#k#uyuvvg/whful#rqljw#k#hw#ku#k#rgvro#hqwhglh*#lh#k#d#vslwq#rwhzv/zhhwhud#kxge1"
      pr"Whvdvdhdwf||or#oqh/v#qvfq#kxk/whfuvro#uee|k#hw#u##dn#hozidqo#rr#hrgwrjw#k#d#kxgsrdo"
      pr"e#rgph1hfqhqg"

  case "open car"
      if flag(6) <> 1 then
        pr"Zw#rhgilxw#xkq#k#uv#vg/|xvro#rnwhglh*lkvp#lifo|svljwhjdvdlh#r#oz|zu#k#uyuv"
        pr"vg#rurh#q#op#qlh#Whhdhq#hvl#k#jllq#hwhlhvr#sqdgflelvg1#ku#u#rn|#qwhlqwr/qlku"
        pr"l#k#oy#r#ud|ku#ohwd#r#d#h/v#r#op#dnrwqwhjrhe{r#qzhhhv#kw|xfqvh#r|xfleef#x1"
      elseif flag(6) = 1 then
        pr"Zw#rhgilxw#xkq#k#uv#vg/|xvro#rnwhglh*lkvp#lifo|svljwhjdvdlh#r#oz|zu#k#uyuv"
        pr"vg#rurh#q#op#qlh#ovq#k#ruekq#r1#wfrh#qlhgr#sqdgflelvg/frljwhgr#hlg|x#L#ovvr"
        pr"vp#iwhjdv#x#ku*#r#xkslww|q#rjwl#rshh|rhr#k#uv/ewwhhvqwpf#rq#uljw#h#wfpowo"
        pr"fhu#Wnq#x#k#huq/|xlvu#q#iwhn|#q#lhl##xqod1#dljrwwhn|lj#r#qhwrhr#k#hvdgjy#wdwu1"
        pr"Whhjq#swhvdew#x#wuvr#k#lv#u1k#qlhvxwu##l/ewvdw#qwhiuww|"
        pr""
        if flag(7) <> 1 then
            pr"Kzyu#k#rgdhgl#lh|w#hoq#q#rivq/dg|xgqwkyrhh/whud#kd#vono#re#rjdgfqxlj#q#r#r*#dh"
            pr"d|fx#izhhw#rir#hh#L#ro#hdjr#gdw#rpdevfq#ohr#ku#rj#upku1#wzxge##rglh#riu##dl"
            pr"sd#lv1#r#lowhhjq#q#h#dnrwoqiuw#\xno#k#qlhdgjwef#x1"
        elseif flag(7) = 1 then
            pr"\xvro#hdo#rjwwhfuw#rhzv#upku#qrwhud1r#kxge#ehw#h#k#d#rpy#hwir#hhrw#k#rg"
            pr"\xky##lgw#kf#x#rhr#k#ofvgvuegdrjwhssur#dhdpq#rfhnrwvp#iwhsdh#hflh#pq#k#dhv"
            pr"|xixgr#rq1"
            location = 8
        end if
      end if

  case "north"
      pr"Vdfljdewiukuw#k#rw/|xro#lgpu#uv1hukq##l#xwh#rwhquk#r#q|iq#rhjdv"
      pr"\xuwu#rwhfur#hxqw#k#d1"

  case "east"
      pr"Vdfljdewiukuw#k#dw#r#q|iq#rhjdvhukq##l#xwh#rwhhv/|xro#lgpu#uv1"
      pr"\xuwu#rwhfur#hxqw#k#d1"

  case "south"
      pr"\xqyjw#k#dojdvddq#dlj|x#d#dnw#k#rv1r#dldhwhwo#uv#jl/pnq#ruz|ef#rwhkxh"
      location = 5

  case "west"
      pr"Vdfljdewiukuw#k#hw#r#q|iq#rhjdvhukq##l#xwh#rwhzv/|xro#lgpu#uv1"
      pr"\xuwu#rwhfur#hxqw#k#d1"
end select


case 8

select case full_input$
  case "look"
      pr"000Fu00000#d#00"
      pr"\xu#lwq#qd#o#uz#d#dljzv/vurqh#|wo#uv1r*hvwljl#qrgerqfuifq#hw#xuxgge#dojdv"
      pr"Whful#xqq/dgshxdo#k#rgl#hwwuxkwhjdvdhgk#d#vuqlj#q#uvpe|whud#vzv#krj#k#uv#kd1"

  case "north"
      pr"Whhvq#rpw#xqwhfuku1ku*#rur#rwu#k#d#hh"

  case "east"
      pr"Whjdvl#kf/dgl#ro#hdndgdgslwhvw#dnx1k#uv#vwln#q#wzxge#zzu#q#rqov#ref#s"

  case "south"
      pr"Whhvq#rpw#xqwhfuku1ku*#rur#rwu#k#d#hh"

  case "west"
      pr"L#dh#rhspljwhjvw#h#k#d#krj#k#uv#kd/ewdwuwwnvvp#xsq#k#d#rjwwhfuwuxkwhjdvdhg#x#ih"
      pr"dpqw#uv#ifdlj#r#puh#k#uq#iwhfuslwgrw#k#lxhr#rr#r{q/|xhhj/whirwr#k#d#rqh#qrwh"
      pr"ud1rg"
      pr""
      pr"\xdhl#qrgerqfu#xwriwhud1#r#hiwuxkwhssur#u#qd#o#uz#d/mv#i#k#rg#\xod#krj#k#dhv"
      pr"l#ruos#pq#kpdhwuhspkhv#dkr#kf#kz#qlwuvljq|x#d/drjwh#u#kh#dsow/hf#izlkvrvd#qhhwq"
      pr"ofwr/dgovvd#guv#lkdvdopsr#k#dn#Whhvdejhrdlq#q#lw#qdghvzw##po#d#qwhef1#ku*##lju"
      pr"wdh#d#qwhjrhe{uyopsl#k#oy#r1"
      location = 9
end select


case 9

select case full_input$
  case "look"
      pr"Zhhzo#r#rku#lo|xjB"
      pr""
      pr"40QzrwWhwu#7#o#oqv#rg##hsu#kdh/87RgHdlhUd"
      pr"50Nqrw|Kvrld#vdh#55--Dhx#Qwud||w##hzuk#lwufoHww/43#-#yqh+r#hg#h,"
      pr"60GygK#klwsh#xofOed|##lneukFuo#Qwud||w##dl#1FuvrkuSel#luu/7Yfvxj#lfh+r#hg#h,"

  case "1"
      pr"Whwhwuspkh#kz#qhhdwelgq#lkdsodh#hdvdfk#kdh#dsowvrvd#ojq#xoljzw##louguqlvqh"
      pr"irw#Xljwhdghvdgwhpsl#k#oye{#r#u#ehw#dhluq1#vq#k#guv#q#k#d#qwhjrhr/|xdhdo#rpn#w"
      pr"w#k#kdh/zlkpwkvwhsfxhl#wxwu/ewqwl#wrshhrwhwhwu#kf#dfh#k#lwu#qvufxh#x#r#qdpvku1"
      pr"Whhl#rsjdw|#rvj#iufq#v1#k#uq#ws#u#lwugku#vq#dhqu/q#lqr#hhwxh#Whirwvhvdhowhh"
      pr"zw#hyv#q#k#uq#rul#ufh#sq#\xfqvhq#lk#rljlkodh/dgwhirwgr#vfdngrh1#r#d#h#rojwfpq"
      pr"ir#q#iwhzqrvupd|r#k#lgz1"
      location = 102

  case "2"
      pr"+kvofwr#d#r#hqiqvh#h,Wl#rdlqkvqweh#llkg|w"

  case "3"
      pr"+kvofwr#d#r#hqiqvh#h,Wl#rdlqkvqweh#llkg|w"

  case "north"
      pr"Xhwhqphv4#/r##rqyjw#rdgvldlqv#k#xeu#/5#u6w#dldhw##hwqwr1"

  case "east"
      pr"Xhwhqphv4#/r##rqyjw#rdgvldlqv#k#xeu#/5#u6w#dldhw##hwqwr1"

  case "south"
      pr"Xhwhqphv4#/r##rqyjw#rdgvldlqv#k#xeu#/5#u6w#dldhw##hwqwr1"

  case "west"
      pr"Xhwhqphv4#/r##rqyjw#rdgvldlqv#k#xeu#/5#u6w#dldhw##hwqwr1"
end select

end select
select case location

case 101

select case full_input$
  case "look"
      pr"000Vgzo#0000#lhdn000"
      pr"\xu#wqljr#k#rw#lhr#k#whw#qirwr#k#hsur*hvdgq#qwhvxkvg#iwhvuh/l#uq#iwhQzrw"
      pr"Whwu#Whvhvodljx#rwhwhwudhpg#ijdlh#q#oqhkdh1#k#ws#hgq#sw#k#kdh#u#dhr#uqw/dgidng"
      pr"e#hdljor#vdxv#\xu#wwhzv#q#iwhvhv#Whfu|x|pqfq#lq-wwh1#r*hd#k#hwhgr#k#ws1#k#d#r"
      pr"grhw#h#hhl#rwhhv1uy#rjwku#vw#k#dw"

  case "look statues"
      pr"Whhvdxvdhyu#o/pg#iwhvp#uqw#vwhvhv#Whhdhkv#wwh#u#h|rg#dhr#k#dhjdlhd#k#ws1#ku#u"
      pr"dizvdofdn#llo/dgvp#po#kqvpvlj#Whorv#dh#h#po#ufvyveh#q#rhvdofxn#lvq1#k#lq*pqv"
      pr"dhfuh#qhdrdhfuv#q#k|ky#rhh1u#dygl#oeuw#xo/dgwh#dhq#|v"

  case "use manhole"
      if flag(11) <> 0 then
        pr"\xih#r*hhsrh#k#hwvr#kvrgwhwuhrj1r#ho|xy#{ougwhgsk#iwl#o#kdh#qxk"
      end if

  case "north"
      pr"Duv#k#whwl##po#xlld#dn#rwgzw#yuuh#uh#qfrvwhvuh#vdvdopqfsosu/gwh#lkhhjhqwhvdg"
      pr"dvpo#rfhhixwl/zlkl#wo#xqq#kvow#qrwhhhlj#lshfquw#rqdq#kf#vvlouqljwl#dhlw#k#yqq1"
      pr"\xfqvhvp#dk#q#hfh1#worvlywq/ewrwlhwhvrhr#d#h#rhswvdgeqkv#L#rn#qllj#x#xvg#k#fs"
      pr"r#rufuhwfqhq1i|x#xuq#rfuv"

  case "east"
      pr"\xzo#yuw#k#dwvg#iwhvhv#ku#k#d#vzlljr#dnrh#rwhhv#lhr#k#ws/zhhwhful#dwq1"
      location = 102

  case "south"
      pr"\xdfq#k#ws#rdgwhwhwur#vhgwhvhvwzu#k#kdh1"
      location = 103

  case "west"
      pr"Gz#k#whww#k#hw#r#d#h#o#dqur#ks###hrqwhvuh#rwhzv/|xfqvhdopqh#ivrv0diz"
      pr"uvduqv##deuks#kworvon##hrgvrh##dovoq1hwxdw/deuhvr/zd#rn#lhdufu#wu/dql#dr11"
      pr"pv#wo#hprh#r#xlhv#x#kwvqwzd#r#dhku#r1rwvlovh#sqiuevqv/ewwd*#r#kw|xfp#hhiu"
end select


case 102

select case full_input$
  case "look"
      pr"000Vgzo#0000#lhdn000"
      pr"\xu#wqljr#k#rw#lhr#k#whw#qirwr#k#hsur*hvdgq#qwhvxkvg#iwhvuh/l#uq#iwhQzrw"
      pr"Whwu#Whvhvodljx#rwhwhwudhpg#ijdlh#q#oqhkdh1#k#ws#hgq#sw#k#kdh#u#dhr#uqw/dgidng"
      pr"e#hdljor#vdxv#\xu#wwhhv#q#iwhvhv|pqfq#lq-wwh1#r*hd#k#dwhgr#k#ws1"
      pr"Wh-d#r#uy#rjwku#vvwljq{#rwhfu1k#fu|xgrhw#h#hhl#lwq#hww#k#xe"

  case "look statues"
      pr"Whhvdxvdhyu#o/pg#iwhvp#uqw#vwhvhv#Whhdhkv#wwh#u#h|rg#dhr#k#dhjdlhd#k#ws1#ku#u"
      pr"dizvdofdn#llo/dgvp#po#kqvpvlj#Whorv#dh#h#po#ufvyveh#q#rhvdofxn#lvq1#k#lq*pqv"
      pr"dhfuh#qhdrdhfuv#q#k|ky#rhh1u#dygl#oeuw#xo/dgwh#dhq#|v"

  case "open car"
      pr"\xrh#k#d#rudgjwef#q#Orljrh#k#dsow#jl/r#sqwhfugr#q#h#dnl1#rnq#yuwhspkhvddq"
      pr"|xfqlh#rurwrvr#rvgu|x#slq1"
      location = 9

  case "north"
      pr"Duv#k#whwl##po#xlld#dn#rwgzw#yuuh#uh#qfrvwhvuh#vdvdopqfsosu/gwh#lkhhjhqwhvdg"
      pr"dvpo#rfhhixwl/zlkl#wo#xqq#kvow#qrwhhhlj#lshfquw#rqdq#kf#vvlouqljwl#dhlw#k#yqq1"
      pr"\xfqvhvp#dk#q#hfh1#worvlywq/ewrwlhwhvrhr#d#h#rhswvdgeqkv#L#rn#qllj#x#xvg#k#fs"
      pr"r#rufuhwfqhq1i|x#xuq#rfuv"

  case "east"
      pr"Gz#k#whww#k#dw#ku*##rjvuwkr#dj#rvv#hddhrqwhvuh#rwhhv/whhvdoq#whf#iouhkxh/vsuwg"
      pr"ir#k#lhdne#howlpgkgh#q#dwlr#dh1#r#d#huupwhvgzo#|zo0uph#hjvdgfv0uqjwv#\xfqkd"
      pr"dgjeuljhfwg|l#k#lwqh#Ev#r#rjwgvufh1#r#dnq#{lho#qwhgvdf1#hwqww#h#lwdwg"

  case "south"
      pr"\xdfq#k#ws#rdgwhwhwur#vhgwhvhvwzu#k#kdh1"
      location = 104

  case "west"
      pr"\xzo#yuw#k#hwvg#iwhvhvr#dnrh#rwhzv#lhr#k#ws1"
      location = 101
end select


case 103

select case full_input$
  case "look"
      pr"000WhwuVhv00000#kdh#ws#00"
      pr"\xu#wqljd#k#r#iwhvhvl#uq#iwhQzrwWhwu#qr*hvdgq#wwhwsr#k#ws#qirwr#k#hsu#kdh/l"
      pr"irwr#k#hwu#dqhwdf#gr1#wvqwdyu#dj#kdh/ewuq#iwhzvhqpl#quqh-ru#L*#r##h|ouhwhwu#x"
      pr"whhllhvrqw#rvuflqdgwhgu#qhlujy#wd#prljk#gif*#udhfqwxwr#q#k#dnlwur#lhl#qlsvq"
      pr"du#Vp#iwhodh#dherqlvg1#k#d#vzlljgz#kl1#rhr#k#hyvky#oz#qlh#Whful#dwq#rqwh"
      pr"vhvw#k#rw1ws#rwhquk"

  case "look door"
      pr"Dfhujdvgr/idh#|dvhogridhzw##lhso#dgh#od#ov#ru#upge##wh#ruup#lkdzg#xokqo1"
      if flag(221) = 0 then
        pr"L*#sqmv##uf/wrj#k#ljvvh##l#xw1wvrh#xwdfdn#kxkwhkqh#hpdewuv|"
      end if

  case "open door"
      if flag(221) = 0 then
        pr"Whwhwugr#zqvrh#lkdveo#udljvxgk#kdh#ruvlj#sqzw##xwhfhnq#rq1"
        flag(221) = 1
      elseif flag(221) = 2 then
        pr"Whwhwugr#vofh1k#kdh#rul#rng"
      elseif flag(221) = 1 then
        pr"Whwhwugr#vdud|rh1k#kdh#rul#ohg#sq"
      end if

  case "north"
      pr"\xzo#dngz#k#ws#rdgwhfu1r#dnef#rqwhvhvwzu#k#xe"
      location = 101

  case "east"
      pr"\xzo#yuw#k#dwvg#iwhvhvr#dnrh#rwhhv#lhr#k#ws1"
      location = 104

  case "south"
      if flag(221) <> 1 then
        pr"Whhwdf#rwhwhwul#ovgk#quqhw#k#kdh#vfrh1"
      else
        pr"Vhsq#qrwhwhwu#r#u#uhh#|dujo#dhqx#re/wsljlw#k#kdh/|xdhjhwge##hd/fyurvoe|"
        pr"uqljhv0hwdrjwhirwr#k#xoljxqq#dwzv#oq#k#uq#iwhelgq1"
        pr""
        pr"Xr#hwq#k#ruvljvx#hlg|x#r#hudox#of1sqowljwhgr#zq#kwekq#r/|xkd##rgfln"
        pr"W|q#k#dgh#wvhvwhgr#d#ohg#rngzh#r#r#hhuljwhkqo/l#hp#k#ruzvdud|ofh#kq|xjwku/"
        pr"ewkg*#hqvx#o#k#d1#wzqwrh#r1x#dqweh#kwdowhz|#L#r*#sqqz"
        flag(221) = 2
        location = 105
      end if

  case "west"
      pr"Whhvro##td/xwlpgkghevg#k#ws/q#hgw#rwd#d1ku*#q|dvxw#quph#hj#hlhwhvhv#rqh#rj#kwz|"
end select


case 104

select case full_input$
  case "look"
      pr"000WhwuVhv00000#kdh#ws#00"
      pr"\xu#wqljd#k#r#iwhvhvl#uq#iwhQzrwWhwu#qr*hvdgq#wwhwsr#k#ws#qirwr#k#hsu#kdh/l"
      pr"irwr#k#dwu#dqhwdf#gr1#wvqwdyu#dj#kdh/ewuq#iwhhvhqpl#quqh-ru#L*#r##h|ouhwhwu#x"
      pr"whhllhvrqw#rvuflqdgwhgu#qhlujy#wd#prljk#gif*#udhfqwxwr#q#k#dnlwur#lhl#qlsvq"
      pr"du#Whful#dwq#rqwhvhvw#k#rw1l1#k#d#vzlljgz#k#ws#rwhquk"

  case "look door"
      pr"Dfhujdvgr/idh#|dvhogridhzw##lhso#dgh#od#ov#ru#upge##wh#ruup#lkdzg#xokqo1"

  case "open door"
      pr"L*#rxh#kvgr#vofh#lp|vx/dgzqweghwvq#v/wl#rul#rngiuo#kw#q#r*#xj1"
      pr"Zlhl*#rvehw#ud#k#ov/l#ro#uzxzqh#whwr/ko#wvsvlo#rehnwhjdv#wzxggd#qdwgdwqlq"
      pr"dgwhhdhono#hshzwl#dvr1q#ku#u#lh|sro#lkqhukw"

  case "north"
      pr"\xzo#dngz#k#ws#rwhfu/zhhwhful#dwq1r#dnef#rqwhvhvw#k#xe#ku#k#d#vzllj"
      location = 102

  case "east"
      pr"Whhvro##td/xwlpgkghevg#k#ws/q#hgw#rwd#d1ku*#q|dvxw#quph#hj#hlhwhvhv#rqh#rj#kwz|"

  case "south"
      pr"Whhwdf#rwhwhwul#ovgk#quqhw#k#kdh#vfrh1"

  case "west"
      pr"\xzo#yuw#k#hwvg#iwhvhvr#dnrh#rwhzv#lhr#k#ws1"
      location = 103
end select


case 105

select case full_input$
  case "look"
      pr"000WhwuOe|00000#kdh#re#00"
      pr"\xu#wqljl#k#kdh#re/lvg#k#hwhwdf1#k#re#dr*hvdgq#qwhwhwuoe|#qlhwhzv#quqh#Whoe|kv"
      pr"dkj#doh#hoq#lkdfv0uq-kqhlu#q##hxlx#h#q#lkyxwgflljzw##dwlr#fdgoh/dgdedwiougdg"
      pr"jo#dwuh#fuh1#wwhhv#q#iwhoe|#r#d#h#k#rrgswhqg-dsw#D#k#dwhgr#k#re/|xfqvhwhe{"
      pr"rif#rqh1#ku#vdouh-ruw#k#rw/dgdrkupwkq#ruilhfxwu#Whhl##dj#gr#rwhvxk#q#qwh#dfljgr"
      pr"ifq#k#dwhwdf1#k#re#rwqh##l#rwhzv1dljwhhv#quqh#Whoe|fqlxvdeww#k#hw"

  case "look chandelier"
      pr"Whfdgoh#vvuxh#qwhvdrvr#k#doh#hoq1#wkvhjwk#kqhlul#krggl#k#kgz#iwhyxwgfllj#L#d#lk"
      pr"vrsq#uv#dkfu|q##dj#ov#oe#dsd#k#q1frljdp/hf#duljdouhjdvjrhop#wwhhg"

  case "look carpet"
      pr"Whfuh#vzo#rqdgigg#vhlo|drjwhpgo1k#dswl#hozu#q#dh/hsfdo#oq#k#lgh"

  case "look door"
      pr"Whgr#orwfpowo#dfh#k#do#hww#w#L*#dhr#rgk#rudpv#rshh|pwkvwhzovq{#rl1#wvpg#izr/"
      pr"slwgdjrv#of/zw#udhvuozu#uxgwhhjv#L#r#r#kdqh##ov|edn#lkrqw#frorndrq#k#gh1#iqwiuwh"
      pr"kqo/l#ro#hku#rlhwi#vdgr1dgh#wzxge#dgw#gql|d##ru"

  case "open door"
      if flag(225) = 0 and flag(8) <> 1 then
        pr"Whgr#vofh#lkdgdeo1k#rul#rngzw##hgrw"
      elseif flag(225) = 0 and flag(8) = 1 then
        pr"\xxhwhvhhr#h1#k#rnl#qjr#rgwr/dgrhvzwr#v#k#nowqn|#Whof#vl#rgfqllq#q#sq#lk"
        pr"dvdsfln#\xvljwhgr#sqfxlxo1#qlhl#h|gu>#ku#of1#r#zq#k#rurh#dwrv|#Lvg#vyu#dn"
        pr"whidklk#hho#rvr#h#hw/dkj#rh#hoq/dgdvdhk#ovojwuydvuz#iugvdv##lkgpgfllj#q##wj"
        pr"d#k#rw#q1wwhvxkhg"
        flag(225) = 1
      elseif flag(225) = 1 then
        pr"Whdgwux#rul#ohg#sqk#xlrlpgr#vdud|rh1"
      end if

  case "north"
      pr"Whpl#qu#ruw#k#kdh#vfrh#q#rngk#dqhw|gr#rwhwhwul#ovgdgofh1"

  case "east"
      pr"\xzo#dw#rwhrkuhwdf1r#dnhv/w#k#wh#quqh"
      location = 106

  case "south"
      if flag(225) = 1 then
        pr"\xvh#krj#k#ru#uhh#|dgdhljvoqhl#k#kdh*r#wswuxkwhgr/jhwge##hiqq#lhf#qwhwhwuv"
        pr"dgwux1#yu#rq#r#dhhkh#dnw#r1xlrlp#Hh|vxg|xpn#frvef#r|x"
        location = 111
      else
        pr"Whgr#vfrh1k#rul#ovg"
      end if

  case "west"
      pr"\xpy#rwhzv#q#iwhoe|r#rhw#k#hwhgr#k#re1"
      location = 107
end select


case 106

select case full_input$
  case "look"
      pr"000WhwuOe|00000#kdh#re#00"
      pr"\xu#wqljl#k#kdh#re/lvg#k#dwhwdf1#k#re#dr*hvdgq#qwhwhwuoe|#qlhwhhv#quqh#Whoe|kv"
      pr"dkj#doh#hoq#lkdfv0uq-kqhlu#q##hxlx#h#q#lkyxwgflljzw##dwlr#fdgoh/dgdedwiougdg"
      pr"jo#dwuh#fuh1#wwhhv#q#iwhoe|#r#d#h#k#rrgswhqg-dsw#D#k#dwhgr#k#re/|xfqvhwhe{"
      pr"rif#rqh1#ku#vdouh-ruw#k#rw/dgdrkupwkq#ruilhfxwu#Whhl##dj#gr#rwhvxk#q#qwh#dfljgr"
      pr"ifq#k#hwhwdf1dljwhzv#quqh"

  case "look chandelier"
      pr"Whfdgoh#vvuxh#qwhvdrvr#k#doh#hoq1#wkvk#kqhlul#krggl#k#kgz#iwhyxwgfllj#L#d"
      pr"hjwvrsq#uv#dkfu|q##dj#ov#oe#dsd#k#q1lk#frljdp/hf#duljdouhjdvjrhop#wwhhg"

  case "look carpet"
      pr"Whfuh#vzo#rqdgigg#vhlo|drjwhpgo1k#dswl#hozu#q#dh/hsfdo#oq#k#lgh"

  case "look door"
      pr"Whgr#orwfpowo#dfh#k#do#hww#w#L*#dhr#rgk#rudpv#rshh|pwkvwhzovq{#rl1#wvpg#izr/"
      pr"slwgdjrv#of/zw#udhvuozu#uxgwhhjv#L#r#r#kdqh##ov|edn#lkrqw#frorndrq#k#gh1#iqwiuwh"
      pr"kqo/l#ro#hku#rlhwi#vdgr1dgh#wzxge#dgw#gql|d##ru"

  case "open door"
      if flag(226) = 0 and flag(8) <> 1 then
        pr"Whgr#vofh#lkdgdeo1k#rul#rngzw##hgrw"
      elseif flag(226) = 0 and flag(8) = 1 then
        pr"\xxhwhvhhr#h1#k#rnl#qjr#rgwr/dgrhvzwr#v#k#nowqn|#Whof#vl#rgfqllq#q#sq#lk"
        pr"dvdsfln#\xvljwhgr#sqfxlxo1#qlhl#h|gu>#ku#of1#r#zq#k#rurh#dwrv|#Lvg#vyu#dn"
        pr"whidklk#hho#rvr#h#hw/dkj#rh#hoq/dgdvdhk#ovojwuydvuz#iugvdv##lkgpgfllj#q##wj"
        pr"d#k#rw#q1wwhvxkhg"
        flag(226) = 1
      elseif flag(226) = 1 then
        pr"Whdgwux#rul#ohg#sqk#xlrlpgr#vdud|rh1"
      end if

  case "north"
      pr"Whpl#qu#ruw#k#kdh#vfrh#q#rngk#dqhw|gr#rwhwhwul#ovgdgofh1"

  case "east"
      pr"\xzo#sw#k#r#ilhfxwur#dnx#rwhe{rif#rqh1"
      location = 108

  case "south"
      if flag(226) = 1 then
        pr"\xvh#krj#k#ru#uhh#|dgdhljvoqhl#k#kdh*r#wswuxkwhgr/jhwge##hiqq#lhf#qwhwhwuv"
        pr"dgwux1#yu#rq#r#dhhkh#dnw#r1xlrlp#Hh|vxg|xpn#frvef#r|x"
        location = 112
      else
        pr"Whgr#vfrh1k#rul#ovg"
      end if

  case "west"
      pr"\xzo#hw#rwhrkuhwdf1r#dnzv/w#k#wh#quqh"
      location = 105
end select


case 107

select case full_input$
  case "look"
      pr"000WhwuOe|#hw00000#kdh#re/Zv#00"
      pr"\xu#wwhzv#q#iwhwhwuoe|#L*#lh#lkwo#zqrvr*hd#k#hwhgr#k#kdh#re1#wvoqgzw#do-lgz"
      pr"orljrwr#k#whw#Whvxkzo#d##h#dj#svhvrnq#x#qwhvuh1#k#rw#dokvdizouh-rwu1"

  case "look windows"
      pr"Whhhdwzqrvhwq#xkkjh#kq|xfqudk#hwq#qshwk#ojq#lgz#{hgpf#lkuwd#r#d#hf/owljl#oq|"
      pr"r#k#yqq#lk1#vduvo/whoe|l#hu|d#hoowd#kiwhhhljojw#D##hxw#k#re#vqdo#vzo0l#vwh"
      pr"hwur1#rhwh#lhr#dkzqr#vdwlnuggdh#q|iu{hlu#W#lkuvg#ihf#lgzl##kf#h#us/ro#r"
      pr"gfuwr/d#ku#rv*#hpw#hdz|w#ov#kphrdlq#vwhhghqwvh#re##d#rfrhwh1"

  case "look posters"
      pr"Whsvhvfyupv#iwhzo/hf#q#hhd#hwwo1#k|gqwk#rwu#rh#rwr#k#do#dkrhvyuoih#do#Wh#r*"
      pr"ky#xkgwl#r#kl#lh#hks#k|zu#dhe#ozq#swhdhpf#hdoiuwhuv}/sudvwh#hhpg#|erljx#k"
      pr"vr#ohv#Hf#rwukvdvr#lo#q#rh#pj/d#hod#kkzi|u1#dksvh#d##kzwwhdgfyuldh#vzo#vwh"
      pr"gwvdgwpv#Wh#u#o#rhwd##hdhrg#-oywr/#-rvdh#q#lh1#k|dhdopu#kqdgfg#o=*Hhdlq**Quh"
      pr"e#rwzv/#-ullloOy/#-o#|Vqkq1|Qukhw**Dwifd#rh**DoP#xvlh*"

  case "look elevation"
      pr"Wl#rwuvrvdwhwuvdh#lkix#dvgsdiuvr#dlxkvsvh#kz##kdh#wj/zw#ruulh#owrp#iyurv"
      pr"klkv#kh#fxlge#olo#ogijuv#Whozv#q#vrfshhjw/wuhrfsh#|sdq|fd#lxh1#k#rhwrhl#fxlg"
      pr"e##uwvx#rqgpqwu#usudvdgpq|djrhthkuh#rvh/r#hks##hr1"

  case "look norse"
      pr"Wl#rwugsfvdwdqwdhljlw##xqol#k#lhr##rqdqkvsvh#hlw##ul#uyoq#qrdwqh#qwhvg#idpxwl/"
      pr"zw##h0dugpqzw##rjedgodljrwr##lgzlkdugklh#d#lkdoq#hu#hqq#x#idzqr1"

  case "look artificial"
      pr"Wl#rwul#ewdw#rw|fougvdh#qzu#xvkvsvh#vdvuf/pvo#rrh#ksvl#dpkh1"

  case "look all"
      pr"Wl#rwuvrvwuhvqo0hwusr#oqv#lkx#lrv#Whfqhkvsvh#kz#kh#ljhvdh#ussdh/zwrwsow1#k#hwu"
      pr"sdhl#ovuwd#k#whv#q#pn#veorljir#k#qlhoq#vfrh#kqwhrku/dgvrhl#lozq#upwhhjq1"

  case "north"
      pr"Whzqrvdhvx1k#lgz#u#kw"

  case "east"
      pr"\xuwu#rwhzv#re#quqhr#hxqw#k#hwoe|hwdf1"
      location = 105

  case "south"
      pr"Whzo#lkwhsvhvvrv|xk#dozw#k#rwu#ws#r1"

  case "west"
      pr"Whwhwuoe|hg#hhk#kdh#re#qvku1"
end select


case 108

select case full_input$
  case "look"
      pr"000WhwuOe|#dw00000#kdh#re/Hv#00"
      pr"\xu#wwhhv#q#iwhwhwuoe|#|whe{rif#zqr1r*hd#k#dwhgr#k#kdh#re/e#k#r#ilh-lgz"
      pr"L*#o#qdw#x#ku#u#rssu/sq/vds/r#wh#kqvwvdolwf/ewwhhdhq#dhv#hv#wpv#urkuwlj"
      pr"oljdrw#Whhl##lh-ruodljhv#qrwhrif1|q#ex1#ku#vdvg#gr#hgq#dwlw#k#ilh"

  case "look window"
      pr"Dwlnjdvsq#h#qrwhe{rif#uq/zw##po#owd#k#kf#ov#dhvwlw#k#r#ilhirw#lkdvdovr#wwh"
      pr"ewr1##fu#vwsgw#k#qlhr#k#lgz#kzq#dl#lnwrwp#D-dgl#dh#rwhlvg#iwhzqr/vrljevfwfh"
      pr"slljdgwsfovr#wu#lh1ufq#q#|ld#kzvdwwpv"

  case "look door"
      pr"Whwsko#iwhgr#virwgjdv#lkdvj#hr#k#ovk#r#dir#k#rul#uvh#ov/zw##lqeozwhjdv"
      pr"udlj*WI#Q\SHV1hgq#VDIRO#ODH*"

  case "look card"
      pr"L#rn#lhwhov#d#k#kdh#suwg#ku#d#q|rhvr/worvon#k#dwg|whwhwurhdh/whhzvro#q#kz"
      pr"uqljow#qrwhhhljxqq#dhlw#k#yqq1"

  case "open door"
      if flag(222) = 0 then
        pr"\xrh#k#r#ilhgr1r#sqwhe{rif#ru"
        flag(222) = 1
      else
        pr"Whe{rif#rul#sqk#r#ilhgr#vrh1"
      end if

  case "north"
      pr"Whirwzo#iwhwhwuvrv|xk#uq#dor#k#kdh#ws#r1"

  case "east"
      if flag(222) = 1 then
        pr"\xhwuwhe{rif1#wvdewguh#kqwhoe|r#qh#k#r#ilh#L*##l#dnuwd#k#re1"
        location = 109
      else
        pr"Whgr#vl#k#d1k#rul#qwhz|"
      end if

  case "south"
      pr"Whoe|zo#vl#k#d1k#re#dol#qwhz|"

  case "west"
      pr"\xuwu#rwhhv#re#quqhr#hxqw#k#dwoe|hwdf1"
      location = 106
end select


case 109

select case full_input$
  case "look"
      pr"000E{Rif#0000#r#ilh000"
      pr"\xdhvdgq#qwhwhwuve{rif/zlkifvzv#qrwhoe|r#u#wqljl#k#kdh*#r#ilh#kf#dh#hwlw#k#re1"
      pr"Whhdhdizsdq-hn/vp#lkowo#ehw#lhd#opqp-dku#u##h#ol#gvv#rhzw#lwhrmfvon#qdxlx#fq"
      pr"iukoljsqlv#qhs|-rrh/d#o#dgfdnsql#kuhh/dgr#rgq#hfo/d#pw#uog{#qrgkq0uq#hfovdsqu#q"
      pr"vp#pw#lwu#idh1#wwhvxkhgr#kvvdour#vdrku-rurhhs|sfxh-upv#D#k#rw#q#iwl#po#rpl#qwh#gr1"

  case "look desks"
      pr"Dfxo#iwhgvvky#hqvxih#qrdfuh1#rshr#k#hn#dheh#kioglw##rqu"
      pr"Whhvdiq#rwq#igv#qhf#q1ku*##lhfdljr#xwr#dkrh"

  case "look can"
      pr"L*##d#lkd#sqws#rkq#vlvg1wvdfqzw#qrh#r/qwljl#qlh"

  case "look rolodex"
      pr"L*#ovl#q#d#rfuvwvsdwfdgkvq#dg1"

  case "look frames"
      pr"Ko##rh#po/zrh/xujwsfxhidh1#k#dnq#vpvljdidg}qvdo#rgq#slk#lwu#upv#Whefljl#lvq"
      pr"ir##h#iwh/dgrho|#dhgz#qdgv/zw#w#wq#unqupdizr#kp#q#q#dvif#rqr##hn#lklvvdgerh1"

  case "open door"
      if flag(223) = 0 then
        pr"Whgr#rwhef#ilhghqwky##df/dgrhvlzu#lkk#ruw#k#dnrif#rv*#dhdowk#q#sq#qdgzw"
        pr"djqo#xk#hwhsv1"
        flag(223) = 1
      else
        pr"Whgr#vdud|rh1k#rul#ohg#sq"
      end if

  case "north"
      pr"Whhdhgvvl#k#d1ku#u#hn#qwhz|"

  case "east"
      pr"Whzo#iwhe{rif#vwhhk#dor#k#r#ilhl#ku1"

  case "south"
      if flag(223) = 0 then
        pr"Whgr#rwhef#ilhghqwky##df/dgrhvlzu#lkk#ruw#k#dnrif#rv*#dhdowk#q#sq#qdgzw"
        pr"djqo#xk#hwhsv1"
        flag(223) = 1
      end if
      if flag(213) = false then
        pr"\xhwuwhef#ilh#L*#h|gu/v#r#xqr#k#ovojwr#qh#k#dnrif1#wvyu#dn#r|xwu#qwhidklk1"
      else
        pr"\xhwuwhef#ilh#L*#l#|dvqo#hnop1r#qh#k#dnrif1#wvowe##ljhgv#ds"
      end if
      location = 110

  case "west"
      pr"\xvh#x#iwhe{rif/ef#qrwhwhwuoe|r#wsrwr#k#r#ilh#dnlw#k#kdh#re1"
      location = 108
end select


case 110

select case full_input$
  case "look"
      pr"000WhwuRif#0000#kdh#ilh000"
      pr"Wl#shu#re#k#kdh#ddh*#ilh#Whhvdkwuf#|whkvdsdvw#hwhwhwupqjuvrif1#ku*##d#dne#k"
      pr"gr/vp#df#dqfwq#uxgwhzov#q##rows-hnddqwru#rhiq|zlvrljdrq#k#do/dgduo0r#gv#jlv"
      pr"whzv#do#lkdvpo#ljggv#dsvwljr#r1#k#rw#ruk#hwzo/zw##lshkqh#hnop#lwq#qws#Whqukgr"
      pr"odvw#k#r#ilhhg#rwhe{rif1"

  case "look desk"
      if flag(224) = 0 then
        pr"Whgv*#rowsfyul#rwr#k#d#ovg#x#v*#rngk#hnvuo0r#rh#vpv#iwhz|frh/ewlqwofh1"
      else
        pr"Pv#iwhowo#uzu#q#rsupqvdhrh#q#pw1#ku*rwr#k#lwhgdhvdgfpdwhw#u#sqdghs|#Whhv"
        pr"dko0vgfoqd#owh#qwhfqh/zw##uh0slnho#dixh#dhguerwul#k#hwu#lkdglgx#qzo"
        pr"r#k#lk/dgduq0rq#osfoqd#qwhoi1qwhujw#q##ljexgil#dhgur#k#hw"
        if flag(8) = 0 then
            pr""
            pr"L#q#iwhdfyv#r#d#h##dj#hd#nowq-h/qrhr#k#orh/|xfqvhdouhpwovhhr#n|"
            pr"whkqo#dw|erh#i1k#dghsuo#unqri"
        end if
      end if

  case "get key"
      if flag(224) = 1 and flag(8) = 0 then
        pr"\xy#r#k#nowqn|#L*#dkukd|iulvv}1r*hjwwhvhhr#h1#wvuwh#hy#r#w#lh"
        flag(8) = 1
      end if

  case "open desk"
      if flag(224) = 0 then
        pr"\xvlhwhuo0r#hnfyux#o#k#d1#wvlh##lwhewr#og#k#rowsgv#rh#sdowhz|#L#ogvdowo#l"
        pr"ef#rqxgulvrqzlk/dgfpvw#hwdrwwrwlgdngz#qh#w#z#hjw#q#rh#ruv#ex#z0kuv"
        pr"r#k#d#siwhz|x1"
        flag(224) = 1
      else
        pr"\xw|ddqw#xkwhuo0r#hnfyux#o#k#d/ewl#ogvr#u#jl#rsv#k#rowsgv#rh#sdowhz|#x#wvlh"
        pr"ef#rqdewddqdngz##l#jl1"
      end if

  case "north"
      pr"\xodhwhpqjuvrif#q#hxqw#k#r#ilhr#hy#k#ddh*#ilhdguwu#rwhe{rif1"
      location = 109

  case "east"
      pr"Whhvqzhhhv#rj#qwl#po#ilhku*#rku#ohw#rl#kvvdorif1"

  case "south"
      pr"Whhvqzhhhv#rj#qwl#po#ilhku*#rku#ohw#rl#kvvdorif1"

  case "west"
      pr"Whhvqzhhhv#rj#qwl#po#ilhku*#rku#ohw#rl#kvvdorif1"
end select


case 111

select case full_input$
  case "look"
      pr"000Dgwux#hwq#0000#xlrlpVdlj000"
      pr"\xu#wwhef#iwhwhwuvpl#xlrlp#wwhwsr#k#hwr*hd#k#dnr#k#kdh*#dqdgwux/d#k#r#iwhzv"
      pr"dvh#Whquku#ru#u#hwq#qdowo#lk#upwhoe|lo1#k#rwhqgrvdhowljl##lwhojwir#k#re1"
      pr"Whdvhvrh#hw|gzzu#rdgwhvdhd#k#rw#q/zw#rvk#lo#osvjqo#rqdgwzu#k#wj#wwhvxkhg#lkuz"
      pr"r#vdvr#lkuvg1#qwhgpojw#k#dhqx#hoq#veuoi-hw#qhwh#lh#L#k#l#lk/whfyurvflljl#dh|"
      pr"yvehllo1"

  case "look seats"
      pr"Whvdljl#o#lh#qsdh#k#xkrvpg#idgu#h#hywk#hwq#vdoi{gl#of/whfvlq#dhr##dnugyoh|"
      pr"pwud1#qlhpu#rhqwhwui{xh/whhg#r#dhvuq0dhlo#Xon#rhpgu#kdh#lwuv#kv#rqwky#slj"
      pr"odh#rgq#hw/ewdhhwuo#q#lf1#rhr#k#xkrvrggioljvdv#x#u#qlh|rhshh#Vp#iwhfvlq"
      pr"dhdewwudeu/wu/r#lfougu##l#khgdh#rq#ugvrrh1"

  case "north"
      if flag(225) <> 1 then
        pr"Ipoq##l#lkwhvhhr#h#qwhgu/xeljdewzw#k#nowqn|l#k#dn"
        pr"|xpqj#rjwwhgr#sqr#ddhw#h#k#rurh1"
        flag(225) = 1
      end if
      pr"\xvh#dnrwlw#k#kdh#re1r#wsef#x#qrwhwhwuoe|"
      location = 105

  case "east"
      pr"\xvghwuxkduzr#hw#rwhhv#lo1r#lo#krj##r#ivdvw#k#dwdvh"
      location = 112

  case "south"
      pr"\xyqxhgz#k#lo#rwhirw#|whvdhr#hwu#rqwhdvhw#k#uq/e#k#wj1"
      location = 113

  case "west"
      pr"Whvdvfqlx#o#k#d#rwhvg#do#rwhhvq#lo#kwz|k#hw#rwqhdowhz|w#k#lhzo/v#ku*#rdvhwd#d1"
end select


case 112

select case full_input$
  case "look"
      pr"000Dgwux#hwq#0000#xlrlpVdlj000"
      pr"\xu#wwhef#iwhwhwuvpl#xlrlp#wwhwsr#k#dwr*hd#k#dnr#k#kdh*#dqdgwux/d#k#r#iwhhv"
      pr"dvh#Whquku#ru#u#hwq#qdowo#lk#upwhoe|lo1#k#rwhqgrvdhowljl##lwhojwir#k#re1"
      pr"Whdvhvrh#hw|gzzu#rdgwhvdhd#k#rw#q/zw#rvk#lo#osvjqo#rqdgwzu#k#wj#wwhvxkhg#lkuz"
      pr"r#vdvr#lkuvg1#qwhgpojw#k#dhqx#hoq#veuoi-hw#qhwh#lh#L#k#l#lk/whfyurvflljl#dh|"
      pr"yvehllo1"

  case "look seats"
      pr"Whvdljl#o#lh#qsdh#k#xkrvpg#idgu#h#hywk#hwq#vdoi{gl#of/whfvlq#dhr##dnugyoh|"
      pr"pwud1#qlhpu#rhqwhwui{xh/whhg#r#dhvuq0dhlo#Xon#rhpgu#kdh#lwuv#kv#rqwky#slj"
      pr"odh#rgq#hw/ewdhhwuo#q#lf1#rhr#k#xkrvrggioljvdv#x#u#qlh|rhshh#Vp#iwhfvlq"
      pr"dhdewwudeu/wu/r#lfougu##l#khgdh#rq#ugvrrh1"

  case "north"
      if flag(226) <> 1 then
        pr"Ipoq##l#lkwhvhhr#h#qwhgu/xeljdewzw#k#nowqn|l#k#dn"
        pr"|xpqj#rjwwhgr#sqr#ddhw#h#k#rurh1"
        flag(226) = 1
      end if
      pr"\xvh#dnrwlw#k#kdh#re1r#wsef#x#qrwhwhwuoe|"
      location = 106

  case "east"
      pr"Whvdvfqlx#o#k#d#rwhvg#do#rwhhvq#lo#kwz|k#hw#rwqhdowhz|w#k#lhzo/v#ku*#rdvhwd#d1"

  case "south"
      pr"\xyqxhgz#k#lo#rwhirw#|whvdhr#hwu#rqwhdvhw#k#uq/e#k#wj1"
      location = 114

  case "west"
      pr"\xvghwuxkduzr#hw#rwhzv#lo1r#lo#krj##r#ivdvw#k#hwdvh"
      location = 111
end select


case 113

select case full_input$
  case "look"
      pr"000Dgwux#uq#r#0000#xlrlpIrwUz000"
      pr"\xu#wwhirwr#k#kdh*#dqdgwux/d#k#rwpr#kr*hd#k#uq#iwhwhwuvpl#xlrlp#wwhewr#iwh"
      pr"zv#lo/vdgq#qirwr#k#vdh#Whiruoyo#x#hhhwdvh#wqljl#uq#iwh-wj1#k#or#hhvrwku/"
      pr"dgwhvdhirwl#xygrwdg#q#rh#sir#k#or#rzlwq#k#wj#uq#vfuh#xzu/dgfpvx#upwhiruw#dv"
      pr"klk/zw##h#rh#irojw#uxgwhhj1hjw#lkdizgpg-rwlkvdrq#k#gh"

  case "look stage"
      pr"Whvdhl#ddwr#q#lwuv#fqu/r#dnus/k#wj#vyfq#id|i{xh/vhh|#uefgrv"
      pr"mv##dgrgirudgdednef#doxwdkuzr#or#q##of#dnzo1"

  case "look footlights"
      pr"Do|xfqvhr#k#rwlkvir#hhl#k#rh#dnfyuo#r#d#h#iwhirojw#upku#vwhgpgef#rh1"

  case "north"
      pr"\xuwu#sw#k#dnr#k#hwdvhr#hxqx#rwhef#iwhzv#lo1"
      location = 111

  case "east"
      pr"\xzo#hzh#k#wj#q#uq#r#hw/w#k#dwdvhr#dnewhqwhvdhdgirwuzvdv#rwhhv#lo1"
      location = 114

  case "south"
      pr"\xklw|xvo#srw#k#wj*#hwvg1r#rv#ruhix#qrwhvdhvoi#lh"
      location = 115

  case "west"
      pr"Whvdvfqlx#o#k#d#rwhvg#do#rwhhvq#lo#kwz|k#hw#rwqhdowhz|w#k#lhzo/v#ku*#rdvhwd#d1"
end select


case 114

select case full_input$
  case "look"
      pr"000Dgwux#uq#r#0000#xlrlpIrwUz000"
      pr"\xu#wwhirwr#k#kdh*#dqdgwux/d#k#rwpr#kr*hd#k#uq#iwhwhwuvpl#xlrlp#wwhewr#iwh"
      pr"zv#lo/vdgq#qirwr#k#vdh#Whiruoyo#x#hhhwdvh#wqljl#uq#iwh-wj1#k#or#hhvrwku/"
      pr"dgwhvdhirwl#xygrwdg#q#rh#sir#k#or#rzlwq#k#wj#uq#vfuh#xzu/dgfpvx#upwhiruw#dv"
      pr"klk/zw##h#rh#irojw#uxgwhhj1hjw#lkdizgpg-rwlkvdrq#k#gh"

  case "look stage"
      pr"Whvdhl#ddwr#q#lwuv#fqu/r#dnus/k#wj#vyfq#id|i{xh/vhh|#uefgrv"
      pr"mv##dgrgirudgdednef#doxwdkuzr#or#q##of#dnzo1"

  case "look footlights"
      pr"Do|xfqvhr#k#rwlkvir#hhl#k#rh#dnfyuo#r#d#h#iwhirojw#upku#vwhgpgef#rh1"

  case "north"
      pr"\xuwu#sw#k#dnr#k#dwdvhr#hxqx#rwhef#iwhhv#lo1"
      location = 112

  case "east"
      pr"Whvdvfqlx#o#k#d#rwhvg#do#rwhhvq#lo#kwz|k#hw#rwqhdowhz|w#k#lhzo/v#ku*#rdvhwd#d1"

  case "south"
      pr"\xklw|xvo#srw#k#wj*#lk#lhr#rv#ruhix#qrwhvdhvujwvg1"
      location = 117

  case "west"
      pr"\xzo#hzh#k#wj#q#uq#r#hw/w#k#hwdvhr#dnewhqwhvdhdgirwuzvdv#rwhzv#lo1"
      location = 113
end select


case 115

select case full_input$
  case "look"
      pr"000VdhOi#0000#wj#hw000"
      pr"\xu#wqljr#k#kdh#vdh#qwhvdhoi#lh#L*#dhrr*hvdgq#qwhwhwu-wj/r#k#wj#hwvg1#wvpg#i"
      pr"ojwkuzr/zh#k#kdh#d#h#wp|ky#hqzo0llkglk#dgrg#kqwhwhwuzvqzl#d#dheh#hoiqvh/"
      pr"ewwp#q#v#dhzu#wgz/dgl*#rhh#qvdopuvdgvxix#lhdgxhky#rql#rq#q#wvfyugl#po#dn#q#fiv"
      pr"ir#dwsrxwrvupsv#ugflq1"
      pr""
      if flag(201) = false then
        pr"Xgu|x#hwl##hy#rgqoi#owrpwd#vxh#reljsrvqh#ruih#vdkd|zrh#lwsdiu#kwl#vgw#uq#us"
        pr"dgdwu#sir#qh#k#wj1q#frvx#upxguwhvdh"
      else
        pr"Xgu|x#hwl##wu|zrh#kwh/frljriwhvr#qwhqh#ruih#vdvxg#rgqvxwu#ovq#i#k#swl#k"
        pr"vdhiruzhhwhoi#owrpzvwj#or#ku#k#lwsdiu#d1"
      end if

  case "look stage"
      pr"Vwlw#k#wj#u#kh#lwvdw/xh#reljsrvdgdwu#sh#qrwhvdhdhwuhoi#kiv#vgw#uq#us#q#frvx"
      pr"ir#k#rpeoz#Whef#iwhvdhl##wu#of#do#q#dkupwhur#hr1#k#dnr#k#wj#vdvdnednzo/dghf"
      pr"vg#hg#i#qrdvdoefvdhfuh#ud#Whfuh#i#k#wjlhodvrilw##po#dnwj#rqudh1#k#rquriwhvdh"
      pr"ujwvg#d##lnw#dwlr#hhdr/zlhwhfuh#qwhoilk#lhkvdufh|fv#uq-oywu#ko#k#rqur#k#hw"
      pr"odvw#qrh#rud1hg#rd#sqgrz|"

  case "look elevator"
      pr"L*#dgw#h#upku/hh#lkwhidklk/vqhl*#dhrwvku#rvhir#hh#yqzw#k#ovojw#lf#wvpg#i"
      pr"uxkednfv#uq#jlv#k#of#do#iwhvg#udrj#of#dwlr/ddqwwhednzovr#k#lhdh1"

  case "north"
      pr"\xow|xvo#dngz#rwhoyor#k#xlqhvdlj#wwhirwr#h#ruhief#rqw#k#hh#iwhdghf#hwq/d#k#uq"
      pr"r#k#hwdvhiwhzv#lo1"
      location = 113

  case "east"
      pr"\xpy#rdgvdhujw#wsljl#k#hwur#k#wj1r#rhwzu#wj#lk/vrsq#qwhfqh#iwhvdh"
      location = 116

  case "south"
      pr"Whhvq#rhvdhef#ku1ku*#rpu#wj#dnwhh"

  case "west"
      pr"\xyqxhlw#k#kgz#iwhvdhoi#dnwj#udr#hwu#qrwhvdrvr#k#wj#hwefvdhdh1"
      location = 118
end select


case 116

select case full_input$
  case "look"
      pr"000Fqh#wj#0000#hwuVdh000"
      pr"\xu#wqljl#k#hwur#k#kdh#vdh#L*#dhr#lkr*hvdgq#qwhfqh#iwhwhwu-wj1#wvpg#iojw"
      pr"kuzr/zh#k#kdh#d#h#wp|ky#hqzo0llkg#x#lhdgrg#kqwhwhwuzvqzl#d#dheh#hoiqvh/ewwp"
      pr"dgxhky#rql#rq#q#wvfyugl#po#dn#q#fivq#v#dhzu#wgz/dgl*#rhh#qvdopuvdgvxi"
      pr"ir#dwsrxwrvupsv#ugflq1"
      pr""
      if flag(202) = false then
        pr"Xgu|x#hwl##hy#rgqoi#owrpwd#vxh#reljsrvqh#ruih#vdkd|zrh#lwsdiu#kwl#vgw#uq#us"
        pr"dgdwu#sir#qh#k#wj1#wedvdoyv#quyq#idoj/q#frvx#upxguwhvdh#L#hu##dlkhjdljr##rr"
        pr"shxdo#r#k#kdh#rsq1uvpe|iuwhwhwufpd|"
      else
        pr"Xgu|x#hwl##wu|zrh#kwh/frljriwhvr#qwhqh#ruih#vdvxg#rgqvxwu#ovq#i#k#swl#k"
        pr"vdhiruzhhwhoi#owrpzv#Whvxwukvd#quyqwj#or#ku#k#lwsdiu#d1#k#kwh#d#qhjdlj"
        pr"r##rr#uvpe|iuwhwhwufpd|idoj/shxdo#r#k#kdh#rsq1"
      end if

  case "look stage"
      pr"Vwlw#k#wj#u#kh#lwvdw/xh#reljsrvdgdwu#sh#qrwhvdhdhwuhoi#kiv#vgw#uq#us#q#frvx"
      pr"ir#k#rpeoz#Whef#iwhvdhl##wu#of#do#q#dkupwhur#hr1#k#dnr#k#wj#vdvdnednzo/dghf"
      pr"vg#hg#i#qrdvdoefvdhfuh#ud#Whfuh#i#k#wjlhodvrilw##po#dnwj#rqudh1#k#rquriwhvdh"
      pr"ujwvg#d##lnw#dwlr#hhdr/zlhwhfuh#qwhoilk#lhkvdufh|fv#uq-oywu#ko#k#rqur#k#hw"
      pr"odvw#qrh#rud1hg#rd#sqgrz|"

  case "look elevator"
      pr"L*#dgw#h#upku/hh#lkwhidklk/vqhl*#dhrwvku#rvhir#hh#yqzw#k#ovojw#lf#wvpg#i"
      pr"uxkednfv#uq#jlv#k#of#do#iwhvg#udrj#of#dwlr/ddqwwhednzovr#k#lhdh1"

  case "north"
      pr"\xow|xvo#dngz#rwhoyor#k#xlqhvdljr#h#ruhief#rqw#k#hh#iwhdghf#hwq1"
      select case rand(2)
        case 1
            pr"Whvdhl#uq#iwhvdvodvhv#q#hw#q#r#hlhk#sf#qirwr#k#hw#hg#dwdgzv/dg|xgfg"
            pr"w#rhw#k#uq#iwhzv#lo1rpy#rwhirwr#k#hwdvh"
            location = 113
        case 2
            pr"Whvdhl#uq#iwhvdvodvhv#q#hw#q#r#hlhk#sf#qirwr#k#hw#hg#dwdgzv/dg|xgfg"
            pr"w#rhw#k#uq#iwhhv#lo1rpy#rwhirwr#k#dwdvh"
            location = 114
      end select

  case "east"
      pr"\xpy#yuw#k#lk#lhr#k#wj1r#rhrh#rwhujwvg#iwhvdh"
      location = 117

  case "south"
      pr"Whhvq#rhvdhef#ku1ku*#rpu#wj#dnwhh"

  case "west"
      pr"\xpy#yuw#k#hwvg#iwhvdhr#rhrh#rwhoi#lhr#k#wj1"
      location = 115
end select


case 117

select case full_input$
  case "look"
      pr"000VdhUjw00000#wj#lk#00"
      pr"\xu#wqljr#k#kdh#vdh#qwhvdhujwvg1#wvpg#ir*hvdgq#qwhwhwu-wj/r#k#wj#lk#lh#L*#dhr"
      pr"ojwkuzr/zh#k#kdh#d#h#wp|ky#hqzo0llkglk#dgrg#kqwhwhwuzvqzl#d#dheh#hoiqvh/"
      pr"ewwp#q#v#dhzu#wgz/dgl*#rhh#qvdopuvdgvxix#lhdgxhky#rql#rq#q#wvfyugl#po#dn#q#fiv"
      pr"ir#dwsrxwrvupsv#ugflq1"
      pr""
      if flag(203) = false then
        pr"Xgu|x#hwl##hy#rgqoi#owrpwd#vxh#reljsrvqh#ruih#vdkd|zrh#lwsdiu#kwl#vgw#uq#us"
        pr"dgdwu#sir#qh#k#wj1q#frvx#upxguwhvdh"
      else
        pr"Xgu|x#hwl##wu|zrh#kwh/frljriwhvr#qwhqh#ruih#vdvxg#rgqvxwu#ovq#i#k#swl#k"
        pr"vdhiruzhhwhoi#owrpzvwj#or#ku#k#lwsdiu#d1"
      end if

  case "look stage"
      pr"Vwlw#k#wj#u#kh#lwvdw/xh#reljsrvdgdwu#sh#qrwhvdhdhwuhoi#kiv#vgw#uq#us#q#frvx"
      pr"ir#k#rpeoz#Whef#iwhvdhl##wu#of#do#q#dkupwhur#hr1#k#dnr#k#wj#vdvdnednzo/dghf"
      pr"vg#hg#i#qrdvdoefvdhfuh#ud#Whfuh#i#k#wjlhodvrilw##po#dnwj#rqudh1#k#rquriwhvdh"
      pr"ujwvg#d##lnw#dwlr#hhdr/zlhwhfuh#qwhoilk#lhkvdufh|fv#uq-oywu#ko#k#rqur#k#hw"
      pr"odvw#qrh#rud1hg#rd#sqgrz|"

  case "look elevator"
      pr"L*#dgw#h#upku/hh#lkwhidklk/vqhl*#dhrwvku#rvhir#hh#yqzw#k#ovojw#lf#wvpg#i"
      pr"uxkednfv#uq#jlv#k#of#do#iwhvg#udrj#of#dwlr/ddqwwhednzovr#k#lhdh1"

  case "north"
      pr"\xow|xvo#dngz#rwhoyor#k#xlqhvdlj#wwhirwr#h#ruhief#rqw#k#hh#iwhdghf#hwq/d#k#uq"
      pr"r#k#dwdvhiwhhv#lo1"
      location = 114

  case "east"
      pr"\xyqxhlw#k#kgz#iwhvdhujwefvdhdh1r#hwu#qrwhvdrvr#k#wj#lk#dnwj#ud"
      location = 119

  case "south"
      pr"Whhvq#rhvdhef#ku1ku*#rpu#wj#dnwhh"

  case "west"
      pr"\xpy#rdgvdhoi/vrsq#qwhfqh#iwhvdhr#rhwzu#wj#hw#wsljl#k#hwur#k#wj1"
      location = 116
end select


case 118

select case full_input$
  case "look"
      pr"000EfvdhOi#0000#dnwj#hw000"
      pr"\xdhvdgq#i#rwhzv#lhr#k#wj/l*#h|gu#hhr#u#wqljriw#k#hwvg#iwhvdh#wvyu#dnku1"
      pr"Whhvdswkedn-rud#rwhqukku*##lf0of#grz|w#k#rw1"

  case "look doorway"
      pr"Vlljwhidklk#qrwhgrz|#r#d#h#wvdvduhokqq#k#ovojwlw#k#rud/|xfqvhl*##wlzo1"

  case "north"
      pr"Hwuq#k#rud/|xpn#ruz|gzvdu/lw#k#sfqhljwhgrz|#r#dh|x#d#rqwlv#qrwhvdh"
      pr"eozwhvdhhr#k#wj1"
      location = 125

  case "east"
      pr"\xuwu#rwhuowyo#rhyvehhyuqhwr#k#kdh#wj1r#hxqw#k#hdlh|pu#llo#qlrpq#iwhwhwuvdh"
      location = 115

  case "south"
      pr"Whhvdzo#qwd#lhwr1ku*##dol#kwguflq"

  case "west"
      pr"Whhvdzo#qwd#lhwr1ku*##dol#kwguflq"
end select


case 119

select case full_input$
  case "look"
      pr"000EfvdhUjw00000#dnwj#lk#00"
      pr"\xdhriw#k#dwvg#iwhvdh#L*#rw|gu/kzyur#u#i#rwhhv#lhr#k#wj1#wvpvo#dn#rhh"
      pr"wuxkd-rud#rwhquk#ku#u#rhlgfwuojw#lljrikrj##grz|w#k#rw/whhdhvp#qldr#lkvjyq#i"
      pr"hrj#lk#rvhwd#k|dhfpq#upkd|shh#ihxshwqxkojww#h#kwwh#u#rljir#hy#lfvr#tlpq1"
      pr"Whhl#ordfv0uqfj#hhdr#qwhvxkfuh1ku#vdv##dwlr#dh-oywul#k#rw#rqu"

  case "look doorway"
      pr"Gufljwhidklk#qrwhur#rv*#hhopf#xwh/lhwq#k#ovojwlw#k#rpghqwuyd#xkiuku"
      pr"|xo#dhw#rhfrh#rvhwhpflh#qd|gwl1r*oky#rpy#ovuw#h#k#dkqvl#q#hdo"

  case "look elevator"
      pr"Whhhdr*#dhfpdwhwuvvr#k#dnwj#or/dgdkd|k#oywuvfj#rsupq#hw#qwhefvdhiru#q##hy"
      pr"fehekq#whwqvx#qrwhguqv#ey1#wvhvfquohdo#hlgl#{hg#slw#k#dnhvdrh#L#hp#rwrog"
      pr"e##ljhoyuzw##ov#rnkqo1#k#dhl#sqirwzw|dvqo#hh#lkdfdsof#dgh#Whfj#vrh0uq#lk"
      pr"q#rurgr1"

  case "north"
      pr"\xpy#qrwhqukur#r##ovuor1r#rhlw#k#rw#rpiudfrh#rn"
      location = 120

  case "east"
      pr"Whhvdzo#qwd#lhwr1ku*##dol#kwguflq"

  case "south"
      pr"\xvh#dhxo#qrwhhhdr#dh#L#rh#qh#ruzlk1r#wsfuio|lw#k#oywufj1#wpyvxgu|x#hjw"
      location = 121

  case "west"
      pr"\xuwu#rwhujwvg#iwhwhwuvdhr#hxqw#k#lk#lhr#k#kdh#wj1"
      location = 117
end select


case 120

select case full_input$
  case "look"
      pr"000SzuUr#0000#rh#rp000"
      pr"Wl#shu#re#k#dqhhwld#rh#rpiuwhwhwu#Whkd|kvdsdvw#hwhpl#ofufoszuur#r#k#kdh1#k#hy"
      pr"-dkqvdhpxwgw#k#or#q#do/dgdizdhhlwq#dqpflh#u#rqh#rwhirudgzov#q##h#u#pwljilw"
      pr"ojw#upgvo|sqo1#qwhzo#vdouhehnu-zwkzwlkvir#lsd#dhv#R#k#dol##dj#udh#vlf#lk"
      pr"hsvgzuq1#rwhvxkl#k#dnwj#ud{rh#llj#W#k#rw#vwhefvdhdh1"

  case "look machines"
      pr"Whpflh#shul#d|q#wjvr#ruvr/dgwhgv#rhljk#dkqvdsd#qyuljvdh#ifurlq#q#k#xwfyuq"
      pr"wh#d#dh#qduv|wqhkpkvwnqr##xw#lj1"

  case "look switch"
      pr"Whehnuvlf#d#xwgdew#k#rwf#rqvdhsuok#udh#zwkkvuvh##l/whfqdwslw#u#dw|"
      pr"erh#i/dgvp#iwhzuq*#dljkvzu#krj1unqri#q#rhr#k#lljvfvq#d#rqwuxk"
      if flag(213) = false then
        pr"Whvlf#lvl#k#ssvwr/zw#k#lfl#unqk#zwkvw#qwhx#rllq#lkwhfuxwerh1"
      elseif flag(213) = true then
        pr"Whvlf#d#hqpygw#k#rqsvwr/frljwhfuxwk#zwkkveh#rh#rwhgz#rllq#ovq#k#lfl1"
        pr"L*#dlwq##ojwzuw1wvugdljdvlk#dpk"
      end if

  case "use switch"
      if flag(213) = false then
        pr"Udkq#szw#rkkqv#r#kuo#rf#k#zwkdowhz|gz1hfljx#lkew#dg/|xvds|iuhwhvlf#o#k#d#rq"
        pr"L#pw##po#kzur#suv#Doz#lljkpvdw#rljirwhlvdvdovrh#ivdn1##r/uvq#x#wuvfpq#up"
        pr"whpflh/dg|xqwf##ojwlfhv#qwhojwoyorwlhk#dkqv#q#r#rlhdvlk#qudhl#k#lk#hh#xvg"
        pr"wl#rpkvur1"
        flag(213) = true
      elseif flag(213) = true then
        pr"L*#ohg#xqgr1wvdud|wuh#q"
      end if

  case "north"
      pr"\xfqudkhh|kq#qwl#po#rpir#ku#r#u#r1r#d#hf#yuwljl#kvvdour#upzhh|xdhqz"

  case "east"
      pr"\xfqudkhh|kq#qwl#po#rpir#ku#r#u#r1r#d#hf#yuwljl#kvvdour#upzhh|xdhqz"

  case "south"
      pr"\xodhwhhhwld#rpdguwu#rwhefvdhdh1r#hy#k#ofufour#q#hxqw#k#dnwj#ud"
      location = 119

  case "west"
      pr"\xfqudkhh|kq#qwl#po#rpir#ku#r#u#r1r#d#hf#yuwljl#kvvdour#upzhh|xdhqz"
end select


case 121

select case full_input$
  case "look"
      pr"000EfvdhHhdr#0000#dnwj#oywu000"
      pr"\xdhvdgq#qwhefvdh-oywuvfj#rsupq/zlklr#u#wqljl#k#dnwj#hhdr*#dhfpdwhw#kf#v"
      pr"uvljr#k#or1#rw#vwhvdhujwefvdhdh/zlhwhhwq#qwhiru#Qukl#k#wj#lk#dnwj#ud#ko#k"
      pr"vdhl#xwh#i#rwhzv1wj#viukuriw#k#hw"

  case "look elevator"
      pr"Whhhdr*#dhfpdwhwuvvr#k#dnwj#or/dgdkd|k#oywuvfj#rsupq#hw#qwhefvdhiru#q##hy"
      pr"fehekq#whwqvx#qrwhguqv#ey1#wvhvfquohdo#hlgl#{hg#slw#k#dnhvdrh#L#hp#rwrog"
      pr"e##ljh-hh#lkdfdsof#dgh#Whfj#vrh0uq#lk|dvqo#oyuzw##ov#rnkqo1#k#dhl#sqirwzw"
      pr"q#rurgr1"

  case "look lever"
      pr"Whoyul#qdvulk#hwfosvwr1#upwhpfdlpdk#hh#vl##wdjwyuld#rllq#Ir#k#hkqv#w"
      pr"whev/|xfqvhwd#wfqe#lwgiudgk#dh#r#d#h#kwl#d#hwoh#rzu1"

  case "use lever"
      pr"Jlsq#k#dghdgvxhljwhfdswjw|#r#lwwhoyuusljwhkqo#q#th}q#k#ov#lko/|xwo#k#hh"
      pr"iudgd#d#vl#loj1rzu#viud#wzo#r"
      pr""
      if flag(213) = false then
        pr"Whoyupnvdvdsfln#x#kq|xowj/l#slj#dnk#hh#dh##ku#of/ewzh#r#h#r#wvuqvef"
        pr"w#w#slk#rllq#owhljddqwwhfj1rlvxujwsvwr/fdwuq#jlv#k#dh"
      elseif flag(213) = true then
        pr"Whoyupnvdvdsfln#q#r#huwhjlgq/vxdljvxgk#hh#dh##ku#of/dg|xkd#k#uqlj#thnq#rqv"
        pr"r#hu#q#xo|#qdlj#Whhhdr#xfh#xgq|#kqejqijdvdgsohvhjjq1#k#oywuoukvvgho/wh#hlv"
        pr"w#lhx#qrwhguqv1#wfpvw#hwq{#rdkj#dwlrruv#slw#k#dnhv#L#rh#ruv#hww##lkfv0uq"
        pr"fwdnqd#k#kdh*#hoq/dgwhoyuvuqvef#qrlvdzo#huwhwhwuvfllj#q#k#hh#slj#dnlw#w"
        pr"xujwsvwr1slk#rllq"
        location = 122
      end if

  case "north"
      pr"\xvh#x#iwhhhdr/ef#qrwhefvdhdh1r#wsrwr#k#oywu#dnlw#k#dnwj#ud"
      location = 119

  case "east"
      pr"Wd#lhr#k#dhl#sddqwwhwhwuzo1kwvg#iwhfj#vx#jlv#k#kdh#do"

  case "south"
      pr"Wd#lhr#k#dhl#sddqwwhwhwuzo1kwvg#iwhfj#vx#jlv#k#kdh#do"

  case "west"
      pr"\xvh#x#iwhhhdr/dgfqlx#hwrw#k#kdh#wj1r#wsrwr#k#oywu#q#rwqhzv#qrwhwhwuvdh"
      location = 117
end select


case 122

select case full_input$
  case "look"
      pr"000EfvdhHhdr#0000#dnwj#oywu000"
      pr"\xdhvdgq#qwhefvdhhhdr*#dhfpdwhw#kf#vr#u#wqljl#k#dnwj#oywuvfj#rsupq/zlkl"
      pr"vvhggq{#rdqur#fwdn#lkx#qwhvdrvdrjwhujljxsqh#hww##duz-dzo/kj#sl#k#kgz#pq#k#ljq"
      pr"r#k#kdh#wj1#k#dzo#{hg#hwrwrh#k#wj/d#hodiwhwhwuvdh#Whfwdnhwqvzv#x#yuwhvdh#vzo#v"
      pr"quklw##duzsvdhrw#qrdqur#dvj1"

  case "look elevator"
      pr"Whhhdr*#dhfpdwhwkveh#dvgx/dgdkd|fehekq#wk#oywuvfj#rsupq#d#hqulh#s#q##hy#do#hlgl"
      pr"hwqviukulw#k#dnhvdrh#L#d##oyuzw##ov#rn{hg#xwh#qrwhguqv#ey1#wkvd-hh#lkdfdsof"
      pr"kqo1#k#dhl#sqirwzw#rgr1dgh#Whfj#vrh0uq#lkq#ru"

  case "look catwalk"
      pr"Whfwdnl#dhr#dwlr#q#xsqh#|feh#upwhflljk#dzo#vpg#ifv0uqdgvvhgge#dovir#k#hoq1"
      pr"Whjdgdo#u#duzeu/dwfh#rwhfeh#wzlwklk1k#xuulvdhqur#dv#wdkgw#k#dovd#dv#hjw"
      pr"L#rn#wu|hrj/ewlqwujg|vfugw#qwlj#rl#loworvvxg#qxk#x#v*#llo#hxh#rd|kq/v#wzo"
      pr"vd#qh#ruzlk1z|xgu|x#hjw"

  case "look lever"
      pr"Whoyul#qdvulk#hwfosvwr1#upwhpfdlpdk#hh#vl##wdjwyuld#rllq#Ir#k#hkqv#w"
      pr"whev/|xfqvhwd#wfqe#lwgiudgk#dh#r#d#h#kwl#d#hwoh#rzu1"

  case "use lever"
      pr"Jlsq#k#dghdgvxhljwhfdswjw|#r#lwwhoyuusljwhkqo#q#th}q#k#ov#lko/|xwo#k#hh"
      pr"iudgd#d#vl#loj1rzu#viud#wzo#r"
      pr""
      pr"Whoyupnvdvdsfln#q#r#huwhjlgq/vxdljvxgk#hh#dh##ku#of/dg|xkd#k#uqlj#thnq#rqv"
      pr"r#hu#q#xo|#qdlj#Whhhdr#xfh/dggvhg#o#k#dijdvdgsohvhjjq1#k#oywuoukv#q#hfqvdowhz|"
      pr"gz#rvdhoyo#rljw#hwjqo#qwhiru#Whoyuvuqvrqw#wj#hh/fpq#ruv#hw|r#k#or1#k#hh#slj"
      pr"ef#qrlvxujwsvwr1dnlw#w#slk#rllq"
      location = 121

  case "north"
      pr"\xvh#x#iwhhhdr#q#rhdrjwhfwdnw#k#rw/r#wsrwr#k#oywudgpy#oq#k#dzo#rwhquk"
      pr"lw##duzsvdhdrjwhvg#iwhdgwux#hoq1qrdqur#dvj#oq#k#lhr#k#xlrlpfllj"
      location = 131

  case "east"
      pr"Whhvro#sqdur#kwvg#iwhhhdr1ku*#q|rh#l#qwd#lhr#k#oywu"

  case "south"
      pr"Whhvro#sqdur#kwvg#iwhhhdr1ku*#q|rh#l#qwd#lhr#k#oywu"

  case "west"
      pr"\xvh#x#iwhhhdr#q#rhdrjwhfwdnw#k#hwr#wsrwr#k#oywudgpy#oq#k#dzo#rwhzv/"
      pr"vrsq#yuwhujwvg#iwhvdhwsljrh#k#lk#lhr#k#wj1"
      location = 123
end select


case 123

rope = false
select case full_input$
  case "look"
      pr"000Fwdn00000#dzo#00"
      pr"\xdhvdgq#qdfwdnx#qwhujljr#k#kdh#wj1r#u#wqljr##dzo#sl#k#ljq#iwhwhwuvdh"
      pr"L#rwqh#rwhhv#q#hw#D#k#dwhgl#k#dnwj#oywuwfqlxvw#k#dwdgzv1#wwhhv#q#vwhefvdhhhdr/"
      pr"dgwhfwdnwuvqukir#ku1#rwhzv/l#qvdrhwhoiq#k#dzo#xq#rw#upwhh#W#k#hw#whg#ey#k#hw"
      pr"vg#iwhvdhlhr#k#wj1"
      pr""
      pr"Qd#k#rw#lhr#k#dzo#djwuh-rh/-hw#pgo/dghuwhqukvg#iwhfwdnkq#kh#usv#oi/-lgh#q"
      pr"-lk/zw#rqzrh#dgh#wwhhg1ujw#lkzu#rgqkqovd#k#qv"

  case "look rope"
      pr"Whusvdhyu#kf#q#hy1#k|hwq#sw#k#hoq/zhhk#rh#u#h|wlndgkd|#Wh#{hgx#rwhfllj#ku"
      pr"wh#us#yusohv#kqgvshulw#qrhljzhhwhflljk|gdhrh#xo|/wh#ldsd#qrd#sqq#ku#k#hoq"
      pr"dgef#doph1q#dnzo#hw"

  case "look ropes"
      pr"Whusvdhyu#kf#q#hy1#k|hwq#sw#k#hoq/zhhk#rh#u#h|wlndgkd|#Wh#{hgx#rwhfllj#ku"
      pr"wh#us#yusohv#kqgvshulw#qrhljzhhwhflljk|gdhrh#xo|/wh#ldsd#qrd#sqq#ku#k#hoq"
      pr"dgef#doph1q#dnzo#hw"

  case "use rope"
      pr"\xo#dhw#hpu#sfifr*oky#re#rhvhll1"

  case "use ropes"
      pr"\xo#dhw#hpu#sfifr*oky#re#rhvhll1"

  case "use left"
      rope = true
      d  = 201
      c  = 207
      de = 204
      l  = 210

  case "use middle"
      rope = true
      d  = 202
      c  = 208
      de = 205
      l  = 211

  case "use right"
      rope = true
      d  = 203
      c  = 209
      de = 206
      l  = 212

  case "north"
      pr"\xzxgio#i|xzq#kwz|r#ro#dol#r#hwwd#d1"

  case "east"
      pr"Pyq#dwdrjwhfwdn#r#wsd#k#rqudgvh#qrrljhv#oq#k#dzo/|xvr#wwhfuh#q#wslw"
      pr"whhhdr1k#oywu"
      location = 122

  case "south"
      pr"\xzxgio#i|xzq#kwz|r#ro#dol#r#hwwd#d1"

  case "west"
      pr"\xfqlx#oq#k#dzo#rlvzvhqhgr#rwqhdrjwhfwdnw#w#hwu#q1"
      location = 124
end select

if rope = true then
  if flag(d) = true then
      pr encrypt$("You pull sharply down on the " + object$ + " rope.  As you release it,")
      pr"whus#dfh#qvpwlj#oz|uwuljw#w#ujqosvwr1k#rhfwkvr#rhkq/vro#hxqq#rlvrlld#rllq"
      if flag(l) = true then
        pr"Ewqwljvhvw#dsqx#rkq#hp#rksh1"
      elseif flag(l) = false then
        if object$ = "left"  then pr"Gz#qwhvdh#r#h#k#wj#hwvxwurh/dgwhoirqr#k#wj/|xvhwhvdhoi#kwh#sq#q#k#hw"
        if object$ = "middle" then pr"Gz#qwhvdh#r#h#k#hwuvdhvxwurh/dgwhfqhrqr#k#wj/|xvhwhfqh#wj#kwh#sq#q#k#hwu"
        if object$ = "right"  then pr"Gz#qwhvdh#r#h#k#wj#lk#kwh#sq#q#k#lkrqr#k#wj/|xvhwhvdhujwvxwurh/dgwhujw"
        pr"oi#owrpuv#sir#hr1lwsdiu#lhx#upeoz"
        flag(d) = false
      end if
  elseif flag(d) = false then
      if flag(c) <= 0 then
        pr encrypt$("You pull sharply down on the " + object$ + " rope, until you feel something")
        pr"fwkdgwh#lhz|#Dvrwvuh#iuwkwfdnq#rqvfpdf#q#kqjy#d1##ku#hlvr#dfh#ofljvxg#rh"
        pr"ir#rhku#hlgwhef#doupvpzhhekq#k#dnzo1"
        flag(c) = flag(de) + 1
      else
        pr encrypt$("You pull sharply down on the " + object$ + " rope, as far as it will go,")
        pr"ewqwljvhvw#dsqx#rkq#hp#rksh1"
      end if
  end if
end if


case 124

select case full_input$
  case "look"
      pr"000Fwdn00000#dzo#00"
      pr"Whfwdnhg#hh#yuwhfqh#iwhvdh#Whulljhwqvk#dzo#qvku/rh#k#hwur#k#wj1#k#doq#{hg"
      pr"drq#k#q/nhlj|xir#dnq#i1#upku#r#d#h#k#kouxgwhhg#hsq#r#upzoljri#Ir#hh|xfqvhwhzrh"
      pr"whwudgwux/wrj#lkv#lwhojw#k#ude|q#k#wj#vkdh#xlrlp#kxkzw#rowo#lk/whdh#hrgwhvdhl"
      pr"fpowo#dn#Hv#lown#r#dnl#k#lhwr#iwhhhdr1rshh|gu1#dwzo#dh|xef#qwhguflqr#k#oywu"
      pr""
      if flag(216) = false then
        pr"Dflh#us#lvsukgr#k#q#iwhzoz|#q#q#hgiv#rog-rhvw#hfh#qwhhgr#k#dnd/rhhgko#dw"
        pr"l##hd#rvq#rqh#qwhulljqdpwokxljpxwgr#k#doq1"
      else
        pr"D-rhkqvgz#upwhhgr#k#dnd/rhhgko#dwl##us#dj#rqir#k#q#iwhzoz|#q#q#hgiv#qd"
        pr"pwokxljpxwgr#k#doq1#whwqvpv#iwhz|gzhd#rvq#rqh#qwhullj#L#{hg#rwr#k#d#rq"
        pr"w#k#wj1rwhvdh"
      end if

  case "get rope"
      pr"L*#hgl#of#q#r*#rhrwwvko#qsdhdgzqwfp#x1"

  case "use rope"
      if flag(216) = false then
        pr"\xsf#swhfl#ius#q#rvl#yuwhhj1#whwqvpv#ir#lnx#k#ror#rhdgwv#wrh#k#gh#L#{hg#rwr"
        pr"whz|gz#rwhvdh#Wuljdrq#q#dhxo#rhlj|xvok#d#rqw#k#wj1#xqq#uxgdgfuio|ozuq#ruhi"
        pr"riwhzoz|#r#oz|zu#ruz|gzzu1i#k#dnd/|xvro#rn|x#d#rqdg"
        pr""
        pr"Koz|gz/whus#qj#q|x#rw#dvq#r#rov#rujl1did#rq#k#rhvdvr#ruir/fxlj|xw#rh|x#us"
        pr"\x#sh#r|iovdd#upwhus/whvd#dflj|xeli|ruxsueg#do#z|ir#k#rh#k#qjfwkq#r#uho"
        pr"xvg#rqeiu#ruzlk#hn#r#uhr#k#rh#\xfdkslhgz#hrh|x#hjwmuv|xih#iwhus1#r#uv"
        pr"vulk#rqlw#k#wj#hglv1#lrlqh/|xjwx#knowdjwgz#qrwhvdhkdiuw#Gvuhwg#r#h#svdl|"
        pr"dggv#ruhiriq#xw|xvo#i1"
        flag(216) = true
        location = 116
      else
        pr"Ufolj|x#uyrvdfgq#qryq#kvus/|xgfg#khdoq#rushlx#flhwlyoljwl#rh#r#hlhwh"
        pr"hhdr#vdilqoh#d#rjwef#rwhvdhiruoywul##uhgluz|w#h#dnw#k#wj#or1"
      end if

  case "north"
      pr"\xzxgio#i|xzq#kwz|r#ro#dol#r#hwwd#d1"

  case "east"
      pr"\xpy#dndrjwhfwdn#wsljrh#k#lk#lhr#k#wj1r#rhef#oq#k#dzo/vrsq#yuwhujwvg#iwhvdh"
      location = 123

  case "south"
      pr"\xzxgio#i|xzq#kwz|r#ro#dol#r#hwwd#d1"

  case "west"
      pr"\xzxgio#i|xzq#kwz|r#ro#dol#r#hwwd#d1"
end select


case 131

select case full_input$
  case "look"
      pr"000VulhSvdh00000#hyf#dvj#00"
      pr"\xdhl##dvj#oq#k#lhr#k#kdh#hoq/odljqukr#u#qdsvdhdrjwhvg#iwhwhwufllj#hgq#rw"
      pr"dgvxk#W#k#rw#vwhfwdndrhwhwhwuvdh#q#kq#rw1#rwhvxkl#k#dzo#ey#k#kdh#wj/dgwh"
      pr"vdhhhdr1wj#oywu"
      if flag(214) = true then
        pr"Whsvdhl#lo#l#|zgo#sfgojweovkqljir#ey1k#dvj#vgp|owe#lh|vdh#lk#xe#djq#updrh"
        pr""
        pr"Zw#k#hoq#ey#r#olo#llo/|xqwf##po#hd#kwklkwhflljdrhqzsdq|yveh#r#rlhdvdopwo-df"
        pr"riw#k#lh#q##kqss#ogh#jlv#k#dwzo/odljxi#rwhvg/dgdwl#lh-dguddqwwhhv#do#hgq#s"
        pr"w#k#df1rwhkwk"
      end if

  case "open hatch"
      if flag(228) = 0 and flag(214) = true then
        pr"\xsr#ruhix#qwhogh#rudkwhflljkwkr#us|xvo#sr#k#dguw#hf#k#hoq#df1"
        pr"Whowkl##l#wi/ew|xdhdo#rzu#worh#q#xkk#df#vdewvli#x#r#u#ehw#rnl#rv/dgsv"
        pr"whkwkrh1#r#howhfr#lk#l#dwq#qk#df#sq#\xih#k#roqjwduziljl1"
        flag(228) = 1
      elseif flag(228) = 1 then
        pr"L*#ohg#sqwvdud|rh1"
      end if

  case "use ladder"
      if flag(228) = 0 and flag(214) = true then
        pr"Whkwkl#ovgk#df#vfrh1"
      elseif flag(228) = 1 then
        pr"\xdfq#k#dgu#krj#k#df#qwhfllj#q#xo|xvor#vhgwhogh/wuxkwhkwkl#k#hoq/dgso#ruhi"
        pr"x#rwhur#iwhwhwusw#k#rir#k#kdh1"
        location = 135
      end if

  case "north"
      pr"\xfqlx#krj#k#dvj#rwhqukhgr#rwqhwuxkwhsvdhw#k#rw#q1"
      location = 132

  case "east"
      pr"Whhvdzo#kwz|ku*##dowd#d1"

  case "south"
      pr"\xhl#k#duzsvdh#dnrw#k#dzo#rwhvxk#q#wsr#{wwhqur#dvj/ef#qrwhfwdnw#k#rw/dgvh"
      pr"lw#k#dnwj#oywuqrwhefvdhhhdr1"
      location = 122

  case "west"
      pr"Whhvdzo#kwz|ku*##dowd#d1"
end select


case 132

select case full_input$
  case "look"
      pr"000VulhSvdh00000#hyf#dvj#00"
      pr"\xdhl##dvj#oq#k#lhr#k#kdh#hoq/odljzvr#u#qdsvdhdrjwhvg#iwhwhwufllj#hgq#hw"
      pr"dgvxk#Iuw#k#rw#vwhfwdndrhwhwhwuvdh#q#kq#rw1#d#rwhvxkl#k#dzo#ey#k#kdh#wj/dgwh"
      pr"vdhhhdr1##l#rwhzv/|xfqvhdgr1wj#oywu#Deww#k#hw#r#d#h##ru"
      if flag(214) = true then
        pr"Whsvdhl#lo#l#|zgo#sfgojweovkqljir#ey1k#dvj#vgp|owe#lh|vdh#lk#xe#djq#updrh"
      end if

  case "north"
      pr"Whhvdzo#kwz|ku*##dowd#d1"

  case "east"
      pr"Whhvdzo#kwz|ku*##dowd#d1"

  case "south"
      pr"\xpy#dndrjwhsvdhw#k#rw/vrsq#ex#didr#rhef#oq#k#dvj#rwhvxk#wsljdrwkoz|"
      pr"w#k#wj#oywurwhvdhhhdr1"
      location = 131

  case "west"
      pr"\xsrhgzv#krj#k#dvj/vrsq#qirwr##rur#ufh#hwwuxkwhsvdh#wsljl#uq#idgr1"
      location = 133
end select


case 133

select case full_input$
  case "look"
      pr"000VulhSvdh00000#hyf#dvj#00"
      pr"\xdhd#k#hwhgr##dvj#wwhwsr#k#kdh1r#u#wwhzv#q#idsvdhd#k#r#iwhwhwu"
      if flag(214) = true then
        pr"Whsvdhl#lo#l#|zgo#sfgojweovkqljir#ey1k#dvj#vgp|owe#lh|vdh#lk#xe#djq#updrh"
      end if
      if flag(227) = 1 then
        pr"Whhvd#sq-ruw#k#hw#q##vr#hww#wku*#qrh#gr#rwhzv/dgd-owq{#rl1"
      elseif flag(227) = 0 then
        pr"Whhvdfrh#gr#rwhzv/dgd-owq{#rl1ku*##ovg-ruw#k#hw#q##vr#hww#w"
      end if
      pr"Drhwhfu#owl##lk#vlf1ey#k#dgvr#vdojw-zwk"

  case "look door"
      pr"Whgr#whil#dhr#wu|kuzr/dgwhpwokqh#x#k#xok#rulvo#vpg#ivxg#dgrg#q#k#hd#ljvuqwhio"
      pr"klk#iwhgr1##lhpwojdgsdhfyu#k#of#hlgwhhjwr#k#ru#Dzg#hd#xu#ow#rhvwhsdhekq#k"
      pr"kqo/dghwqvsv#k#ruw#rh##l#iwhzo#vzo1dgh#q#{hg#dwwhgr#rfyudewr#k#dod#ho"

  case "look slot"
      pr"L*#qrgfu0zs#owpg#isdwf#lkdpwoudh#hglvg1wvd#o#dgvlhvr#dhr#ovl/zw##hd#hgukd#qlh"

  case "open door"
      if flag(227) = 1 then
        pr"Whgr#vdud|rh1k#rul#ohg#sq"
      elseif flag(227) = 0 and flag(9) <> 1 then
        pr"Whgr#vofh/dgwhowkkovwhgr#lp|l#of1k#rul#rng#q#k#df#rg#k#ruiuo#qsdh"
      elseif flag(227) = 0 and flag(9) = 1 then
        pr"\xsv#k#hfu#krj#k#ow#Djhqojwidkvr#dvwhn|dgwuxkwhvr1##uh#lk#ovh"
        pr"dizwpv#q#r#huvp#ofljvxg#qwhzo#hww#h#lh/dg|xkd#rhflnq#rqvl#k#doq{#r"
        pr"whkqo1#uljwhkqo/whgr#r#sq#dl|k#dgh#W|q#k#dgh#k#ruqzrhvhvo1"
        flag(227) = 1
      end if

  case "use keycard"
      if flag(227) = 1 then
        pr"Whgr#vdud|rh1k#rul#ohg#sq"
      elseif flag(227) = 0 and flag(9) = 1 then
        pr"\xsv#k#hfu#krj#k#ow#Djhqojwidkvr#dvwhn|dgwuxkwhvr1##uh#lk#ovh"
        pr"dizwpv#q#r#huvp#ofljvxg#qwhzo#hww#h#lh/dg|xkd#rhflnq#rqvl#k#doq{#r"
        pr"whkqo1#uljwhkqo/whgr#r#sq#dl|k#dgh#W|q#k#dgh#k#ruqzrhvhvo1"
        flag(227) = 1
      end if

  case "use switch"
      if flag(214) = false then
        pr"\xil#k#lk#zwk#Dwudvfq#uwr##hlvr#lk#xer#oswhojwvlf1#ih##hrgr#z/dvuh#iojweov"
        pr"vuq#ey#k#dvj#ofh##l#hrhojwq#swxjdrhwhsvdhilnudeweiu#lkljx1"
        flag(214) = true
      elseif flag(214) = true then
        pr"\xil#k#lk#zwkddq#xqq#i#k#lkvdrh|xr#oswhojwvlf#jl/wuljriwhojw#ey#r1"
        flag(214) = false
      end if

  case "north"
      pr"Whhvdzo#kwz|ku*##dowd#d1"

  case "east"
      pr"\xuwu#rwhhv#q#iwhsvdh#ku#wwuvw#k#rw1r#hxqw#k#dwhgr#k#dvj/zhhl#xq#rwhvxk"
      location = 132

  case "south"
      pr"Whhvdzo#kwz|ku*##dowd#d1"

  case "west"
      if flag(227) = 1 then
        pr"\xvh#krj#k#rudglw##po/gu#rpr#wswuxkwhgr#q#qrdvdo#dnur1"
        location = 134
      elseif flag(227) = 0 then
        pr"Whfrh#ruern#ruz|k#ovggr#ofv|x#d1"
      end if
end select


case 134

select case full_input$
  case "look"
      pr"000FquoUr#0000#rwr#rp000"
      pr"\xdhl##po#rp#lkdrhwhef#iwhwhwuvdljr#u#qdvdour/kj#ey#k#dnr#k#kdh#hwq1"
      pr"Whvxkzo#hwuvdzg#lgz#upzlk|xky##xoyh#ik#rw#doidxh##lhzqr/ir#kf#r#dhdio#lzr"
      pr"whwhwudgwux#q#wj1#hr#k#lgzl##rwr#fqrhk#kdh#xlrlpdgvdh#Eozwhzqr#vdfquo-rvo"
      pr"zw#d|nrv#xwq/dgvlfh/d#hod#hhd#lsd#fhq1lkpq#qe/ewrv#q#zwkv#vzo#vvyuogvo|vuhv"
      pr"Whhvdvpo#hd#rgq#kl#qirwr#k#rvo/dgd#k#dnku*##lshpwoioljfdul#uq#iwhfqrh#q#wwhef"
      pr"r#k#rp##rjiolj-do#lwugzw#lfvr#tlpq#q#e{viwhur/doq#rgq#wehowhh#lkshh#ihxshwdg-rh1"
      pr"Pxwgw#k#hwzo/whhvd-xhr1#k#q|hl#vw#k#dwrqh#rwhzv#do#ku*##ive{#Whro#{wl#rwhhv1"

  case "look table"
      pr"Whwehvvudhl#prk#dldh#rg#R#wdhvwljyurvk#do*#xif#vvrw/opqwgzr1#ql#u#lwq#dlx"
      pr"oqwvr#ofufofeh#lshwrv#rrh#lk#lwu/dgvdnhjk#ihhwld#do/vpo#ro/fougojwiohv#q#wfv"
      pr"r#dvwhwsv#vzo#vdizfuedg-rh1ifvhw#dh/d#hod##h#dgru#e{v"

  case "look boxes"
      pr"Whe{vdhdorh#q#rw|hs|#k#rwqvdhvpouw#kwk#rh#u#o#sqdgpvo#pw/whfqhw#u#lld#rzd"
      pr"|xvhvdwugduv#k#do1r#h#fwhh#frvwhweh"

  case "look fusebox"
      if flag(10) <> 2 then
        pr"Whive{fqdq#xh#dhh#r#dkve|wpl#k#kdh/dok#xhr#rwlvivvoeogiuhf#xvvh#qwhwhwu#o"
        pr"vh#re#qdw#Ewwhouh#sfdlh#xhiuwhvr#dhhhpw#hlwf1#x#k#djuvhlo}giv#r#k#owoeog"
        pr"*dwufquo#vpvlj#q#k#dnr#k#owl#dugzw#rhpvh#rwr*l#lvq/dgwhef#iwhvr#vpuh#lkvp"
        pr"vrf#dn1fukpuv"
        flag(215) = true
      elseif flag(10) = 2 then
        pr"Whive{fqdq#xh#dhh#r#dkve|wpl#k#kdh/k#xhr#rwlvivvoeogiuhf#xvvh#qwhwhwu"
        pr"dovh#re#qdwdgdfxwgiuo#hpw#hlwf#q#frqh#r1"
      end if

  case "look console"
      if flag(10) <> 2 then
        pr"Whfqrhl#qhsqlh#dlxdljwhfquo#qyurvz|k#rvo#vxuvrvy/pqsowq#k#rwrvl#dlx#dv"
        pr"|hg#rdsuq#hxw1lovq#sdhwuvov"
      elseif flag(10) = 2 then
        pr"Whfqrhl#rhh#qowo#rrh#lkv#Rhr#k#lsdk#rvo#vfyugl#lwhfougojw1#q#iwhgvo|"
        pr encrypt$("screens is working, and shows three numbers:" + console_numbers$ + ".")
        pr"Xguwhwuhqphvr#k#lsd#u#kh#dfljewrvqh#k#kh#xeu#qwhgvo|dhwuhpwkq#xwq/"
        pr"-hw#pgo/dg-lk1oi/-lgh#q#ujw"
      end if

  case "use fuse"
      if flag(10) = 1 then
        pr"\xwn#k#xh|xixgl#k#wow#d/dglvu#wfuio|r#dhwhiv#r#rq#qwhxll|ej#q#qhwl#dhxo"
        pr"lw#k#pw#ow#Whvrf#dn#dhgvrwgwhsdwfqrwhhs|vr1#k#fukpuvky#lwuh#k#ovl/"
        pr"pnq#wgilxww#l#usu|#Zh#wiqo|fln#qrsdhdljl#lifo#riwsrho1#kql#ldo#ofvlw#of/"
        pr"whfquofqrhfpvdlhzw#lkv#q#q#iwhgvo|vuhvk#rwr#rvo#rh#oy#lkojw/dgrhr#k#lsd#fhq"
        pr"ojw#slkvx1"
        flag(10) = 2
      end if

  case "use button"
      pr"\xo#dhw#hpu#sfifr*oky#re#rhvhll1"

  case "use buttons"
      pr"\xo#dhw#hpu#sfifr*oky#re#rhvhll1"

  case "use left"
      if flag(10) = 2 then
        flag(206) = wrap(flag(206) + 1, 1, 9)
        pr"\xshvwhoi#xwqxguwhgvo|r#uv#k#hwewr#qh#k#lsd1"
        pr encrypt$("The display now reads:" + console_numbers$ + ".")
      end if

  case "use middle"
      if flag(10) = 2 then
        flag(205) = wrap(flag(205) + 1, 1, 9)
        pr"\xshvwhpgo#xwqxguwhgvo|r#uv#k#lghewr#qh#k#lsd1"
        pr encrypt$("The display now reads:" + console_numbers$ + ".")
      end if

  case "use right"
      if flag(10) = 2 then
        flag(204) = wrap(flag(204) + 1, 1, 9)
        pr"\xshvwhujwewr#qh#k#lsd1r#uv#k#lk#xwqxguwhgvo|"
        pr encrypt$("The display now reads:" + console_numbers$ + ".")
      end if

  case "north"
      pr"\xfqdud|udkhh|kq#qwhur#upku1r#d#ohg#hf#yuwljl#k#rpir#hh"

  case "east"
      pr"\xhl#k#rp#hxqq#rwhsvdhrwlhr#{wwhur/uwuljw#k#dvj#xvg1"
      location = 133

  case "south"
      pr"\xfqdud|udkhh|kq#qwhur#upku1r#d#ohg#hf#yuwljl#k#rpir#hh"

  case "west"
      pr"\xfqdud|udkhh|kq#qwhur#upku1r#d#ohg#hf#yuwljl#k#rpir#hh"
end select


case 135

select case full_input$
  case "look"
      pr"000WhwuUr#0000#kdh#ri000"
      pr"\xu#wqljr#k#dwhj#iwhwhwuvur1#k#uv#xxqr*hvdgq#qwhhv#ghr#k#kdh*#ri#Whflsdwp"
      pr"eh}#oz#hw|wuxkwhwhv#kf#dhrhjrqwhuruhhervjqo#krj#k#uh/zlkky#yuuz#k#ri"
      pr"w#k#rw#iwhkwk#efuq#k#lzr#k#rgr#k#wh#lhrwhqukr#k#df/rvxljwhyh#iwhud#qwhrkuvg1"
      pr"Whfqh#iwhur#velwlw##lkgp/dfxwq#r#k#rhk#hwur#k#ril#xo#qrdkj#rh#frqljiuwhgpg"
      pr"flljrh#k#xlrlpvdlj#L#k#df#w|x#hwhoq#yuwhdgwux#hwq1#qwhkwkd#ruih/"
      pr"wh-dguodvef#rqlw#k#kdh1#ku#vur#rpy#rk#ogh#hg#dngz#qrwhwhwu#Whhl#rpw#rhw"
      pr"whvxkdrjwhur*#ghk#rw#oq#k#rivhj1"

  case "use ladder"
      pr"\xozu|xvo#krj#k#df#q#hfq#qrwhsvdheozr#rh#ruhiwuxkwhkwkdggvhglw#k#dvj#hr1"
      location = 131

  case "north"
      pr"Wlnedfh#dhl#r#ufurvw#rwd#d#oq#k#ghkf#uqkvpn#wwrshdlx#rj#kwz|drjwhhj1"

  case "east"
      pr"L#ro#hd#hv##kh0wu|io#rwhjrq#upku1wzxge#wodwdwuhvrh#dow#k#uxgir#hh"

  case "south"
      pr"\xsf#ruz|fuio|w#k#rqur#k#rir#ln|x#d#dhxo#rwhfuh#iwhur1"
      location = 136

  case "west"
      pr"Whwhwuvgp#vwrvhsdgvrw#rflek#kdh*#rhl#r#wh#q#prkw#op1"
end select


case 136

select case full_input$
  case "look"
      pr"000WhwuUr#0000#kdh#ri000"
      pr"\xu#wqljr#k#rwhv#rqur#k#kdh*#ri#Whflsr*hvdgq#qwhvxkdwfuh#iwhwhwuvur1#k#uv"
      pr"dwp#uhhervjqo/fxljwhwhvdrq#k#kdh#rvdxxqeh}#oz#hw|#dvq#k#uh#uxgwhwhwuw#z|"
      pr"dew#Whhj#iwhur#hg#rwhqukdgzv1#l1#k#ghr#k#riodvw#k#rw#q#hw"

  case "north"
      pr"\xuwu#rvdgq{#rwhrh#df#qwhhv#lhr#k#rir#hxqw#wq#hww#k#sqkwkr#k#dwvg#iwhur1"
      location = 135

  case "east"
      pr"L#ro#hd#hv##kh0wu|io#rwhjrq#upku1wzxge#wodwdwuhvrh#dow#k#uxgir#hh"

  case "south"
      pr"L#ro#hd#hv##kh0wu|io#rwhjrq#upku1wzxge#wodwdwuhvrh#dow#k#uxgir#hh"

  case "west"
      pr"Qyjwq#viud#r#d#oq#k#dnhj#iwhur/|xdhvrsgdldljd#d#v|xfqdrjwhef#ghr#k#ri#r#u#wsh"
      pr"vrwpgd#|dughuqljgz#upwhgp/lw##louvsrwqku#lz|e##lj#xqq#rqir#k#rh#qrdsod#xsulj"
      pr"whef#dok#dnzo1"
      location = 137
end select


case 137

select case full_input$
  case "look"
      pr"000WhwuUr#0000#kdh#ri000"
      pr"\xdhvdgq#qwhvxkhj#iwhwhwuur/rh#k#dnzo1r#u#wqljr#k#rw#ghr#k#kdh#ri#yuwhef#do"
      pr"Whwhvdhvdlj#x#rwr#k#uhhlqwudkq#kvvg#ik#uh#u#z|q/ewpv#iwheh}#v*#hfljwl#lhr"
      pr"whur1#ku*##hy#wow#ejqvoglw#k#rqu#jlvk#ri#Whhvdkd|xll|-d#hwh#qrwhfuh/ddqw"
      pr"whughr#k#rh#Whz|w#k#dwdrjwhur*#ghl#od1k#lj#iwhgp1#k#d#rwhhv#oq#k#rivhj#vfhu"

  case "look bag"
      pr"Whejkvpq#rnw/ioh#lkkuzu#q#tlpq#r#ofufok#d#d#d|sfhv#logzw#dgdhdghxshwiuhhwld"
      pr"zu1#k#opqvky#odkgwhiel/dgush#rh#qwhvdvrn#Whhhhw#dhehfh#k#duf#q#lsgkovl#k#hp"
      pr"drq#rhr#k#rnw1uxgvp#iwhsfhv"
      if flag(215) = true and flag(10) = 0 then
        pr"Douhhhwld#iv#qrhr#k#lhsfhvfwkv|x#|1#dj#ofufo-xhl#q#iwhvg#rnw#dfh#ruhh"
      end if

  case "look fuse"
      if flag(215) = true and flag(10) = 0 then
        pr"L*#rvgl##ovl#dlj#lkfqdw#rqrhhgwd#kzwvkxh#qdsdwffvq/zw#rwfvgz#q#q#kwvr"
        pr"q#lq#izd1#k#uq#d#rhoeoq/dglgqdlq#riwrvjvr#hu#Whirwkvvp#dhlj#q#qhwwrvw#l"
        pr"lw#k#rnwdgofljwe#idive{qrwhvfh#q#rnq#dvr##xhr1"
      end if

  case "get fuse"
      if flag(215) = true and flag(10) = 0 then
        pr"\xwn#k#xh#Whsdwffvq#d#ufh##l/ewwhfqdwr#dhwhiv1#k#ovl#dljkvfdngdew#x#k#rwf"
        pr"slw#hpw#hl#hyfdo#rgwr1rqvvh#re#qvulhehfqllq"
        flag(10) = 1
      end if

  case "get bag"
      pr"Whejl#qwwhv#q#ioih/zxgono#rhdolvfqhwk#d#vl#dwu/dgl#lwg#ro#lh|ov#o#w#rwqv"
      pr"rh#k#lhr#k#xoljyuwhvg#iwhelgq1"

  case "north"
      pr"Whwhwuvgp#vwrvhsdgvrw#rflek#kdh*#rhl#r#wh#q#prkw#op1"

  case "east"
      pr"\xpy#dww#k#rqur#k#rir#rhhv#rwhfuh#iwhur1"
      location = 136

  case "south"
      pr"L#ro#hd#hv##kh0wu|io#rwhjrq#upku1wzxge#wodwdwuhvrh#dow#k#uxgir#hh"

  case "west"
      pr"Whughr#k#kdh*#rhl#qwhz|#q#ku#u#rirkovk#lj#iwhwhwuvgp#vl#k#d/dgwhhdhq#rwrg"
      pr"w#h#uxgl1rjwdrq#w"
end select


case 125

select case full_input$
  case "look"
      pr"000Evpq/Zv#0000#dhhw#hw000"
      pr"\xdhl#k#sf#qh#k#kdh*#wj/d#k#hwhg#L*##lhr#u#qwhvdhxguwhwhwuvvdh#wwhzv#q1#wvdzg"
      pr"vrdhvdhioh#lkrgefgrv#us/fvxhufv#q#xqwu/wuj#sf#logzw#o#dnus/srv#rwp#dn/dgiulxh"
      pr"dofdh#kfo#lkgv1#k#lh#iwhwld#owh#dhl#dgo#rwgwln|zw#xw#Whsovr#kdufofxwupn#wku"
      pr"w#rhdrw#x#ku*##duzfhuqhodljdrjwhqukvg/rpy#ex/ewwhhvdqur#oddf#hgq#oq#k#rw#lh"
      pr"zhhwhvdhoi#owrp#u1#k#wlzo#vqukr#r1ku#k#wj#lwsdiuvdh#Whvduhol#rw#i|x"
      pr""
      if flag(201) = false then
        pr"Whz|hv#vfuhw|ernge#k#|uxl#hkqv#rgq#kk#d#dwl#xuqo#ofh#|whkgdofpfdlpkoljwh"
        pr"vdhoi#lw-owrpl#w#dvgsvwr1wj#hwoi#sdiu#qlvulh#rllq"
      elseif flag(201) = true then
        pr"Whvdhoi#lw-owrpl#rhh/dozq#dvj#rwhhv1k#wj#hwoi#sdiu#vozug#orljsvdhw#k#dw"
      end if

  case "look platform"
      if flag(201) = false then
        pr"Whoi#owrpl#dvgx#rwhvdh#hgl#of#|douhk#lwsdiu#vulh#sw#k#wj/ko#qsdhe##dj"
        pr"kgdoffop#q#hhd#lr#do1#ku#v*#qxkvdh|uxl#rxqdgvyuosowulv#Whhlqwhrj#sf"
        pr"w#th}#dwr#lkuvg1rvxhhsv#qhwh#lh"
      elseif flag(201) = true then
        pr"Whoi#owrpl#rhh#qrwl#rp#q#k#sqq#rwhvdhk#lwsdiu#vozuglw#kvur/dgwhrhljw#k#wj"
        pr"drhkveh#rhh#lkdvxwuey#d#hqfyugzw##kwh1"
      end if

  case "north"
      pr"\xuwu#dnx#rwhvdhoyoydwhvduho#puljrir#hxqef#sw#k#wj#hh#l#k#wlzo/hhjq#i"
      pr"whvdhoi#lhk#wj#hwvg1"
      location = 118

  case "east"
      if flag(201) = false then
        pr"Wd#d#vernge#k#hwoi#owrpvkgdof1kwz|l#ofh#|whoi#lwsdiu*#|uxlv"
      elseif flag(201) = true then
        pr"\xvh#qrwhozugoi#lwsdiu1r#wsrw#k#rhh#hwoi#owrp"
        location = 126
      end if

  case "south"
      pr"Whhvwrpf#owh#qwhz|ku*#r#xkfxwul#k#d1"

  case "west"
      pr"Whhvdzo#qwd#lhwr1ku*##dol#kwguflq"
end select


case 126

select case full_input$
  case "look"
      pr"000Evpq/VdhOi#0000#dhhw#wj#hw000"
      pr"\xdhl#k#sf#qh#k#kdh*#wj/vdgq#qwhvdhoir#u#qwhvdhxguwhwhwuvvdh#wqljr#k#wj#hw"
      pr"oi#owrp#kf#d#hqozuglw#kvur1#xwh#rwhzv/lwsdiu/zlkkveh#rhh#qrwl#rp#Iukuw#k#hw"
      pr"whhl##wlzo#hgq#s#q#rwhhv#r#d#h#k#hwdku#vdvduhoodljx/dgw#k#dw|xfqvhwhfquo"
      pr"oi#owrp#Ewhqwhwrsdiuv#ku*##rgq#do#lklwsdiu1#hzh#k#z#owrp/whhvdioljwehzw"
      pr"ervdgrkudvuh#ehw1rn#q#wh#vrwgrmfv"
      if flag(202) = false then
        pr"Whfqh#lwsdiu#vulh#sw#k#wj1#qh#w##pok#hwuoi#owrpl#dvgx#rwhvdh#Xgul/dvdo"
        pr"fpdwhwl#xo#qrwhkgdof/ouhhrj#r#q#hvqrsupq#velwlw#k#|uxlv#dj#qxkiurhsur1"
      elseif flag(202) = true then
        pr"Whfqh#lwsdiu#vozug#hhoq#rhsovr#kdufok#hwuoi#owrpl#rhh/uydljpu#lh#iwhwld"
        pr"vsoh#qwhiuvg1xslvr#k#d#lh"
      end if

  case "north"
      pr"Whhvdzo#qwd#lhwr1ku*##dol#kwguflq"

  case "east"
      pr"\xvh#i#k#owrpw#k#dwr#wsriwhsdiu#rwhhv1"
      location = 127

  case "south"
      pr"Whhvwrpf#owh#qwhz|ku*#r#xkfxwul#k#d1"

  case "west"
      pr"\xzo#dnw#k#hwhgr#k#rp#|whvduhor#dnef#rwhzv#q#iwhur/e#k#wlzo1"
      location = 125
end select


case 127

select case full_input$
  case "look"
      pr"000Evpq#0000#dhhw000"
      pr"\xdhl#k#sf#qh#k#kdh*#wj/ewhqwhoi#q#hwur#u#qwhvdhxguwhwhwuvvdh#hzh#k#hwdgfqh"
      pr"oi#owrp1lwsdiuv"
      if flag(201) = false then
        pr"Whz|zv#vfuhw|ernge#k#|uxl#hkqv#rgq#kk#d#hwl#xuqo#ofh#|whkgdofpfdlpkoljwh"
        pr"vdhoi#lwsdiu#qlvulh#rllqwj#hwoi#owrpl#w#dvgsvwr1"
      elseif flag(201) = true then
        pr"Whvdhoi#lwsdiu#vozug#orljsvdhw#k#hwk#wj#hwoi#owrpl#rhh/dozq#dvj#rwhzv1"
      end if
      if flag(202) = false then
        pr"Whfqh#lwsdiu#vulh#sw#k#wj1#qh#w##pok#hwuoi#owrpl#dvgx#rwhvdh#Xgul/dvdo"
        pr"-rsupq#velwlw#k#|uxlv#dj#qxkiurhsur1fpdwhwl#xo#qrwhkgdof/ouhhrj#r#q#hvq"
      elseif flag(202) = true then
        pr"Whfqh#lwsdiu#vozug#hhoq#rhsovr#kdufok#hwuoi#owrpl#rhh/uydljpu#lh#iwhwld"
        pr"vsoh#qwhiuvg1xslvr#k#d#lh"
      end if
      pr"Whhl##rgq#wehku/zw#rn#q#wh#vrwgrmfvku#vdiolj-do#hh#lkervdgrkudvuh#ehw1"

  case "look compartment"
      if flag(202) = false then
        pr"L*#l#qxkiudsur/dgl#sqr#rkvgvwvejhrj#r##hvq#q#vrh#qew#lh1"
      end if

  case "look table"
      pr"Pv#iwhrmfvr#k#do#hpw#hhwh#rn#rwlljrwr#k#ehw#qwhwehvh#re#lkuervfqdqq"
      pr"sd#flw/r#po#wj#us1o|vusv#uvdovdhsrv"
      if flag(9) = 0 then
        pr"R#k#ghr#k#do#vdsdwf-hfu1qwhhj#iwhwehl##ovl#n|dg"
      end if

  case "look keycard"
      if flag(9) = 0 then
        pr"Vprhvsfxhl#qwhirw#oq#lkwhwhwuoj1rhq*#lwu#vr#k#uq/drjzw#k#kdh#rr"
        pr"Whhvdednvd#wl#oq#k#dnku*##of#fqvusdrjwhef1"
      end if

  case "get keycard"
      if flag(9) = 0 then
        pr"\xwn#k#hfu1r#dhwhn|dg"
        flag(9) = 1
      end if

  case "north"
      pr"Whhvdzo#qwd#lhwr1ku*##dol#kwguflq"

  case "east"
      if flag(202) = false then
        pr"\xvxhhlw#k#rsupq#qh#k#hwuoi#owrpr#th}#qrwhfpdwhwxguwhfqh#lwsdiu1"
        location = 129
      elseif flag(202) = true then
        pr"\xvh#qrwhozugfqh#lwsdiu1r#wsrw#k#rhh#hwuoi#owrp"
        location = 128
      end if

  case "south"
      pr"Whhvwrpf#owh#qwhz|ku*#r#xkfxwul#k#d1"

  case "west"
      if flag(201) = false then
        pr"Wd#d#vernge#k#hwoi#owrpvkgdof1kwz|l#ofh#|whoi#lwsdiu*#|uxlv"
      elseif flag(201) = true then
        pr"\xvh#qrwhozugoi#lwsdiu1r#wsrw#k#rhh#hwoi#owrp"
        location = 126
      end if
end select


case 128

select case full_input$
  case "look"
      pr"000Evpq/Fqh#wj#0000#dhhw#hwuVdh000"
      pr"\xdhl#k#sf#qh#k#kdh*#wj/vdgq#qwhfqh#wjr#u#qwhvdhxguwhwhwuvvdh#wqljr#k#hwuvdh"
      pr"oi#owrp#kf#d#hqozuglw#kvur1#rwhzv#r#dlwsdiu/zlkkveh#rhh#qrwl#rp#W#k#hw|xfq"
      pr"vhwhoi#lwsdiu1#hzh#k#z#owrp/whhvdioljh#k#hwoi#owrp#Ewhqwhwrsdiuv#ku*##rgq"
      pr"wehzw#rn#q#wh#vrwgrmfv#Whz|w#k#dwvg#ido#lkervdgrkudvuh#ehw1#k#d#rwhhv#lhr"
      pr"whur#vernge#k#owh/ew|xfqvhwhvdhujwoik#rpl#ofh#|whfxwu#x#r#d#h#k#wj#lk#lw"
      pr"kgdof#qwhrkuvg1|uxlvr#k#wh#lh"
      if flag(201) = false then
        pr"Whvdhoi#lwsdiu#vulh#sw#k#wj1k#wj#hwoi#owrpl#dvgx#rwhvdh"
      elseif flag(201) = true then
        pr"Whvdhoi#lwsdiu#vozugd#hok#wj#hwoi#owrpl#rhh#vzo1"
      end if
      pr"Vwlw#k#rw#do#lkqdpvudkr#k#owrp#vdouhh#qrwhqukzo/zwl#u*#hf#iwhsdiu/l##dj"
      pr"pwosdh-xwqhd#ow#ewr1"

  case "look button"
      pr"L*##wlov#wh#ow#dvgiudgrwr##r#rqh#qwhzo1wvdvdqhvvhosdhulh#rzu#x#ide{pxwgr#k#do"
      pr"Whhdhwdh#izu#dhljl#q#rquku#u#ufvr#rqoeoq#qrhfuh1"

  case "use button"
      if flag(213) = false then
        pr"\xshvwhewr/ewqwljkshvr#uv#k#xwq#x#rkq#dsq1"
      else
        pr"\xshvwhewr1#k#kwh#yu|x#hgrhv#q#k#lwr#uv#k#xwq#Whvxwurh#rukd#sq/dgwhoi"
        pr"|xu#wqljr#dh#r#sw#k#kdh#wj1r*hvdgq#qwnv|xx#rwhwhwuvdh"
        flag(202) = false
        location = 116
      end if

  case "north"
      pr"Whhvdzo#qwd#lhwr1ku*##dol#kwguflq"

  case "east"
      pr"Whhvwrpf#owh#qwhz|ku*#r#xkfxwul#k#d1"

  case "south"
      pr"Whhvwrpf#owh#qwhz|ku*#r#xkfxwul#k#d1"

  case "west"
      pr"\xvh#i#k#owrpw#k#hwr#wsriwhsdiu#rwhzv1"
      location = 127
end select


case 129

select case full_input$
  case "look"
      pr"000Evpq/Fqh#wj#0000#dhhw#hwuVdh000"
      pr"\xdhl##rsupq#pq#k#|uxlvr#k#hwuvdhoir#u#qdfpdwhwdrjwhkgdof#iwhfqh#wj#lw"
      pr"sdiu1#ku*#rur#rpy#uxg#\xfqjwrwr#k#hwvg/owrp#Whhvq#rpw#rhdrq1#r#d#h#x#qwhzv#lh"
      pr"ewwhhvq#sf#qwhhv#lhr#k#lwx#ku*#rvdhr#k#dwvg#iwhoi1"

  case "north"
      pr"Whvg#iwhfpdwhwl#qwhz|k#lhr#k#rsupq#vl#k#d1"

  case "east"
      pr"Whhvq#rpw#wq#qwd#lhr#k#lwku*#rur#rvdgr#kwvg#iwhoi1"

  case "south"
      pr"Whvg#iwhfpdwhwl#qwhz|k#lhr#k#rsupq#vl#k#d1"

  case "west"
      pr"\xvh#x#iwhoi*#rsupq1r#wsrwr#k#lwvfpdwhw"
      location = 127
end select


case 130

select case full_input$
  case "look"
      pr"000Evpq/VdhUjw00000#dhhw#wj#lk#00"
      pr"\xdhl#k#sf#qh#k#kdh*#wj/vdgq#qwhvdhujwr#u#qwhvdhxguwhwhwuvvdh#wqljr#k#wj#lk"
      pr"oi#owrp#kf#d#hqozuglw#kvur1#ku*#r#xklwsdiu/zlkkveh#rhh#qrwl#rp#Whhvwrpf"
      pr"fxwudrq#k#lwku#rj#qzhhhv#qwhur1#qwhhvowh#uxgwhoi#hhw#rd|ku#ohl#k#rp#R#k#dw"
      pr"zo#vdsqozw#kh#up#hd#kr#zwkv#wdkgw#dkdol##dh#lkwuhjl|pwowuzvlfh/dwfh#rhf"
      pr"vlf#vdzu#hgq#sw##r#dwqgddqwwhflljzwkl##lhodljx#rde{ivhh#jlv#k#hoq1"
      if flag(210) = false then t1$ = "The *left switch is currently up, " else t1$ = "The *left switch is currently down, "
      if flag(211) = false then t2$ = "*middle is up, " else t2$ = "*middle is down, "
      if flag(212) = false then t3$ = "and *right is up." else t3$ = "and *right is down."
      pr encrypt$(t1$ + t2$ + t3$)
      pr"Vwlw#k#rw#dol##dj#hd#ow#ewr1h#qrwhqukzo#vdouhpwosdh-xwq"

  case "look button"
      pr"L*##wlov#wh#ow#dvgiudgrwr##r#rqh#qwhzo1wvdvdqhvvhosdhulh#rzu#x#ide{pxwgr#k#do"

  case "use button"
      pr"\xshvwhewr1#k#kwh#yu|x#hgrhv#q#k#lwr#uv#k#xwq#Whvxwurh#rukd#sq/dgwhoi"
      pr"|xu#wqljr#dh#r#sw#k#kdh#wj1r*hvdgq#qwnv|xx#rwhwhwuvdh"
      flag(203) = false
      location = 117

  case "use switch"
      pr"\xo#dhw#hpu#sfifr*oky#re#rhvhll1"

  case "use left"
      if flag(210) = false then
        pr"\xil#k#hwvlf#qrwhgz#rllq#\xkd##hkqfor#oswhoi#zwklw#k#rqsvwr1#r#hudpfdld"
        pr"vxgir#frvwhur1rq#upduv#k#rp"
        flag(210) = true
      else
        pr"\xil#k#hwvlf#qrwhx#rllq#\xkd##hkqfor#oswhoi#zwklw#k#ssvwr1#r#hudpfdld"
        pr"vxgir#frvwhur1rq#upduv#k#rp"
        flag(210) = false
      end if

  case "use middle"
      if flag(211) = false then
        pr"\xil#k#lghvlf#qrwhgz#rllq#\xkd##hkqfor#oswhpgo#zwklw#k#rqsvwr1#r#hudpfdld"
        pr"vxgir#uxgzhhwhfqh#wj#lwl1rq#updrq#ku#k#hwuvdhoi#v"
        flag(211) = true
      else
        pr"\xil#k#lghvlf#qrwhx#rllq#\xkd##hkqfor#oswhpgo#zwklw#k#ssvwr1#r#hudpfdld"
        pr"vxgir#uxgzhhwhfqh#wj#lwl1rq#updrq#ku#k#hwuvdhoi#v"
        flag(211) = false
      end if

  case "use right"
      if flag(212) = false then
        pr"\xil#k#lk#zwklw#k#rqsvwr1#r#hudpfdldr#oswhujwvlf#qrwhgz#rllq#\xkd##hkqfo"
        pr"vxgir#qh#k#owrp|xu#wqljr1rq#upxguwhsdiu#r*hvdgq#q"
        flag(212) = true
      else
        pr"\xil#k#lk#zwklw#k#ssvwr1#r#hudpfdldr#oswhujwvlf#qrwhx#rllq#\xkd##hkqfo"
        pr"vxgir#qh#k#owrp|xu#wqljr1rq#upxguwhsdiu#r*hvdgq#q"
        flag(212) = false
      end if

  case "north"
      pr"Whhvdzo#qwd#lhwr1ku*##dol#kwguflq"

  case "east"
      pr"Whhvdzo#qwd#lhwr1ku*##dol#kwguflq"

  case "south"
      pr"Whhvwrpf#owh#qwhz|ku*#r#xkfxwul#k#d1"

  case "west"
      pr"Whhvwrpf#owh#qwhz|ku*#r#xkfxwul#k#d1"
end select


case 138

select case full_input$
  case "look"
      pr"000Oi#hpqv00000#lwWulx#00"
      pr"\xdhl##rshh|xowuf0hqvdhxguwhwhwu#Whoir#u#qdfpowo#ql#rnkz#sf#qh#k#kdh1#k#lw"
      pr"-rsupq#uxg|xqzuvvr##h|vdouf|vhi#kf#exw|fpdwhwdrq#r#r#hw#qdyu#po#rn#ko/zlkduso"
      pr"grvlw##swr#o#lh1#ku*#h|owo#rpw#wq#hhus#qrd-l#qdovgv#Whhvyu#lwhur#rvdgku1"
      pr"R#k#rw#ghr#k#ko/|xfqvhwrqur#lh#rljx#upqwhqukhj#iwhvhi#r#d#h#z#duzssvsnq#sir"
      pr"whgu>vlljwhojwgz#kwvg/|xuyd#k#r#id-dguk#dn#kqq#k#lk#rqwd#lh#r#hhowhwsr##ogh1"

  case "look compartment"
      pr"Whzovr#k#rsupq/dgwhvurqljkgdof#vzo/k#do#iwhfpdwhw#q#k#xuxgq#|uxlvd#ho"
      pr"ewd#rpfdlp#lkzlkw#suw#q#iwhoi#dkqu#uphu|q#hkqvvzw#kf#rrhdhd|r#k#lwpflh|ir"
      pr"gz#hhrqku1"

  case "look ladder"
      pr"L*#dhr#hd#llj#q#d#ruggvlko#wwhvdv#Whuqvwvpg#ipwossq/dgkvfurh#ojw|d#k#hp1#k#xj"
      pr"fuhrwdg#q#rhdheq#rqdgdew#Rhuq#huwhwsxy#xzu/dgvp#u#hwgzzu##l1#q#xjqd#k#r"
      pr"l#lvq1vpvlj"

  case "look pit"
      pr"Dpq#k#ovojwgz#hho#h|owo/whhl##lhpv#livqlljwhidklk#rquydvyu#lwh#ku#vdiq#lwgixlj"
      pr"whed#hrhl#d#hf#qwljvogeozk#hpeiu#wfqudkd|kq#rl#hr1"

  case "use ladder"
      pr"Ozuq#ruhirh#k#gh#r#hl#rsf#ruz|gz#k#dgurhlj|xvo#yuwhhj/|xejqw#ln|x#d#rqwhogh"
      pr"vro/wvljhf#xjeiu#uvljl#lk|x#xozlk1oz|#hwq#dkuq#hrhwxwq#wzw#ruio#hjw"
      pr"\xfqlx#rqdgxwowhwsfqq#rjue#hfh#|whr#rwqhgzzu#ql#k#r#d#roqh#hudkge#k"
      pr"idklk*#hp#Whvurqljzovdhswh#lkjrhthopvrhovojwved1#k#xuxgq#do#u#lwgzw#uwvx#lhwq"
      pr"fywh#q#uwxlq1#ih#kwvhvon#hhd#lxh/|xudkdllvdgsruvrv#Dwuzd#hp#lhvyuopqwv#r#hf"
      pr"whirueozk#or#hr1"
      location = 139

  case "north"
      pr"L*#qod#r#d#rqwhswjh/ev#r#rwpwiw1wvxfhukziugz#k#l#rv#hwqww#hs#dh"

  case "east"
      pr"L*#qod#r#d#rqwhswjh/ev#r#rwpwiw1wvxfhukziugz#k#l#rv#hwqww#hs#dh"

  case "south"
      pr"L*#qod#r#d#rqwhswjh/ev#r#rwpwiw1wvxfhukziugz#k#l#rv#hwqww#hs#dh"

  case "west"
      pr"L*#qod#r#d#rqwhswjh/ev#r#rwpwiw1wvxfhukziugz#k#l#rv#hwqww#hs#dh"
end select


case 139

select case full_input$
  case "look"
      pr"000XguuxgSvdh00000#qhjrq#dvj#00"
      pr"\xdhd#k#dhr#k#ogh#hgq#swzu#k#kdh1#k#uxgr#u#wwhev#iwh-dguodljx#rdgwhwhwu#Whjrq"
      pr"xgu|xl#qxhh#rnvudh#q#hg#z|ir#k#dguw#kqh#r#vd#qyquf#xif/dgodvdd#upwhogh#rwh"
      pr"quk#Whuf#do#qhwh#lhdhfrhwjwh1rw1#k#rnzovr#lkuvg#u#ov#rhku"

  case "look ladder"
      pr"Wl#d#rq#k#dgukvvh#rhfurlq#q#d|uqvdhkviugz/whogh#d#hqpu#ruvr/dgpq#xj#u"
      pr"io|uvh#yuxo#xwgrh1"

  case "use ladder"
      pr"Zlh|xfxguwu#dnx#k#d#r#dhe#opljwhogh/ko#r#ro#hxqef#swhz||xfp#|fleq#k#dgu"
      pr"whhzv*#q#d#rrhdhwhoi/v#wvhvw#r#qxqfvd|ku#dqwd|z|w#suw#k#lw#rl#hp#r|xd#qhhvu"
      pr"k}u#q##dw#ishlx#lhddgdgdzvhr#ufrvwp1"

  case "north"
      pr"\xsrhgwuxkwhsvdh#kf#rqrhvrwlw##dofyu1r#ufh#krj#k#dvj/zlkvr#sq#x#qrdwo#dhq"
      location = 140

  case "east"
      pr"Whuf#doern#ruz|k#rnzo#ofv|x#d1"

  case "south"
      pr"Whuf#dozw#k#dguern#ruz|k#rnzo#lkwhogh#ofv|x#d1"

  case "west"
      pr"Whuf#doern#ruz|k#rnzo#ofv|x#d1"
end select


case 140

select case full_input$
  case "look"
      pr"000Fyu#0000#dhq000"
      pr"\xdhvdgq#qdqwuo|iuh#dhq#Whvddww0dh#hoqr#u#wqljl##dxdo#rpgfyu1#k#woflhogqfllj"
      pr"dsdvw#hvyuovrlvkj1#wjrq#hh/whfyu#do#rshu#re#hhd#wuh#lk#D#uxgoyo#k#dhqzovez"
      pr"rwdgxzu1"
      pr""
      pr"Whhl##po#hd#rgq#wehdgfduriw#q#lh##lhrku#vdvdopwoiolj-do#q#kl#i#rrhvg/dso#i"
      pr"zrh#wuj#rh/dgl#k#hwur#k#sf/douh-hhwozwrgqvrdhe{v#q#qwhfqh#iwhvdh##dj#sgvd#lk"
      pr"dwxkvuh#sqol#uq1#rf#fhq-dh#qirw"
      if flag(11) = 0 then
        pr"Whwsr#k#hhwohlvdilnuq#lk#ohjr1k#r#iwhsgvd#pw##ofhljojwex#oz"
      end if
      pr""
      pr"Svdh#hgw#k#rw#q#rw#x#iwl#dhqdvjvod#rwhqukdgvxkrwr#kvfyu1"
      if flag(11) = 0 then
        pr"Whsvdhw#k#rw#vfyugl##lldo#ofhljfudqk#dvj#rwhqukl#rhh#qdvpou|ilnuq#xwl"
        pr"r#lk/whvp#ohfoud#k#lk#upwhsgvd1iojw#k#dhex#rr#vwhojwir#k#hhwo"
      end if

  case "look table"
      pr"Whwehuvvxhho#qwhuf#or1#qwsl#qdvupq#ik#do#hw#qyq|r#k#rniru#R#r#vd#vrwhwr"
      pr"-ro#q#ssu1wrvdg-dhv"

  case "look tools"
      pr"Vp#ro#u#hrq}eh#lhzhfh#q#ohv#x##h#iwhrhwrvdhufjldo/on#uqkvdgslu/ewdizr#kp"
      pr"dhr#qdllugvj#q#xsv1#k|ky#hqvp#huir#v/u#ixipod#hlqdgsurh#Wh#dhvh#rhzd#upxh"
      pr"ewgvlheljpvo#hd/ky#fxxdh#rvj#id|uv1x#hsw#hq#rw|pwo#dhdfpowgq#lqr#q#xw"

  case "look papers"
      pr"Drjwhssu#u#hlqvhviuwhgyfvl#k#hwur#k#rppq#k#dhvdhgvj#sf#r#k#hlh#qwhfqh#iwhur/"
      pr"vp#lo#ivo#q#wow#{hvv#q##h#rh#u#qdoqxjrheovr#dhdgxll|hsqh/dgdizqwvdhl##djdh"
      pr"|xgqwufjlh#Vxiljwuxk#r#rlhdvdqg-hwusnqr#r*#hrq}1#kioq#krj/|xqwf##wlh#owh#rlj"
      pr"rwr#qhyos1x#id#qhrh"

  case "look letter"
      pr"L*#dguwh/l#k#dhxipod#djdh#N|zuvky#hqwvkqzlwq#qwhvp#qdlluoqxj1#h#rg#dheh"
      pr"xgulh#qug#q#rg#r#qhvdgvewwwgdrhwh1qhoqgl#h/dgzuv|xxguwq#xvlxh#ey#kp"
      pr""
      pr"jqrp#d+oq#vxe#wuldhlvv##dd+rhro,e*lfxsq#sd,dv#dihkj#vqhwdun#kpzug#d"
      pr"lshu#ufduu+rfd,lke#szuvxf,qfi#ulpovhr#kvh#fqho#u#d+rh#ruh#dxwlku"
      pr"wvd#ldslwe*+wwr,lsh#wullwxgvdwxkj#od#d#vdlq#povih#q#d#d*"

      '"The upcoming plan will require the assistance of allies from the homeworld.
      'on the station in a few days."

  case "look pedestal"
      pr"L#shu#rgg#vl#d#qhhdw#orwrjqfvdh#q#k#dqwdsdvpoh/d#wkvd#ojq/dpv#udl#ks/dgwhpl"
      pr"eg#d#ryvehvdv#Drq#k#duzev#ku#u#hy#ro#ir|kvq#llo#hp1#uxgwhqur#dhwhhdhkd|flvr"
      pr"pwol#xlj#Whhj#rh#sw#ex#kxguklk/dgwhwshdofweq1#k#ghfpvx#rdrwvroh#hjw#q#k#r"
      pr"gs#rqlw##ho#lh#lkugdljiurvfwlw#k#xif1lvgz#qrdzo/oqgzw#dlwq#xuz#x#qrwhvudh"
      if flag(11) = 0 then
        pr"Shljrh#k#l#iwhsgvd#rvhzhhwhjr#vfpq#uphuq#yuwhupr#k#hhwow#h#ku#k#ozl#rljir/"
        pr"|xqwf##dj/mjh/opqvhw-uvd/vvhggmv#yuwhr#rlhdouh#djg#xlhfq#f|wo#xsqh#xwrh#k"
        pr"fqh1hwu"
      else
        pr"L#k#ehf#iwhf|wo#k#hhwoqzvhvfpowo#qu1qwhdvqhr#k#uvd/whsgvd#r#hp#rshh|lhw"
      end if

  case "look crystal"
      pr"Whf|wol#rljvlko/d#il#d#hq#hgx#|pjhlk#uvd#vpyq#ojw|#vl#wzveljko#se#dqwf"
      pr"iuh1#kq|xpy#ovo#qxk#r#d#xwpn#x##dq/rfv#Zh#r#rhfrh|hrj/|xfqmv#dhrwdilw"
      pr"ozkpljvxgr#xpq#rq1"

  case "look panel"
      pr"L*##hd#dh#lkdfhusdwfwxkvuh#q#rrkuewrvwvdpwosqozw##od#ovl#rf#fhqdgq#wh#xwq1"
      pr"L*#xsuh#|dvqo#rq#rw#kf#veoh#rwhjrq1wvvsrwge##ljhuxgsv/zlkl#rwgw#k#uxg"

  case "use panel"
      if flag(11) = 0 then
        pr"Xr#rfljwhsqovvuh/l#dh#sdggvo|#kwdsdvsqwxkq#k#dh*#fhq#wznvx#q#lsdvzd#shu"
        pr"w#hdsvzu#upw#lkd#qx#r#qwhfqh#q##hedgre##dvrgsrs/zw#qlswe{l#k#hwudgdn|ru"
        pr"o|x#wwhewr1#wvdol##djdh|xgqwufjlhdrwd#k#rwp#L*#o#qdoqxj#r#r*#hrq}1"
        pr"W|q##h#dgpdwpw/|xjwdoq#iugw{#dkwp1uljdizuqr#whsv#r#h##lhr#h#hwhf#lh"
        pr"Rf#r#lhx/whvuh#rvednddqdwudvrwwp1qh|xjy#s#k#fhqjh#of#jl#ih##ku#lh"
      else
        pr"\xwxkwhsqovvuh/ewwhhl#ruvrv1r#rf#k#dh*#fhq#x#ku#vq#hsqh"
      end if

  case "get crystal"
      if flag(11) = 0 then
        pr"Vuwkq#rudpx#q#yuwhsgvd/|xudkgz#qlhwhflj|x#u#sdgrh#k#hhwo#r#hf#rqlvg"
        pr"dgvro#ov#rukq#uxgwhf|wo#D#r#u#rso#wq#oz|frh|x#dgdrq#k#uvd1#v|xw|w#xol"
        pr"rw#wuvvvd#lv/ewfpvih#lkdowo#rhiuhx/l#hlw#wiuw#x#rh#uhzw##lwhpu#rf1"
        pr"\x#dgdgzlwjr##l1#rnq#s#r#rlhwhfudqrrukq#q#uv#ozdew#Orljx/|xqwf#k#xwl#i"
        pr"ojwfyuq#k#rw#{wr#k#dhqkvgvshuglk#rhljwhqukhl#iwhfyu#d#ldsdh1"
        flag(11) = 1
      end if

  case "north"
      if flag(11) = 0 then
        pr"Dsrfljwhfudqr#lk#wwhqukvg#iwhfyu/sudkq#k#xwl#iojwd#k#rw#lhr#k#dhq"
        pr"|xfxlxo#whf#x#ruiqhvwzu#w#\xgqwih#qr#dwrv|vuwkrw|x#lju#rdgl1#r#r*#hod|"
        pr"vudhl#k#lk/ewwhfrh#r#h/whpu#irwl#dhxif#qwhojw#x#k#ovu|xjw#k#rhhiu#wwnv"
        pr"w#hsjlj#Rf#r#u#hwl#wvqwgqhrvw#h#ov/rnh#rq1#qh|xdhfudql*#r#djux#rjwfrh"
        pr"|xdwpww#dnwuxk#\x#r|l#rw|ewiuo#hhogr#whs#rzo#krj1#rueg#vvio#x#lp|usoh"
        pr"efzu/d#ie#dqwv/dg|xiq#wlsvlo#rjwwuxkdndg#vl#|pjhlp#q#r#lgl#prvehw#h#krj1"
      else
        pr"Zw#k#lk#rh#r#u#ehw#rwqhw#k#rw#x#ilkwhojwjq/|xdhdo#rfqlx#rwhqukrwr"
        pr"whfyu1#k#rw#dvj#xq#kuo#hw#q#qvl##dok#dhq#Whquksvdhwuvvds|zv/dghg#qdzo1"
        location = 141
      end if

  case "east"
      pr"Whfyu#d#rhl#qwd#lhwr1k#dhqkvq#{wl#kwguflq"

  case "south"
      pr"Wuljef#x#iwhfyu/|xzo#krj#k#dvj#ql#hfljxqq#dnrwr#k#dhq#r#dnwuxkwhsvdhxwoudkq"
      pr"whogh#jl1k#dguddq"
      location = 139

  case "west"
      pr"Whfyu#d#rhl#qwd#lhwr1k#dhqkvq#{wl#kwguflq"
end select


case 141

select case full_input$
  case "look"
      pr"000XguuxgSvdh00000#qhjrq#dvj#00"
      pr"\xdhd#k#q#idsvdhfpq#upwhhv1#rwhzv/whr#u#wwhhgr##dvj#rljir#k#dw#W#k#hw#k"
      pr"fhlhewhqwhuf#do#rwqh/ewkvqurh#rdrwwhzgkuyf#hzh#k#rnzovfqlxv#x#d#duzgw#ex#k#lw"
      pr"r#rukq1#k#rn#or#iwhsvdhkveh#rhh#lkgu#hhi|x#dg#Whuf|irur#k#dvj#d#hqfyugzw#lwku"
      pr"v#vw#dhl#hh/dg|xdhvdgq#qdouh#tdhzrh#owrd#rpn#woyo#q#r#u#wqljr##dj/vxu#rgqsdh"
      pr"hegh#qwhgu1#upwhfuhvr#k#ow/ix#kq#of#hdphggl#k#lw#Ir#k#rqu#iwhsdh#ruwl/vdnpwo"
      pr"fdq#vhgxzu#qrwhednhv#Whvdhdrh|xkvzgqg#qklvdfq#sdglw#k#ofqv1#k#sf#ey#r#d#lhh/dg"
      pr"wuljwhidklk#lhw|xzu/|xvhwd#wjh#sdoq#d1xqq#k#ovojwgufo#sdg#r#h#kwl#rvx##rjz|"
      pr"Kqljir#q#iwhfdq/whhl##po#hd#r#lkduxgzlhdjq#uprhr#k#klv#ku#vdvdopwoe{zw##rq#kw"
      pr"sdwf-xwqovl#ewr1"

  case "use button"
      pr"\xjl#k#r#lkrhkq#q#uv#k#xwqzw#k#wh1r#uswhe{zw#q#dgdgshvwhewr#lkwhrku"
      pr"Dvdsfdjq#rq#frvir#ey1#ih##h#hrg/|xkd#ku#oqljvxghkh#updrh#Dwudizvfqv#r#hu"
      pr"dfpo{vwr#hkqfojlgq#rqvejq#q#k#klvov#kl#rsh#h#ipfdld#uqljvxg#hl/dgwhfdq#rhwhu"
      pr"vdn#lnq#swhzrh#owrp#\xjl#q#iwhfdq#v|xdhof/sfljx#k#rgqsdiu1#r#usrhr#k#klvd#r#u"
      pr"soh#sdg#Whuf#do#hl#rqur/xwowhhl#dh|hrjxogxzu1#k#rnzovejqw#duz#ql#ku#veuo#qxk"
      pr"vdhiuwhsdiu1#rudfq#rh#rd#exwvr#xweiusf#r#k#owrp#\x#vhwfpvw#qdus#wsmv#hrh"
      pr"udkq##po/id#hoq1hfljdvdo#owfllj"
      pr""
      pr"Pwouqvky#hqgloglw#q#iwhzov#q#hgx#krj#khd#xj#dheh#uoh#qrrhr#k#do/dgod#swuxkwh"
      pr"flljyddfuxd#rh#\xflewhuqv#q#wwhwsr#k#rhhoq#l##lfouko1#r#op#k#xj/dgd#k#r#iwhko"
      pr"|xiq##hy#hd#rh1#wwnvvp#irww#xkwhfyurir#lgdkd|pwofyu#L#dh#rhhiu#rsv#k#rh#i/"
      pr"ewrf#r#r#r#howhqjwduirljl1#xoq#ruhixx#qh|xg/|xih#k#lk#l#ozq#q#Solj|xvo#s"
      pr"rwr#k#rh#r#lg|xvo#qwhvgzo#qirwr#k#kdh1x#iwhko/|xiq#ruhir#k#lhdnl#uq#iwhwhwu"
      pr"\xusdhwhfyur#k#dko/dggv#ruhirir#hof#k#rh#qwhpqrh#q#xw|xvo#i1"
      location = 101

  case "north"
      pr"Whuf#doern#ruz|k#rnzo#ofv|x#d1"

  case "east"
      pr"\xzo#oq#k#dvj/duyq#dnl#k#dhqr#dndrjwhsvdh#ulljef#qwhfyu1"
      location = 140

  case "south"
      pr"Whuf#doern#ruz|k#rnzo#ofv|x#d1"

  case "west"
      pr"Whhvqwhrj#sf#riwewhqwhzovku*#r#qxkvdhw#l#hzh#k#do1"
end select

end select
select case location

case 201

select case full_input$
  case "look"
      pr"000Hww#uyz|00000#vdhGlhd#00"
      pr"\xdhvdgq#qdzg#ojwq#uyz|l#uq#iwhNqrw|hww/r#u#wqljl##lhidvrhglhd#qirwr#k#hzuk#vdh"
      pr"qd#k#xezhh|xsuh#k#d1#kd#rwhqukl##rqdqhuwhfu#ku#r#dngwhfu#Dhgw#k#rw#vdixwl"
      pr"pwkq#k#q#qwhspkh/dwrj#wl#r#xuqo#zwkgr1dfljwhrhr#k#dsow#okxkl#vqwfuhw|vlfh#q"
      pr"Drq#k#vdhjrqv#k#dgvhs#z|lw#uv|kovdgyohvuxgwhhww#uxg/whoq#zhvdd#qrjdv#lo#q#do|1"
      pr"Whhdhq#wh#xolj#llo#upku#oq#k#rgku#u#rrkuelgqvyvehir#hhdrjwhud1"

  case "open car"
      pr"\xrh#k#d#rudgjwef#q#Orljrh#k#dsow#jl/r#sqwhfugr#q#h#dnl1#rnq#yuwhspkhvddq"
      pr"|xfqlh#rurwrvr#rvgu|x#slq1"
      location = 9

  case "north"
      pr"\xzo#sw#k#ghr#k#rqdqr#dnx#rwhhj#iwhixwl1"
      location = 202

  case "east"
      pr"L#ro#hev#rxhwhful#r#dww#rd|ku1wzxge#hww#v#k#d#i|xzq#rj#qzhh"

  case "south"
      pr"L#ro#hev#rxhwhful#r#dww#rd|ku1wzxge#hww#v#k#d#i|xzq#rj#qzhh"

  case "west"
      pr"L#ro#hev#rxhwhful#r#dww#rd|ku1wzxge#hww#v#k#d#i|xzq#rj#qzhh"
end select


case 202

select case full_input$
  case "look"
      pr"000IrwJuh#rqdq00000#uq#dgqIxwl#00"
      pr""
'    pr"#############################################4####5####6####7####8####9####:####;"        1        2        3        4        5        6        7        8
'    pr"468:<468:<468:<468:<468:<468:<468:<468:<579;3579;3579;3579;3579;3579;3579;3579;3"

  case "north"
  case "east"
  case "south"
  case "west"
end select


case 203

select case full_input$
  case "look"
      pr"000Pl#quqh00000#dqHwdf#00"
      pr""

  case "north"
  case "east"
  case "south"
  case "west"
end select


case 204

select case full_input$
  case "look"
      pr"000Hw|d#0000#quz|000"
      pr""

  case "look plaque"
      pr"Whsdx#hg#viorvk#othudvd#roz="
      pr""
      pr"#4#\WU#1PVH\"
      pr"##L#||xk##hu##dhr#hh#lhpq##qp#rw/Lkdgdwo#ivyqzv#h"
      pr"###oyq#qdiuv/jdgq##dkw#k#wu1###lljl##rhw#xuljdsw#rwhvdv"

  case "look painting"
      pr"L*#qdvuf#l#dqlj#Whhdhq#gqllehvdh/ewwhwvd#ewdwroslwq1#ku#u#rlhwido#ksv#x#k"
      pr"ozuujwsu#vduf#ud#ijhq#q#uzv#ko#k#sh0hwrh0lk#dwl##lkdu|r#uhvdgerq/zlhwhxsuoi"
      pr"l#dnex/edn#lkdizswkvr#xsh#q#d|vdo|orvgu#oh#of/zw##h#dfh#isuo/dgpq#po#hoz"
      pr"ihn1#k#dwewhqwhhwrkoh#vvrwo#oqh1#wwhhjvofv#Whsu#hzh#kv#z#dyvl#prk|ehgg#D#k#gh/"
      pr"whslwvrvvrw#q#dh#rwhsdqfqd#hrhudkq#k#up1k#dq#ws#ku/dgigvw#k#ol#dyveiu#hfljwhidh"

  case "north"
  case "east"
  case "south"
  case "west"
end select


case 205

select case full_input$
  case "look"
      pr"000IrwKo#0000#uq#do000"
      pr""

  case "north"
  case "east"
  case "south"
  case "west"
end select


case 206

select case full_input$
  case "look"
      pr"000IrwKo#0000#uq#do000"
      pr""

  case "north"
  case "east"
  case "south"
  case "west"
end select


case 207

select case full_input$
  case "look"
      pr"000IrwKo#0000#uq#do000"
      pr""

  case "look plaque"
      pr"Whsdx#hg#viorvk#othudvd#roz="
      pr""
      pr"#5#HX\#1EDW"
      pr"##Zhhh#k#ruzqveh#krj#k#rhw##kqyuwhix#lg#ozwuxkwhiuv/"
      pr"###vp#iwhzv#h#ro#xqw#dhwhvq###rhr#k#lhpqzxgwu#rif#k#x1"
      ' (The four clocks and the rooms turning to match the time; "wind" can also refer to winding a clock)

  case "look painting"
      pr"L*#qroslwq/uxk|udlwf#Dsl#ikpqdp#hf#upwvd#l#dqlj#rjo#hovl1##dur#xd#uvudkir"
      pr"whwswrfuhvlw#k#hwu#lkwhsovr#k#dg#sqxzu1k#r#z#rqu#qrwhfqh/zw#k#dp#iwhkqvrh#sdg"
      pr"L#k#sh#dwewhqwhdp/whhvdojwex#n#rldh#|qwhxsusu#hzh#k#uv#ku*##lk#ohv|gpqwge"
      pr"delodw|or0h#x1#k#rh#ud#kzdgvdwoqvdh#uolq#hozugvq#Whozudhvvr##lwq#dgfs/"
      pr"zw#uh/kov#lojv#q#lhvlkwhv#lo/yodh/dguyu1"

  case "north"
  case "east"
  case "south"
  case "west"
end select


case 208

select case full_input$
  case "look"
      pr"000Gqq#rp00000#lljUr#00"
      pr""

  case "north"
  case "east"
  case "south"
  case "west"
end select


case 209

select case full_input$
  case "look"
      pr"000Gqq#rp00000#lljUr#00"
      pr""

  case "north"
  case "east"
  case "south"
  case "west"
end select


case l_estate_seven_nw

select case full_input$
  case "look"
      pr"000QukhwFdeu00000#rwzv#kph#00"
      pr""

  case "north"
  case "east"
  case "south"
  case "west"
end select


case l_estate_seven_n

select case full_input$
  case "look"
      pr"000QukFdeu00000#rw#kph#00"
      pr""

  case "north"
  case "east"
  case "south"
  case "west"
end select


case l_estate_seven_ne

select case full_input$
  case "look"
      pr"000QukdwFdeu00000#rwhv#kph#00"
      pr""

  case "north"
  case "east"
  case "south"
  case "west"
end select


case l_estate_seven_sw

select case full_input$
  case "look"
      pr"000VxkhwFdeu00000#rwzv#kph#00"
      pr""

  case "north"
  case "east"
  case "south"
  case "west"
end select


case l_estate_seven_c

select case full_input$
  case "look"
      pr"000FquoUwqd00000#hwd#rxg#00"
      pr""

  case "north"
  case "east"
  case "south"
  case "west"
end select


case l_estate_seven_se

select case full_input$
  case "look"
      pr"000VxkdwFdeu00000#rwhv#kph#00"
      pr""

  case "north"
  case "east"
  case "south"
  case "west"
end select


case l_estate_seven_s

select case full_input$
  case "look"
      pr"000VxkFdeu00000#rw#kph#00"
      pr""

  case "north"
  case "east"
  case "south"
  case "west"
end select


case 217

select case full_input$
  case "look"
      pr"000Juh#huf#0000#dgqWudh000"
      pr""

  case "north"
  case "east"
  case "south"
  case "west"
end select


case 218

select case full_input$
  case "look"
      pr"000Juh#huf#0000#dgqWudh000"
      pr""

  case "north"
  case "east"
  case "south"
  case "west"
end select


case 219

select case full_input$
  case "look"
      pr"000Juh#huf#0000#dgqWudh000"
      pr""

  case "north"
  case "east"
  case "south"
  case "west"
end select


case 220

select case full_input$
  case "look"
      pr"000Juh#huf#0000#dgqWudh000"
      pr""

  case "north"
  case "east"
  case "south"
  case "west"
end select


case 221

select case full_input$
  case "look"
      pr"000Juh#0000#dgq000"
      pr""

  case "north"
  case "east"
  case "south"
  case "west"
end select


case 222

select case full_input$
  case "look"
      pr"000Juh#0000#dgq000"
      pr""

  case "north"
  case "east"
  case "south"
  case "west"
end select


case 223

select case full_input$
  case "look"
      pr"000Juh#ukd#0000#dgqDfz|000"
      pr""

  case "north"
  case "east"
  case "south"
  case "west"
end select


case 224

select case full_input$
  case "look"
      pr"000Sur#0000#dou000"
      pr""

  case "north"
  case "east"
  case "south"
  case "west"
end select


case 225

select case full_input$
  case "look"
      pr"000Sur#0000#dou000"
      pr""

  case "look plaque"
      pr"Whsdx#hg#viorvk#othudvd#roz="
      pr""
      pr"#6#QZHJ#1NROGH"
      pr"##Lfp#sqwhiuv/dgio#k#ruzqv###dhxr#k#rhw#q#hwwhix#lg"
      pr"###r#|if/jlh#|whzv#h*#dg1###qp#dh#xgge#k#lhpqvkqv"

  case "look painting"
      pr"L*##|eofslwq/whvu#r#lk#lgr#qdfhwvuo/whwvdvprl#dqlj#k#rw|xpjwiq#qd#qlq#fro#k"
      pr"ijuvdgwudqushhwge#lshvdh#logzw#luq#rrvlxh#q#hul#huvqh#|vpo#ksvioh#lkyedwfou1"
      pr"Rhouhuegiju#wqvd#k#hwvg/d#dod#k#dqljq#dj#rh#lxhvdg#wwhoi#lh#vwo#vwhslwq/"
      pr"koljdweh#qkvujwkq/dgslwq#rdgwhujwvg#lkrgq##dowl#l#lk#dg#q#rqljwzu#k#lk#lhzw"
      pr"kvoi#u#xvuwkg#Wuhwq#uxvr#hshsrhgirl#hwdprwwhfh1#kh#l|jrs#isro#ufh#up"
      pr"whjrq#qirwr#l/rh#kh#ugh#kwvd##lh1#dkjrsk#uxgl#uq#ikp#yuwuheljvwd#sqduyu#Hf#ux"
      pr"l#h#|dvpzd#djuuegiju/edljdfoux#ojvoge##rhkwouh#rh#lxh#huq##rrioid1"

  case "north"
  case "east"
  case "south"
  case "west"
end select


case 226

select case full_input$
  case "look"
      pr"000HvhqKo#0000#dwu#do000"
      pr""

  case "north"
  case "east"
  case "south"
  case "west"
end select


case 227

select case full_input$
  case "look"
      pr"000HvhqKo#0000#dwu#do000"
      pr""

  case "north"
  case "east"
  case "south"
  case "west"
end select


case 228

select case full_input$
  case "look"
      pr"000PvfUr#0000#xl#rp000"
      pr""

  case "north"
  case "east"
  case "south"
  case "west"
end select


case 229

select case full_input$
  case "look"
      pr"000PvfUr#0000#xl#rp000"
      pr""

  case "look plaque"
      pr"Whsdx#hg#viorvk#othudvd#roz="
      pr""
      pr"#7#HVQ#1UDR"
      pr"##Wrzv#h#dwio|khh#k#rw#lg##z#lhpqilkxo#hggwhvxkzq/"
      pr"###wrwhhv#lg#q#z#k#rw#lg###z#k#dwzq/dgwrwhqukzq1"

  case "look painting"
      pr"L*#qlshvrlwshhgq#qduofslw#Douhiju#idpqwvd#puvlqv#lf#rhl#f|l#dq1##dj#lxhr##d"
      pr"l##h#rhrfsh#k#hwu#lkhh#ovgdgoj#uvh#vlqdugue#fxlvwhfqh/zw#|vfrh#q#hvfrvgd#i"
      pr"vwljr#k#uxg#Whpqkvix#rjdp/eq#ojw|d#k#orvlwq#qwhjrq1#k#d#d#ruoq#uv#hwvlko#wwhhez"
      pr"dgslwq#rwhix#ljqo1#hzh#k#rh#uvl#lwugdjhwq#rqljw#k#rugdrdv#Ewhqwhozudp#vsfxh##ud"
      pr"idw#lkpq#hshhwq#q#djlj#R#k#lk#vdvuzljihghv/zw#d|sro#dljdgoxkq1#qwhujwl##sdoq#lo"
      pr"r#ozu#hww##lh1#hwl##d#huq##lkfs#hgq##rniirhvq{#rduyu#Oi#vdpqzdljdqjwd/udljder"
      pr"e#dghlk1#wwhws#ku*#qdjol##ozq#kw#rh|fqoojw#D#k#r/whhvd#qh#qdirljzlhue/"
      pr"sdljdjo0wljgku#lkdednzrh#up1o|q##rgvuqh#dszw##of#rgqidh"


  case "north"
  case "east"
  case "south"
  case "west"
end select


case 230

select case full_input$
  case "look"
      pr"000ZvhqKo#0000#hwu#do000"
      pr""

  case "north"
  case "east"
  case "south"
  case "west"
end select


case 231

select case full_input$
  case "look"
      pr"000ZvhqKo#0000#hwu#do000"
      pr""

  case "north"
  case "east"
  case "south"
  case "west"
end select


case 232

select case full_input$
  case "look"
      pr"000ZvhqKo#0000#hwu#do000"
      pr""

  case "north"
  case "east"
  case "south"
  case "west"
end select


case 233

select case full_input$
  case "look"
      pr"000ZvhqKo#0000#hwu#do000"
      pr""

  case "north"
  case "east"
  case "south"
  case "west"
end select


case 234

select case full_input$
  case "look"
      pr"000ZvhqKo#0000#hwu#do000"
      pr""

  case "north"
  case "east"
  case "south"
  case "west"
end select


case 235

select case full_input$
  case "look"
      pr"000Egrp00000#hur#00"
      pr""

  case "look plaque"
      pr"Whsdx#hg#viorvk#othudvd#roz="
      pr""
      pr"#8#LFSLH#1GVLOQ"
      pr"##Whzvv#ido#k#q#k#lh#qwhkdw##k#lhwr#o/whrhzroygl#k#hu"
      pr"###r#k#rhw#rozgro#k#hwu#lg###iwhiuv/iorh#q|whzvhqzq1"

  case "look painting"
      pr"Whslwq#vpwhduof#q#llh#qrv{vjhw#|oqvk#dqljl#dw#f|l/dggygglw#l#hpqve#lh"
      pr"ugdljrwir#k#hwu#L#k#hwul#k#hgr##d#lkdoq/dlwq#x#upwhfqh1#qwhfqh#vwhkd#idpqzw##rj"
      pr"irljzlhedgdgkl/ifq#hw#l#|vfrh1#dkr#kozq#kw#hu#q#du#dljoi/kvhh#ovg#Hf#iwh"
      pr"v{vjhw#rwlvdvdo#dhhvuegiju/ddqwdxlx#dnusl#hpqvfqdq##po/ifov#rh#lxh#jlv##qthefgr/"
      pr"dgfu|q##qthdwif1q#duljdxlx#uldw"

  case "north"
  case "east"
  case "south"
  case "west"
end select


case 236

select case full_input$
  case "look"
      pr"000Ewur#0000#dkrp000"
      pr""

  case "north"
  case "east"
  case "south"
  case "west"
end select


case 237

select case full_input$
  case "look"
      pr"000Vx|00000#wg#00"
      pr""

  case "north"
  case "east"
  case "south"
  case "west"
end select


case 238

select case full_input$
  case "look"
      pr"000Vx|00000#wg#00"
      pr""

  case "look plaque"
      pr"Whsdx#hg#viorvk#othudvd#roz="
      pr""
      pr"#9#HHDLQ#1UYOWR"
      pr"##D#dw##llh#dkr#k#lhpql#xq##wov/Lyvwghf#iwhzv#h#qwu1"
      pr"###R#k#wrhr#hh/whvdu#dkrhh1###qwhvun#ivyq#k#wu|sw#sqg"

  case "look painting"
      pr"--Dgslwq#hflwr-#g#dqljgvuslq"

  case "north"
  case "east"
  case "south"
  case "west"
end select


case 239

select case full_input$
  case "look"
      pr"000Fdh#0000#kso000"
      pr""

  case "north"
  case "east"
  case "south"
  case "west"
end select


case 240

select case full_input$
  case "look"
      pr"000UrwsVoux#0000#rir#rdlp000"
      pr""

  case "north"
  case "east"
  case "south"
  case "west"
end select


case 241

select case full_input$
  case "look"
      pr"000UrwsVoux#0000#rir#rdlp000"
      pr""

  case "north"
  case "east"
  case "south"
  case "west"
end select


case 242

select case full_input$
  case "look"
      pr"000Hww#rir#0000#vdhUrws000"
      pr""

  case "north"
  case "east"
  case "south"
  case "west"
end select

end select

loop






sub template




select case full_input$
  case "look"
      pr""
'    pr"############################################4####5####6####7####8####9####:####;"
'    pr"468:<468:<468:<468:<468:<468:<468:<468:<579;3579;3579;3579;3579;3579;3579;3579;3"

  case "get"

  case "use"

  case "open"

  case "north"
  case "east"
  case "south"
  case "west"

end select

end sub


sub pr(e$)
t$ = decrypt$(e$)

print t$
if left$(trim$(t$), 3) = "---" then print #2, "": print #2, t$
last_text$ = t$

if len(t$) < 80 then exit sub
t2$ = "  DEBUG: Text line ran over by" + str$(len(t$) - 79) + "characters."
color bg_color, text_color
print t2$
color text_color, bg_color
print #2, t$
print #2, t2$

end sub


function full_input$
full_input$ = verb$
if object$ <> "" then full_input$ = verb$ + " " + object$
end function


function aan$(t$)
a$ = "an "
if instr("aeiou", lcase$(left$(t$, 1))) = false then a$ = "a "
aan$ = a$ + t$
end function


function plural$(n, t1$, t2$)
if n = 1 then plural$ = t1$ else plural$ = t2$
end function


function ntext$(n)
select case n
  case 1: ntext$ = "one"
  case 2: ntext$ = "two"
  case 3: ntext$ = "three"
  case 4: ntext$ = "four"
  case 5: ntext$ = "five"
  case 6: ntext$ = "six"
  case 7: ntext$ = "seven"
  case 8: ntext$ = "eight"
  case 9: ntext$ = "nine"
end select
end function


function console_numbers$
console_numbers$ = str$(flag(206)) + "," + str$(flag(205)) + "," + str$(flag(204))
end function


sub cantmove

if badmoves < 3 then
  select case rand(2)
      case 1: pr"\xfqwj#kwz|r#d*#rwd#d1"
      case 2: pr"\x#dkl#ofh1rusw#verng"
  end select

elseif badmoves => 3 and badmoves < 6 then
  select case rand(2)
      case 1: pr"\xvlofqwj#kwz|r#wo#d*#rwd#d1"
      case 2: pr"\x#dkl#wo#ofh1rusw#vvloerng"
  end select

else
  select case rand(2)
      case 1: pr"\xvlofqwj#kwz|r#wo#d*#rwd#d1"
      case 2: pr"\x#dkl#wo#ofh1rusw#vvloerng"
  end select
end if

badmoves = min(badmoves + 1, 6)

end sub


function confirm$(t$)
pr encrypt$(t$)
pr""
input "> ", c$
print #2, "> " + c$
pr""
confirm$ = c$
end function


function encrypt$(t$)
encrypt$ = t$
if encryption_active = false then exit function
encrypt$ = railfence$(asc_shift$(t$, 3))
end sub
function decrypt$(t$)
decrypt$ = t$
if encryption_active = false then exit function
decrypt$ = de_railfence$(asc_shift$(t$, -3))
end sub


function railfence$(t$)

r1$ = ""
r2$ = ""
for n = 1 to inthalf(len(t$)) + 1
  r1$ = r1$ + mid$(t$, n + n - 1, 1)
  r2$ = r2$ + mid$(t$, n + n,    1)
next n
railfence$ = r1$ + r2$

end function


function de_railfence$(t$)

t2$ = ""
length = inthalf(len(t$))
r1$ = left$(t$, len(t$) - length)
r2$ = right$(t$, length)
for n = 1 to length + 1
  t2$ = t2$ + mid$(r1$, n, 1) + mid$(r2$, n, 1)
next n
de_railfence$ = t2$

end function


function asc_shift$(t$, d)


t2$ = ""
for n = 1 to len(t$)
  t2$ = t2$ + chr$(asc(mid$(t$, n, 1)) + d)
next n
asc_shift$ = t2$

end function





function plus_limit(n, p, l)
q = n + p
if sgn(q - l) = sgn(p) then q = l
plus_limit = q
end function


function half(n)
half = n * 0.5
end function
function inthalf(n)
inthalf = int(n * 0.5)
end function


function sq(n)
sq = n * n
end function


function atn1(n)
atn1 = n * atn(1)
end function


function degrees(d)
degrees = atn1(d / 45)
end function


function hypo(a, b)
hypo = sqr(sq(a) + sq(b))
end function


function arctan(y, x)
arctan = 0
if x = 0 and y = 0 then exit function
a = atn1(2)
if x <> 0 then
  a = abs(atn(y / x))
  if x < 0 then a = atn1(4) - a
end if
if y < 0 then a = flip_y(a)
arctan = a
end function


function flip_x(a)
flip_x = wrap_a( (atn1(8) - wrap_a(a + atn1(2))) - atn1(2) )
end function
function flip_y(a)
flip_y = atn1(8) - a
end function


function frames(s)
f = int(s) * 60
frames = int(f + ((s - int(s)) * 100))
end function


function frames_dec(s)
f = int(s) * 60       
frames_dec = int(f + ((s - int(s)) * 60))
end function


function wrap(n, l1, h1)
l = l1: h = h1
if h1 < l1 then
  l = h1: h = l1
end if
x = (l - n) / ((h - l) + 1)
if x <> int(x) then x = x + 1
wrap = n + (int(x) * ((h - l) + 1))
end function


function wrap_a(a)
x = -a / atn1(8)
if x <> int(x) then x = x + 1
wrap_a = a + (int(x) * atn1(8))
end function


function toggle(v, p, q)
if v = p then toggle = q
if v = q then toggle = p
end function


function rounding(n)
p = int(n)
if mod_dec(n, 1) => 0.5 then p = p + 1
rounding = p
end function


function min(n1, n2)
if n2 < n1 then min = n2 else min = n1
end function


function max(n1, n2)
if n2 > n1 then max = n2 else max = n1
end function


function pyr(n)
pyr = n * (n + 1) * 0.5
end function


function rand(n)
rand = int(rnd * n) + 1
end function


function mod_dec(n, d)
mod_dec = n
if d = 0 then exit function
mod_dec = ((n / d) - int(n / d)) * d
end function


function hexcolor~&(h$)
hexcolor~& = rgba32(0, 0, 0, 255)
if len(h$) <> 6 then exit function
hexcolor~& = rgba32(val("&H" + mid$(h$, 1, 2)), val("&H" + mid$(h$, 3, 2)), val("&H" + mid$(h$, 5, 2)), 255)
end function


function before$(t$, c$)
p = instr(t$, c$)
if p = false then p = len(t$) + 1
before$ = left$(t$, p - 1)
end function


function after$(t$, c$)
after$ = right$(t$, len(t$) - instr(t$, c$) - (len(c$) - 1))
end function


function between$(t$, c1$, c2$)
between$ = before$(after$(t$, c1$), c2$)
end function


function vector_x(a, v)
vector_x = 0
if a = aim_n or a = aim_s then exit function
vector_x = v * cos(a)
end function
function vector_y(a, v)
vector_y = 0
if a = aim_w or a = aim_e then exit function
vector_y = v * sin(a)
end function


function ellipse_focus_x(axis_x, axis_y)
ellipse_focus_x = 0
if axis_x > axis_y then ellipse_focus_x = sqr(sq(axis_x) - sq(axis_y))
end function
function ellipse_focus_y(axis_x, axis_y)
ellipse_focus_y = 0
if axis_x < axis_y then ellipse_focus_y = sqr(sq(axis_y) - sq(axis_x))
end function


function x_on_ellipse(ax, ay, angle)

select case angle
  case atn1(0): ex = ax
  case atn1(4): ex = ax
  case atn1(2): ex = 0
  case atn1(6): ex = 0
  case else: ex = (ax * ay) / sqr(sq(ay) + sq(ax * tan(angle)))
end select

if angle > atn1(2) and angle < atn1(6) then ex = -ex
x_on_ellipse = ex

end function


function y_on_ellipse(ax, ay, angle)

select case angle
  case atn1(0): ey = 0
  case atn1(4): ey = 0
  case atn1(2): ey = ay
  case atn1(6): ey = ay
  case else: ey = (ax * ay) / sqr(sq(ax) + sq(ay / tan(angle)))
end select

if angle > atn1(4) then ey = -ey
y_on_ellipse = ey

end function


function ellipse_tangent(ax, ay, angle)


ix = x_on_ellipse(ax, ay, angle)
iy = y_on_ellipse(ax, ay, angle)

fx = ellipse_focus_x(ax, ay)
fy = ellipse_focus_y(ax, ay)

a1 = arctan(iy + fy, ix + fx)
a2 = arctan(iy - fy, ix - fx)

ellipse_tangent = wrap_a(half(a1 + a2) + atn1(2))

end function


function line_and_ellipse(x1, y1, x2, y2, axis_x, axis_y, ix, iy)


ix = 0
iy = 0
line_and_ellipse = true

if axis_x = 0 and axis_y = 0 then exit function

fx = ellipse_focus_x(axis_x, axis_y)
fy = ellipse_focus_y(axis_x, axis_y)

dx = sgn(x2 - x1)
dy = sgn(y2 - y1)

if dx = 0 or dy = 0 then
  ix = x1
  iy = y1
  if dx = 0 and dy <> 0 and axis_x > 0 then
      iy = -dy * sqr((sq(axis_y) * abs(sq(axis_x) - sq(x1))) / sq(axis_x))
  end if
  if dy = 0 and dx <> 0 and axis_y > 0 then
      ix = -dx * sqr((sq(axis_x) * abs(sq(axis_y) - sq(y1))) / sq(axis_y))
  end if

else
  slope = (y2 - y1) / (x2 - x1)
  elevation = y1 - (slope * x1)

  a = sq(axis_x * slope) + sq(axis_y)
  b = 2 * sq(axis_x) * slope * elevation
  c = sq(axis_x) * (sq(elevation) - sq(axis_y))

  if sq(b) - (4 * a * c) < 0 then
      line_and_ellipse = false
      exit function           
  end if

  ix1 = quadratic(a, b, c,  1)
  ix2 = quadratic(a, b, c, -1)
  if abs(x1 - ix1) < abs(x1 - ix2) then ix = ix1 else ix = ix2

  iy = (slope * ix) + elevation
end if

end function


function quadratic(a, b, c, pm)
if a = 0 then
  print "Quadratic denominator was zero!"
  display: sleep
  exit function
end if
quadratic = (-b + (pm * sqr(sq(b) - (4 * a * c)))) / (2 * a)
end function

Print this item

  Surround sound
Posted by: MasterGy - 12-21-2023, 10:35 PM - Forum: MasterGy - No Replies

Hello !

I've been using surround sound in my games for a long time. Depending on your position and the distance/direction of the sound source, set the correct values using _sndvol and _sndbal. In theory, it should work with 4.0 sound (according to QB64), but I didn't get any feedback that it would work. And anyway! I think many people only have a stereo system. The computer is used from a laptop, headphones or a small stereo hifi. The spatial effect works on these, but only partially. After all, the fact that something is in front of us or behind us is the same. The direction can be inferred from its balance, but it still does not give complete information as to whether the sound source is in front of me or behind me.

I came up with the idea of starting two identical sound samples at the same time. I removed the high sound samples from one of the sound samples with the Goldwave program.
This demo program shows the sound effect, which can be easily integrated into a 3D game.

Try it ! move the mouse. You are in the middle. Put on your headphones or turn up the volume to experience surround sound!



Attached Files
.zip   surround_v2_2.zip (Size: 314.61 KB / Downloads: 41)
Print this item

  has anyone ever made Pitfall! or Pitfall II: Lost Caverns in QB ?
Posted by: madscijr - 12-21-2023, 03:29 PM - Forum: General Discussion - Replies (2)

Either one would be a cool game to see - just saying!

Print this item

  raspberry PI and _Dest _console
Posted by: Jack - 12-20-2023, 07:27 PM - Forum: Help Me! - Replies (4)

_Dest _Console doesn't work on my Pi, I am guessing that it silently launches a non-existing terminal with the result that nothing happens
the Pi's terminal is lxterminal, can one of the QB64pe developers point me to where in the source code I need to make the change?

Print this item

  Alphabetizing Anyone?
Posted by: NakedApe - 12-20-2023, 05:42 PM - Forum: Help Me! - Replies (11)

Happy holidays. I've sniffed around the site and can't find an alphabetizing routine. I doesn't have to be fast - I just need it to reorder some short files holding song titles. Any ideas for a guy looking for a simple sorter?  Thanks!

Print this item

  RIP Steve Bjork
Posted by: JamesAlexander - 12-20-2023, 08:55 AM - Forum: General Discussion - Replies (11)

Steve Bjork was an avid programmer and enthusiast, predominately in the Tandy Color Basic and 6502 Assembly Language circles. He made many games, and to many, he was a childhood hero. He passed away at age 65:
 
https://www.glensideccc.com/in-memoriam-steve-bjork/
 
https://www.facebook.com/groups/23594626...730632641/

Sad

Print this item

  can someone confirm this runs on their system?
Posted by: madscijr - 12-20-2023, 12:19 AM - Forum: Help Me! - Replies (18)

This is an old school Atari type game kind of like "Maze Craze" or "Adventure", where players race to finish a 2D maze.

The feedback I got last month was that the controls didn't work and it needed better instructions.

I have updated it to include full instructions, and tested it in QB64PE 3.10.0 and it works (in Windows 10 at least).

For anyone curious, download the attached code and give it a try. 

A main menu is displayed with some options. You can ignore most of the options, and just press 1 for instructions, and 0 to play. 

I had big plans for this game (see bottom of code for a list) but for now I just am curious if this works for anyone, 
so I would appreciate any kind of feedback one way or the other - does it work? Does it suck? Is it fun? Etc.

Thanks and have fun!



Attached Files
.bas   quadventure-1-01.bas (Size: 437.55 KB / Downloads: 57)
Print this item

  Subscript out of range?
Posted by: Cobalt - 12-18-2023, 11:08 PM - Forum: Help Me! - Replies (3)

Ok now that I have some time to code and play around, I'm trying to get back into it.
Thus I find my self in a situation that I'm not sure what is going on. I have an array with 16 elements (0-15) and I have a RND statement that I think is supposed to give me results of 0-15(RND * 16) But every so often I am receiving a Subscript out of range error.
am I just goofing or is something else going on? What am I forgetting here?

Line 41 is listed as the error line, which is the RND * 16 line.
I've attached the needed files to run it , if your curious just what it does.
Steve, I would be interested in your thoughts on how it is setup and what it puts out.

Code: (Select All)
TYPE Player_Stat
Name AS STRING * 16
Title AS STRING * 24
Strength AS _BYTE
Dexterity AS _BYTE
Constitution AS _BYTE
Intelligence AS _BYTE
Wisdom AS _BYTE
Charisma AS _BYTE
HP AS _BYTE
MP AS _BYTE
Max_HP AS _BYTE
Max_MP AS _BYTE
Xp AS LONG
Nxp AS LONG
Level AS _BYTE
Age AS _UNSIGNED _BYTE
Race AS _BYTE
END TYPE

SCREEN _NEWIMAGE(800, 600, 32)
RANDOMIZE TIMER
DIM SHARED Layer(8) AS LONG, Font(4) AS LONG, P AS Player_Stat
DIM SHARED Titles(15) AS STRING, Race(4) AS STRING
DATA "Novice","Aspirant","Battler","Fighter","Adept","Chevalier","Veteran","Warrior","Swordman","Hero","Soldier","Myrmidon","Champion","Superhero","Paladin","Lord"
DATA "Mystery","Human","Zombie","Dwarf","Elves"
FOR i% = 0 TO 15: READ Titles(i%): NEXT
FOR i% = 0 TO 4: READ Race(i%): NEXT
Layer(0) = _DISPLAY
Layer(1) = _COPYIMAGE(Layer(0))
Layer(2) = _LOADIMAGE("8x6CharSheet.bmp", 32)
Layer(3) = _LOADIMAGE("portraits2.jpg", 32)
Font(1) = _LOADFONT("ComicRunes.otf", 40, "monospace")
Font(2) = _LOADFONT("ComicRunes.otf", 24, "monospace")
Font(3) = _LOADFONT("DwarvenStonecraftCyr.otf", 24, "monospace")
_FONT Font(1)
_PRINTMODE _KEEPBACKGROUND
_SCREENMOVE 10, 10
COLOR _RGB32(0)
P.Name = "Ryo Seaba"
P.Title = Titles(RND * 16)
Stat_Maker

x%% = INT(RND * 10)
y%% = INT(RND * 10)
_PUTIMAGE , Layer(2), Layer(0)
_PRINTSTRING (293 - 18 * (LEN(RTRIM$(P.Name)) / 2), 28), P.Name
_PUTIMAGE (590, 80), Layer(3), Layer(0), (160 * x%%, 120 * y%%)-STEP(159, 119)
Fill_Stats

'LINE (319, 20)-STEP(2, 40), _RGB32(255, 0, 0), BF
'LINE (128, 40)-STEP(329, 2), _RGB32(255, 0, 0), BF
'160,120
SUB Stat_Maker
P.Strength = INT(RND * 15) + 1
P.Dexterity = INT(RND * 15) + 1
P.Constitution = INT(RND * 15) + 1
P.Intelligence = INT(RND * 15) + 1
P.Wisdom = INT(RND * 15) + 1
P.Charisma = INT(RND * 15) + 1
P.HP = INT(RND * P.Strength) + INT(RND * P.Constitution) + P.Constitution \ 2
P.MP = INT(RND * P.Intelligence) + INT(RND * P.Wisdom) + P.Wisdom \ 2
P.Max_HP = P.HP
P.Max_MP = P.MP
XpNeed%% = P.Strength + P.Dexterity + P.Constitution + P.Intelligence + P.Wisdom + P.Charisma
' P.Xp = XpNeed%%
P.Nxp = (INT(RND * XpNeed%% * 2) * 2 + 10) * (P.HP / 12) 'int((P.HP + P.MP)/10)*10
P.Level = 0
P.Age = INT(RND * 6) + 16
P.Race = INT(RND * 5)
END SUB

SUB Fill_Stats
_FONT Font(2)
_PRINTSTRING (192, 206), LTRIM$(STR$(P.Strength))
_PRINTSTRING (192, 238), LTRIM$(STR$(P.Dexterity))
_PRINTSTRING (192, 270), LTRIM$(STR$(P.Constitution))
_PRINTSTRING (192, 302), LTRIM$(STR$(P.Intelligence))
_PRINTSTRING (192, 334), LTRIM$(STR$(P.Wisdom))
_PRINTSTRING (192, 366), LTRIM$(STR$(P.Charisma))
_PRINTSTRING (600, 276), LTRIM$(STR$(P.HP))
_PRINTSTRING (600, 302), LTRIM$(STR$(P.MP))
_PRINTSTRING (664, 276), LTRIM$(STR$(P.Max_HP))
_PRINTSTRING (664, 302), LTRIM$(STR$(P.Max_MP))
_PRINTSTRING (600, 330), LTRIM$(STR$(P.Xp))
_PRINTSTRING (600, 356), LTRIM$(STR$(P.Nxp))
_PRINTSTRING (316, 294), "Bare Fists"
_PRINTSTRING (316, 490), "Thin Cloth"
_PRINTSTRING (624, 384), LTRIM$(STR$(P.Level))
_PRINTSTRING (624, 410), RTRIM$(Race(P.Race))
_PRINTSTRING (624, 438), LTRIM$(STR$(P.Age))

_FONT Font(3)
_PRINTSTRING (293 - 19 * (LEN(RTRIM$(P.Title)) / 2), 144), P.Title
END SUB



Attached Files
.rar   StatMaker.rar (Size: 1.08 MB / Downloads: 52)
Print this item

  QB664PE v3.10.0 is now live for X-Mas!!
Posted by: SMcNeill - 12-18-2023, 08:17 PM - Forum: Announcements - Replies (53)

https://github.com/QB64-Phoenix-Edition/QB64pe/releases

Quote:v3.10.0 Latest

Enhancements
#392 - Allow single quoted strings in $VERSIONINFO. - @a740g
#399 - The IDE waits for release of F5 key before running the program to avoid start of multiple copies of the program. - @SteveMcNeill
#401 - Add Support for optional paramter for an image handle to CLS. - @SteveMcNeill
#404 - Increased the maximum number of possible SUBs/FUNCTIONs in a program from 1000 to 25000. - @SteveMcNeill
#414, #415 - Implemented $EMBED metacommand and _EMBEDDED$ function. - @RhoSigma-QB64
Can be used to embed any files (images, sounds, fonts and other assets) into the compiled executable and recall it in the program when needed.
Read the respective Wiki pages: $EMBED and EMBEDDED$
Bug Fixes
#389 - Internal fixes to use correct math functions from std:: namespace. - @a740g
#391 - Fixed no sound issue on maccOS discussed in this forum posts. - @a740g
#397, #398 - Fixed several CONST issues. - @SteveMcNeill
#405 - Fixed checking for invalid domains in _ARCSEC and _ARCCSC as per the forum posts
#407, #410 - Change IDE save method for better speed on big source files. - @SteveMcNeill
#412 - Avoid segfault on bogus SVG data pretending to be valid SVG text. - @a740g
Full Changelog: v3.9.1...v3.10.0

https://github.com/QB64-Phoenix-Edition/QB64pe/releases

Print this item