// ASCII Stereogram decoder for @windyoona puzzle: // http://oona.windytan.com/koodi.txt // Info on reverse stereograms: // // https://web.archive.org/web/20080512003753/http://www.wellesley.edu/CS/LiDPC/OnParallaxis/Braunl.paper20.html p = """ a6b728b45ca6b728b45ca6b728b45ca6b728b45ca6b728b45ca6b728b45c f7b23c8137f7b23c8137f7b23c8137f7b23c8137f7b23c8137f7b23c8137 a6b728b45ca6b728b45ca6b728b45ca6b728b45ca6b728b45ca6b728b45c f7b23c8137f7b23c8137f73c813757f73c8137573c813837573c81383757 a6b728b45ca6b728b45cb728b45cb7f728b457f728b457f7f728b457f7f7 f7b23c8137f7b23c81f7b23c81f7b23c2c87b23c2c87b23c272c87b23c27 a6b728b45ca6b7285ca6b7285ca6b7285ca6b7285ca6b7285caca6b7285c f7b23c8137f7b23137f7b23137f7b23137f7b23137f7b23137f7a7b23137 a6b728b45ca6b7b45ca6b7b45ca6b7b45ca6b7b45ca6b7b45ca6b7b7b45c f7b23c8137f7b28137f7b28137f7b28137f7b28137f7b28137f7b6b28137 a6b728b45ca6b7b45ca6b7b45ca6b7b45ca6b7b45ca6b7b45ca6b7b7b45c f7b23c8137f7b23137f7b23137f7b23137f7b23137f7b23137f7a7b23137 a6b728b45ca6b7285ca6b7285ca6b7285ca6b7285ca6b7285ca7a6b7285c f7b23c8137f7b23c87f7b23c87f7b23c87f7b23c87f7b23c8757f7b23c87 a6b728b45ca6b728b4a6b728b4a6b728b4a6b728b4a6b728bcb4a6b728bc f7b23c8137f7b23c8137b23c8137b23c8137b23c8137b2373c8137b2373c a6b728b45ca6b728b45ca628b45ca628b45ca628b45ca7a628b45ca7a628 f7b23c8137f7b23c8137f7b28137f7b28137f7b2813437f7b2813437f7b2 a6b728b45ca6b728b45ca6b7285ca6b7285ca6b72b285ca6b72b285ca6b7 f7b23c8137f7b23c8137f7b23c81f7b23c81f7b6b23c81f7b6b23c81f7b6 a6b728b45ca6b728b45ca6b728b45cb728b4515cb728b4515cb728b4515c f7b23c8137f7b23c8137f7b23c8137f73c828137f73c828137f73c828137 a6b728b45ca6b728b45ca6b728b45ca6b838b45ca6b838b45ca6b838b45c f7b23c8137f7b23c8137f7b23c8137f7b23c8137f7b23c8137f7b23c8137 a6b728b45ca6b728b45ca6b728b45ca6b728b45ca6b728b45ca6b728b45c""" for offset = 1 to 21 { println["\n\nOffset: $offset"] for line = split[%r/\n/m, p] { len = length[line] for x = 0 to len-1 { xo = x + offset if xo<0 or xo>=len next print[substrLen[line,x,1]==substrLen[line, xo, 1] ? "#" : "."] } println[] } }