Foxy9, попытки в верном направлении. Если сложности с синтаксисом – напишите пока псевдо-код человечьим языком. Что сделать, в каком порядке.
Потом «переведите» каждое действие в синтакс JS. Под рукой держите справочник языка, например MDN – удобно найти любой объект, метод, свойство. Узнать, что возвращает метод. Посмотреть примеры кода.
WbICHA, не пробовал. Но в теории: тормознутость системы динамична, и чем длиннее таймаут, тем выше в итоге окажется погрешность. За секунду ожидания таймер вполне может задуматься на 300мс больше положенного, вероятно.
WbICHA, визуально секунды будут щелкать не ритмично, вероятно.
Нааверное таки нужны более частые, чем раз-в-секунду тики. И показывать актуальную разницу во времени.
Тут можно считать операцию "узнать только id" ближайшего соседа — «дешевой», а вот обмен списками – «дорогим». Тогда вполне. Ну ещё можно вероятности прикрутить — чем полнее свой список, тем может, реже начать «общаться»? Не факт, правда, что это выигрышная стратегия. Надо ещё подумать, что ценнее: охватить всех-всех, или же снизить шум ложных проверок.
Aetae, оказывается, формально можно использовать id, начинающиеся с цифры. Единственное требование – ID не должен содержать ASCII-пробелов. А так может и начинаться с цифры и состоять из одних цифр.
Потом «переведите» каждое действие в синтакс JS. Под рукой держите справочник языка, например MDN – удобно найти любой объект, метод, свойство. Узнать, что возвращает метод. Посмотреть примеры кода.