I have been trying to get Inform understand vectors, but no luck. Not terribly important, because I’ll probably use another system anyway; but not understanding things irritates me.
One thing that I don’t get is this:
[code]A coordinate is a kind of value. (1,1,1) specifies a coordinate with parts x-coordinate, y-coordinate and z-coordinate.
A room has a coordinate. Entrance Hall is a room. The coordinate of Entrance Hall is (0,0,1).
Every turn:
say 5 times the coordinate of the location.[/code]
One would expect the every turn rule to print (0,0,5). Instead, it prints (1,0,1) – and if that looks like a binary representation of 5 to you, you’re right, as testing with other numbers will show. Why on earth is this happening? Why has Inform ditched base 10?
And why can’t I add vectors together? I would expect (0,0,3) + (2,0,1) to evaluate to (2,0,4), but instead, it gives me a syntax error. Why can I multiply coordinates with a scalar, but not add them together?
I did read through Chapter 14 of the manual, but I can’t seem to find an answer to my questions. And searching the manual for “vector” just brought up a very complicated example about mixing liquids, which did not in fact seem to define any vectors.