M
Задача в следующем.
Есть игровое поле, состоящее из клеток. У пользователя должна быть возможность зажать кнопку мыши и начать вести над клетками, формируя список выделенных клеток. При этом есть определенные условия выбора и система не должна позволять недоступные клетки.
Эта часть мною реализована.
Вопрос, как сделать возможность вернуться назад, отменив выделение?
Т.е. например пользователь провел мышкой по горизонтали по трем клеткам и по вертикали по двум, нарисовав букву «г». Потом передумал, и решил вернуться назад, т.е опять провел по тем клеткам, которые уже выбраны и система должна отменить их выделение.
Вот что то логику продумать этой отмены выделения не могу.
Список выделенных клеток храню в стеке. Следовательно последнюю выделенную знаю, но как понять, пользователь двинулся на новую клетку или вернулся на предыдущую?
Перейти на списки? Или второй стек сделать с отставанием в 1?