Только что обновил игру - появился сундук бесплатно. Я его открыл - открыл все карты, там среди всего есть опыт. Я нажал "получить" - ничего не произошло. Ну я потыкал несколько раз кнопку "получить" - ничего не произошло. Но когда я закрыл окно - у меня поднялся уровень. Такое чувство, что когда я много раз тыкал - все эти разы я получал опыт
Всё, за Вами выехали, ждите.
На самом деле, это достаточно классическая ошибка для интерфейсов любого характера. Суть такова, что по нажатию на некий элемент интерфейса (например, кнопку) выполняется какое-либо действие. Так вот, на выполнение действия нужно время, а пока этот запрос обрабатывается, можно нажать ту же кнопку ещё раз, тем самым отправив ещё один запрос, потом нажать ещё и так далее. Из моего опыта была ситуация, когда при заполнении электронной заявки на последнем шаге была кнопка "Создать", а после нажатия требовалось время для непосредственно создания записи и добавления её в БД, так вот, сколько раз успел нажать кнопку "Создать", столько заявлений и добавилось в БД. Те. пользователь создаёт заявление на Петрова, доходит до кнопки "Создать", нажимает её, программа подвисает, пользователь думает, что что-то пошло не так, потому что он нажал кнопку, а обратную связь (например, уведомление о создании) интерфейс не даёт, поэтому он нажимает кнопку ещё раз и ещё раз и ещё, а потом обновляет страницу, а там не одно заявление на Петрова, а уже 10 заявлений на Петрова, все как один, не отличишь друг от друга.
Из самых простых способов борьбы добавление прогресс-бара с загрузкой, который условно блокирует взаимодействие пользователя с интерфейсом после первой отправки запроса, те. куда ни кликни, всё залочено, реакции ноль. Но тут такой момент, что просто нужна скорость, чтобы успеть несколько раз кликнуть на кнопку до появления прогресс-бара/спиннера. Поэтому наиболее эффективным считается вариант, когда после нажатия кнопки анализируются последствия нажатия, на основании чего принимается решение о допущении, либо игнорировании последующих нажатий / отправки последующих запросов.