Пытаюсь создать простенький тренажёр на заучивание японских иероглифов. Два типа заданий:
- Тебе показывают некое слово, нужно выбрать соответствующий ему иероглиф, нажав одну из девяти кнопок.
- То же самое, но иероглиф нужно ввести вручную (подразумевается, что юзверь будет работать со смартфона и использовать рукописный ввод).
При запуске программы всё вроде как работает, как и задумано, но через несколько циклов происходит странное: программа начинает полностью игнорировать один из типов заданий и выдаёт только что-то одно: либо 9 кнопок, либо ручной ввод. Хотя по задумке каждый раз тип задания должен определяться генератором случайного числа (0 или 1). И, повторюсь, первые несколько циклов всё в порядке.
Использование console.log показало следующее: когда вышеописанная проблема возникает, случайный выбор типа задания всё ещё срабатывает, как надо. Однако если рандом выбрал «неугодный» тип задания, то мгновенно функция update() (которая, в частности, запускает генератор случайных чисел и выбирает тип задания) запускается заново - до тех пор, пока рандом не выпадет на «правильное» задание.
Каждый раз в «опалу» попадает разный тип задания. Сейчас вдруг программа перестала предлагать нажать на одну из 9 кнопок, после обновления страницы и нескольких циклов - начинает предлагать ТОЛЬКО эти кнопки, забывая про второй тип задания.
С чем может быть связана ошибка?
Страница: https://mapper720.ru/kanji/kanji_js.html
Скрипт: https://mapper720.ru/kanji/kanji_js.js
Подсказка для тех, кто не разумеет иероглифов (чтоб знать, куда тыкать - это группа иероглифов, выбранная по умолчанию):
一 один
二 два
三 три
四 четыре
五 пять
六 шесть
七 семь
山 гора (читается как «яма»)
田 рисовое поле
中 середина, центр
口 рот, отверстие
私 я
東 восток
京 столица (новая)
都 столица (старая)
日 солнце, день
本 книга
父 отец
母 мать
見 смотреть, видеть