С "кнопками" вариант самый оптимальный с точки зрения удобства игры. Вот попробуй мышкой нарисовать хоть что-нибудь, если у тебя включено "точное позиционирование", которое делает перемещения непредсказуемыми... Именно тыканье в узловые точки будет наиболее удобным и простым в реализации.
Да, придётся хранить состояния всех "кнопок" и отрезков. Это сложно? Хранить целых 10-20 кнопок? Вообще никаких проблем. И проверить пересечение двух прямолинейных отрезков будет гораздо проще, чем проверять коряво нарисованные кривые.
Думаю, твоя первая мысль оказалась самой оптимальной.)