De acuerdo con la especificación,¿Cómo cambian DP y CC en Piet?
bloques de color Negro y los bordes del programa de restringir el flujo del programa. Si el intérprete de Piet intenta moverse dentro de un bloque negro o fuera de un borde, se detiene y el CC se alterna. El intérprete intenta volver a moverse desde su bloque actual. Si falla por segunda vez, el DP se mueve un paso en el sentido de las agujas del reloj. Estos intentos se repiten, con CC y DP cambiando entre intentos alternativos. Si después de ocho intentos, el intérprete no puede abandonar su bloque de color actual, no hay salida y el programa finaliza.
A menos que estoy leyendo de forma incorrecta, esto está en contradicción con el comportamiento de la sucesión de Fibonacci ejemplo aquí: http://www.dangermouse.net/esoteric/piet/fibbig1.gif (a partir de: http://www.dangermouse.net/esoteric/piet/samples.html)
Específicamente, ¿por qué el giro a la izquierda en DP (0, 3) ((0,0) siendo (arriba, izquierda)) cuando golpea el borde izquierdo? En este punto, tanto DP y CC quedan, así, por mi lectura, la secuencia debe ser entonces:
- intento (y fallar) para dejar el bloque yendo fuera del borde, (0,4),
- Alternar CC a DERECHA,
- Intento (y no) salir del bloque saltando por el borde a (0,2).
- Girar a DP UP,
- intento (y éxito) para dejar el bloque en (1,2) mediante la introducción de la manzana blanca en (1,1)
El comportamiento indicado por la traza parece para ser ese DP se gira todo el camino, dejando CC a la IZQUIERDA.
¿Qué he entendido mal?
Nunca esperaría ver la pregunta de Piet en SOX) –