Проект перенесён сюда
Почитать описание, по которому сгенерирована игра
В итоге пришлось генерировать итеративно, за один проход ничего не получилось.
Первым делом надо было нагенерировать тесты, тогда разработка пошла быстрее.
Весь код, отвественный за тригонометрию, пришлось писать и тестировать самому.