A quest 1, part 1 solution might look like this (I will get back this 3 head solution later):

The basic task is: Given a string of A, B and C, use rules to turn these into P’s. E.g., C turns into 3 P’s.
My first shot actually looks a little boring. 2 heads, the yellow to read the string, the red to write P’s. The red one quickly moves too far right to stay in the frame.

Part 2 added a D, turning into 5 P’s.

And part 3 has 2 strings interacting. This time the green head is writing the P’s. I have rules for every situation: A means 0 P’s, AA means 2 P’s etc. DD means 12 P’s and happens a lot below. I also have rules for counting P’s (as in previous iterations). AA moves unto the state ONE, meaning that state is responsible for writing 1 P and then returning to reading.

I could improve on these programs by writing some of the P’s on top of the strings. I guess my sense of order threw me a little here. It’s nice to have a writing line and a reading line.
The 2 state versions of the programs usually look a lot like the basic versions.


