Вопрос

Согласно спецификации,

Черные цветные блоки и края программы ограничивают поток программы. Если переводчик Piet пытается перейти в черный блок или выключить край, он остановлен, и CC переключается. Затем переводчик пытается снова перейти от текущего блока. Если он не удается во второй раз, DP перемещается по часовой стрелке на один шаг. Эти попытки повторяются, с помощью CC и DP изменяются между альтернативными попытками. Если после восьми попыток переводчик не может оставить свой текущий цветной блок, нет выхода, и программа завершается.

Если я не читаю это неправильно, это в шаннах с поведением примера последовательности фибоначчи здесь: http://www.dangermouse.net/esoteric/piet/fibbig1.gif. (от: http://www.dangermouse.net/esoteric/piet/samples.html.)

В частности, почему поворот DP слевается в (0,3) (((0,0), будучи (вверху, слева)), когда он попадает в левый край? На данный момент остается как DP, так и CC, поэтому, по моему чтению, последовательность должна быть:

  1. Попытка (и потерпеть неудачу), чтобы покинуть блок, выходя из края в (0,4),
  2. Toggle CC справа,
  3. Попытка (и потерпеть неудачу), чтобы покинуть блок, выходя из края в (0,2).
  4. Поверните DP вплоть вверх,
  5. Попытка (и преуспеть) оставить блок в (1,2), введя белый блок на (1,1)

Поведение, указанное следом, кажется, что DP повернут весь путь, оставив CC слева.

Что я неправильно понял?

Это было полезно?

Решение

Ваш анализ кажется правильным; Образец багги. Белый блок на (1,1) должен быть черным. Вы можете проверить это, захватив образец образца и выполняю его.

Обратите внимание, что по крайней мере три из переводчики Связанные с страницы DMM: Buggy - Marc Majcher's отмечен как таковой, прохождение Sylvain Thintillier и выводит правильно, но переключает значение In и Inn из спецификации (это Это бесплатная версия), а Пьетдева неправильно пересекает цветные блоки.

Редактировать: Другие белые блоки, вероятно, также должны быть черными, например, блок в (6,3).

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top