division by zero

27 Фев
2010

Забавный баг обнаружился в JollyJong. Уже три человека умудрились схлопнуть фишки быстрее 1 тика таймера или 0.02сек, вызывая деление на 0 в коде:

s=Math.floor(multipler* 1000* 1/matchtimer);
s=s<5?5:s;
scoreAdd(s);

В результате чего получали красивую сумму Infinity которую не могли добавить в таблицу рекордов и жаловались администрации портала  :)
Вывода два:

  1. всегда делать проверку  знаменателя на 0
  2. таймер флеша может дать задержку

p.s. matchtimer в коде — это счетчик тиков с начала хода


Оставить комментарий или два