Bavashi, из-за того, что нельзя получить цвета с точек у картинок, загруженных с посторонних ресурсов, отличных от jsfiddle (ограничения браузеров связанные с безопасностью) то все текстуры для примеров на jsfiddle придется добавлять прямо в код как base64, что негативно сказывается как на размере текстур так и на их количестве.
Afafks123132132165, для определения яркости участка стены и у вас и у меня используется расстояние до этого участка. В вашем случае расстояние length вы считаете как 300 минус количество итераций, понадобившихся лучу чтобы добраться до стены.
В моем варианте расчитывается расстояние как квадратный корень из суммы квадратов dx и dy
А далее от расстояния расчитывается цвет. Строчки 69, 175, 176, 177 и 187
Afafks123132132165, работа с цветами полностью скопирована у вас, разве что максимальная яркость поставлена не 256 а 160. В начале (почти сразу после вставленной как base64 текстурой) есть функция, которая превращает карту в набор блоков. Установка цвета блоков (в зависимости от того, каким символом еа карте обозначена стена) в ней.
Senbonzakuraa, ну и если бы я знал что это за задача, и как именно должны вести себя таймеры при реконнектах, то всю логику, нацеленную на достижение нужного поведения можно было бы убрать в класс и не парится.