the-infocom-files / hitchhiker

The Hitchhiker’s Guide to the Galaxy
20 stars 4 forks source link

Time passes strangely in the sauna #40

Open eriktorbjorn opened 4 years ago

eriktorbjorn commented 4 years ago

Time passes strangely in the sauna, and this is probably just one example:

>WAIT
Time passes...

"Announcement, announcement. This is Eddie (the shipboard computer). Emergency
situation! Nuclear missiles have just been launched at us from the approaching
planet, which my data banks indicate is the legendary lost planet of Magrathea.
I cannot perform evasive maneuvers because all circuits are currently engaged by
the Nutrimat. The missiles will turn this ship into a huge atomic fireball in
approximately eight turns. By the way, somebody didn't finish their spinach at
dinner."

>SCORE
We are about to give you your score. Put on your peril-sensitive sunglasses now.
(Hit RETURN or ENTER when ready.) >

Your score is 135 of a possible 400, in 179 turns.

>WEST
You enter the sauna. After several hours, you come out a changed man.

You hear distant sounds of panic: shouts of anger, cries of alarm, pounding
feet.

>SCORE
We are about to give you your score. Put on your peril-sensitive sunglasses now.
(Hit RETURN or ENTER when ready.) >

Your score is 135 of a possible 400, in 197 turns.

So that's 18 turns, and still no explosion?

Time doesn't actually pass in the sauna, it just adds to the MOVES counter. (The only sign that time has passed is that if Marvin was in the bridge when you entered, it moves him back to his pantry.)

<ROUTINE SAUNA-ENTER-F ()
     <UNPLUG-HELD-STUFF>
     <SETG MOVES <+ ,MOVES <+ 10 <RANDOM 12>>>>
     <TELL "You enter the sauna. After several ">
     <COND (<RUNNING? ,I-FORD>
        <TELL "minutes">)
           (T
        <TELL "hours">)>
     <TELL ", you come out a changed man.">

I-FORD is running while Zaphod and Trillian are still on the bridge. I suppose we could add a case to see if I-TEA is running, and print "seconds" instead of "minutes" or "hours". Maybe adjust so that it doesn't artificially increase MOVES in that case, too? That's the least intrusive change I can think of.

eriktorbjorn commented 4 years ago

Another example of a timer that could be running that probably shouldn't take hours is I-LANDING. But that's less clear since the landing is postponed ever time the timer is triggered while you're not on The Heart of Gold.