Еще одна прикладная и кроме того даже развивающая статья - игра. Скрипт был написан для одного из обучающих сайтов, но на его основе вполне можно сделать что-то еще. Поэтому дабы он был прибран, на всякий случай он и был размещен здесь. Сейчас более подробно расскажу что к чему и как это реализовано.
 Начать надо наверное с правил игры, а потом перейти к описанию алгоритма реализации. Здесь все просто и понятно. Это отраженно в одной строчке в самой игре, однако я чуть подробнее...

Правила игры для обучения таблице

Итак, необходимо решать примеры на время. Все примеры только на умножение, собственно поэтому и игра называется для обучения таблице умножения. Весьма уместно будет поиграть в начальной школе! При этом каждый раз, когда ваше вычисление будет верным, то добавляется время и фигурка на лодке перемещается влево, ближе к пристани. Как только наберется 100 секунд, то на этом игра и заканчивается. А да, конечно, если бездействовать, то время будет убывать и само собой победы вам не видать.

Алгоритм решения задачи игры

 Пожалуй ключевой функцией будет функция таймера, вокруг нее все и будет происходить. (timer) При этом функцией (randomInteger) генерируются случайные значения. Эти значения сравниваются с результатом, который вы должны вводить. Если значение правильное, то в этих функциях происходит прибавление времени и генерация других, новых значений и т.д. Все это происходит до тех пор, пока время не дойдет до 100. когда время доходит до 100, то выводим надпись о выигрыше в игре и срабатывает условие, которое устанавливает время больше 100 (randomtime = 102000;) Здесь образуется зацикливание для timer, когда время вначале вычитается, а потом опять становится равно 102000 и в итоге условие о том, что игрок выиграл остается неизменным, пока не перезагрузишь страничку. 

Ну, а теперь к самой игре - самоделке.