4 Commits

Author SHA1 Message Date
14db5e0145 spectre_adjacent: optionally report dst_edge.
Previously, you'd ask this function 'What lies on the other side of
edge #i of this Spectre tile?' and it would tell you the identity of
another Spectre. Now it will also tell you which _edge_ of that
Spectre adjoins the specified edge of the input one. This will be used
in the extra spectre-test mode I'm about to add.
2023-06-18 14:33:53 +01:00
68a1e8413c spectre.c: expose a couple more internal functions.
spectre-test will want to use these for an additional generation mode.
2023-06-18 09:18:58 +01:00
86466959e8 Spectre tiling: add a comment with some reference URLs.
I meant to fold this into yesterday's main commit, but there's always
something that gets forgotten.
2023-06-17 11:11:26 +01:00
a33d9fad02 Loopy / grid.c: support the new Spectre monotiling.
This uses a tile shape very similar to the hat, but the tiling
_structure_ is totally changed so that there aren't any reflected
copies of the tile.

I'm not sure how much difference this makes to gameplay: the two
tilings are very similar for Loopy purposes. But the code was fun to
write, and I think the Spectre shape is noticeably prettier, so I'm
adding this to the collection anyway.

The test programs also generate a pile of SVG images used in the
companion article on my website.
2023-06-16 19:15:47 +01:00