Научился: Общие поля и действия из нескольких методов выводить в отдельный метод - так оптимизируется код. Передавая методу входной аргумент (в нашей работе это private void start(string my_mode)) можно легко и красиво написать обработку нужных действий в этом методе, а не писать 4 отдельных метода на каждую кнопку.
Написал собственную функцию проверки квадратного корня. Трудности: Иногда запутывался когда меняли ход логики программы по ходу написания, помогала перемотка назад и повторный просмотр непонятного куска. Немного добавляют сложности постоянные преобразования типов (ToInt16(), ToString()), но видимо это особенность языка и от этого никуда не деться. Отличная программа чтобы тренировать математический аппарат мозга, легко делаю вычисления с max_count<1000, выше уже приходится тратить достаточно много времени :)
Научился: Использовать геометрию в программировании (Math.Cos, Math.Sin), элементы UI Panel и PictureBox, обработка нажатий клавиш клавиатуры Трудности: Привязка имён ресурсов к цифровым кнопкам немного сбивала с толку, немного не понял формулы в public bool ride, в целом всё понятно. У программы большой потенциал развития - можно, например, построить лабиринт, по которому нужно будет передвигаться машинке за определённое время, различные уровни сложности и т.д.