I'm not sure if this is a bug, or if it's just a matter of my
incomprehension of something. Here's my code:
> "Topsy Turvy" by Erik Wennstrom
> An angle is a kind of value. 45 degrees specifies an angle.
> A thing has an angle that varies called the tilt. The tilt of a thing is usually 0 degrees.
> Definition: A thing is upside-down if its tilt is 180 degrees.
> Definition: A thing is flipped-over if its tilt is 180 degrees or more.
> Before printing the name of an upside-down thing, say "upside-down ".
> After printing the name of a flipped-over thing, say " that is flipped over".
> Da House is a room.
> A pineapple cake is in Da House.
> The king of hearts is in Da House. The tilt of the king of hearts is 180 degrees.
> A junior birdman is in Da House. The tilt of the junior birdman is 0 degrees.
And here's the sample run:
> Topsy Turvy
> An Interactive Fiction by Erik Wennstrom
> Release 1 / Serial number 060523 / Inform 7 build 3K56 (I6/v6.31 lib 6/10N) SD
> Da House
> You can see an upside-down pineapple cake, an upside-down king of hearts that is flipped over and an upside-down junior birdman here.
It seems to me like Inform is correctly not identifying the cake and the
birdman as flipped over because their tilts are less than 180 degrees,
but that it is incorrectly identifying the cake and the birdman as
upside-down, even though their tilts are obviously not 180 degrees.