PleasingFungus / Silicon-Zeroes

Issue repository for Silicon Zeroes. (Contains no actual code.)
12 stars 0 forks source link

Numbers don't correspond to letters as expected #90

Closed Lunarexxy closed 7 years ago

Lunarexxy commented 7 years ago

I probably "solved" this one in a way that wasn't quite expected/optimal, but it still feels like unintentional behavior. Each letter seemed to be correspond to a number. However, they lose their encoding as letters when I attempt to flip it from Z to A, and get stored in memory as pure numbers, marking it as the wrong answer. Is this a bug?

Image of the malformed output

PleasingFungus commented 7 years ago

The intended behavior is that letters stay letters as long as the values stay between 0-26 (inclusive). There's no inherent 'modulo' behavior. (This isn't documented - I could probably improve on it!)

I'm not sure exactly what your machine is doing - how exactly are you trying to flip letters from Z to A?

Lunarexxy commented 7 years ago

It first checks if the input value is 0 and, if so, it feeds a -1 into an adder which adds 1 to it, making it 0, which should correspond to a space. (the process is a little awkward but it technically sends the right numerical value for a space)

It then checks if the input value is 26(equivalent to Z); if it is, the constant 1 from the counter is sent to the Writer instead of the input value.

In short, it seems sending anything but a modified input value to the writer causes it to get output as a number instead of a letter, regardless of being a value between 0-26. You can see this on the Memory Now page visible in the linked image above.

PleasingFungus commented 7 years ago

In short, it seems sending anything but a modified input value to the writer causes it to get output as a number instead of a letter, regardless of being a value between 0-26. You can see this on the Memory Now page visible in the linked image above.

Ah, I see where the confusion lies! Yeah, the notion isn't that memory represents everything as letters, it's that letters are their own 'type' of value which you can mess around with by adding/subtracting. This isn't something that the level explains - I knew that was how it worked, so I didn't bother explaining it!

Maybe it should work as 'memory turns everything into letters in these puzzles'? Not sure what's most intuitive - either that or explaining the current situation better!

PleasingFungus commented 7 years ago

Should be clearer as of 12310c1b (next release). Thanks for reporting!