Hanoi Jane
Counting in binary to solve the Towers of Hanoi
Surely there are easier ways to do this?
Yes, there are. This is very much a Solved Problem. However, I was inspired to implement this solution after watching 3 Blue 1 Brown's fascinating video, in which Grant relates the Towers Of Hanoi to the Rhythm Of Counting In Binary:
Running it
bundle
bundle exec rake
bundle exec ./bin/hanoi console
Constrained version
There is a constrained variant of the problem, with the restriction that a disc may only move to an adjacent stack. I've also implemented the solution for this (which maps to the Rhythm Of Counting In Ternary) - you can run this with
hanoi --constrained
pHAT
In order to over-engineer this, I've wrapped a very thin Flask app around the MicroDot pHAT. Try
hanoi phat --phat <address_of_your_pi> --constrained
to watch this all play out on the pHAT: