За неделю удалось пару раз присесть за разработку
Наконец то дошли руки до реализации парсера, макет которого я набросал еще весной. До кучи тестово дописал ввод примитивов-точек с экрана.
Как результат - понял что нужно немного перелопатить алгоритм ввода с экрана, ибо все получилось наоборот =) - сперва вводится точка, а потом только выбирается примитив. Короче - неудобно. Буду думать
Подписаться на:
Комментарии к сообщению (Atom)

Кстати, интерактивный ввод с экрана - процедура непростая. Я когда делал проект, в котором нужно было размечать какие-то объекты, перемещать их точки, выделять что-то и т.п., пришел к мнению, что лучше всего писать в continuation-passing style. Это значит, что на каждом этапе мы пишем функцию, которая принимает на вход очередное действие пользователя, и что-то делает.
ОтветитьУдалитьТ.е., нечто вроде такого:
canvas.waitForClick(λ p1 => {
canvas.waitForClick(λ p2 => {
canvas.addLine(p1, p2);
})
})
А уж реализовать waitForClick поверх обычных событий вроде кликов, движений мыши не должно быть слишком сложным.
тоже пришел к такому же выводу. сижу сейчас и продумываю детали
ОтветитьУдалить