1) Сохранять id таймера в соответствующем замыкании. Ну или хотя бы в глобале.
то есть window.gameTimer = setTimeout()... Можете возвращать id таймера из функциие timer().
2) Добавить для всех необходимых элементов, которые пользователь должен закрасить структуру данных.
Например:
{
element: state
}
где element - ключ, который однозначно определяет элемент(уникальное значение дата атрибута, например(
а state - значение. Например, 0 - не закрашено, 1 - закрашено.
3) По факту клика на элемент(рекомендую через деллигирование) проверять что все элементы имеют состояние 1. И есть это истинно, то обнулять таймер через clearTimeout и перенаправлять на страницу результата или что там ещё Вам нужно.
4) Profit.