Вариантов много, например поднять веб-сервер на хосте с изображениями и подключить его к домену и выдавать на фронте ссылки на этот домен плюс имя картинки. Еще можно подключить хост с изображениями к хосту с фронтендом как сетевое хранилище и добавить его в конфигурации веб-сервера, если сервера рядом и у них в наличии достаточный для этого как внутренний сетевой канал так и наружный у фронт-энда, конечно же.
Через консоль браузера можно сделать с сайтом все. И что? Ну поменял пользователь что-то там у себя - какая разница, что он там что-то сделал? Цели-то какие? А запретить что-то делать не получится. Не, ну так-то чисто технически конечно можно по таймеру проверять изменилось что-то или нет - но это создаст бесполезную нагрузку для всех пользователей и сайт будет тормозить. Но даже это все равно можно тем или иным способом изменить.
При наличии знаний JS очень легко зайдет C#, Python, чуть посложнее - RoR. Вообще, тут есть два варианта: полегче, т.е. ЯП из той же языковой группы или близкий по синтаксису, или сразу более жестко - взять что-то противоположное или сложное. Ассемблер, C/C++, Rust. Имеет смысл брать из мейнстрима с целью дальнейшего развития и применения в реальных задачах. Если же хочется "сменить обстановку" - то, например Kotlin, Java под мобильные ОС и т.п.
Размещать элемент рандомно в пределах квадрата с учетом размеров элемента
Т.е., генерация координат идет в несколько этапов: сначала выбирается рандомный квадрат в крупной сетке, затем в рамках этого квадрата генерируется новая пара рандомных координат, в которую и кладем элемент.