Roman
ты не сможешь после этого сделать a = {}, но поля изменять — сколько угодно
можно ещё скопировать const a в не-const let b и мутировать const a, JS просто прелесть))
Nikita
проверил - валидно. почему?
Потому-что const a - это константная ссылка на объект, а не сам объект
Roman
дык мутировать const a ты и так можешь
это понятно) я просто pointer aliasing
Roman
mutable aliased pointer = fun @ debugging!
Roman
https://play.golang.org/p/Z7TUPvauTML
Roman
чуть наркомании про bool
Nikita
https://play.golang.org/p/Z7TUPvauTML
а почему кстати так? Похоже будто для була важен только самый первый бит
Илья
так и есть
Nikita
походу булу важен только самый младший бит и занимает бул всего 8 бит, потому тут он затирает мадшие 8 бит и меняет только самый первый
Nikita
не кидайте в меня камнями, я никогда на си не писал и биты никакие не сношал, потому это для меня открытие)
Илья
да там маску применяют и все
Zver
да там маску применяют и все
Да там и маска не нужна. Просто проверяется на равность нулю.
Anonymous
Artem
Есть странный вопрос, есть алгоритм а* на го, но как его правильно юзать если координаты дробные, да и препятствия могут занимать чуть ли не рандомную площадь ?
🏁Александр
он не очень подходит под такое
🏁Александр
насколько я понимаю, он для "карт" с заданной сеткой
Artem
Ну раньше применялся для интовой карты, сейчас он бьет карту на сетку где минимальная клетка сам объект и ищет путь
🏁Александр
бизнес задача то какая?
🏁Александр
вы сервер для стратегии пишите или что?
Artem
Задача поиск пути без сетки, задача больше академического плана.
Anonymous
Есть странный вопрос, есть алгоритм а* на го, но как его правильно юзать если координаты дробные, да и препятствия могут занимать чуть ли не рандомную площадь ?
ну если скорость имеет значение , то работайте в целых определите минимальное виртуальное целое и конвертируйте любые в ваши псевдо-целые!
Anonymous
Задача поиск пути без сетки, задача больше академического плана.
когда вы смотрите на экран вы видя графику должны понимать что все нарисовано квадратиками(псевдографичными)
🏁Александр
хотя бы 2d или 3d пространство?
🏁Александр
c 3d все намного сложнее
🏁Александр
обычно там используют так называемые navigation mesh
🏁Александр
Anonymous
c 3d все намного сложнее
да сложнее но голь на выдумки хитра Вольфенстейн
Artem
я в 2д решаю, я понимаю как искать путь когда шаг из клетки в клетку, а вот когда клетка имеет площадь, препятствия имеют тоже площадь и не хочется если 1% клетки занят препятствием ее полностью огибать
Daniel
а тут есть какая-то специфика именно с go связанная?
Artem
а тут есть какая-то специфика именно с go связанная?
нет. просто реализую на го и решил поинтересоваться у коллег
Daniel
ага
Daniel
вот и я подумал, что алгоритмическя част отличаться не должна
🏁Александр
еще там химичат с обьеденением клетки за пределами некоторого радиуса для быстрого обсчета
Artem
есть какие нить материалы где это описанно подробно для не квантованного пространства?
Anonymous
еще там химичат с обьеденением клетки за пределами некоторого радиуса для быстрого обсчета
допустимый размер погрешности , реализуется множеством способов
Pavel
Ещё можно тупо на вейпоинтах сделать, если карта статична.
Pavel
Самый простой способ.
Pavel
Александр примерно про это и написал.
🏁Александр
допустимый размер погрешности , реализуется множеством способов
если это какая то студенческая работа "для препода" то тут надо подробно выяснять что он имел введу 🙂
🏁Александр
иначе мы не угадаем
🏁Александр
ой не того процитировал
Artem
если это какая то студенческая работа "для препода" то тут надо подробно выяснять что он имел введу 🙂
Нет, это просто наличие свободного времени с возможностью отправить его в никуда
🏁Александр
поиск пути ВСЕГДА делают под задачу (бизнесовую)
🏁Александр
иначе хрен пойми что мы решаем
🏁Александр
если тренируетесь, сначало придумайте где вы это будете применять (ну виртуально), а потом уже решайте поиск пути там
Artem
У меня бегают квадратики друг за другом огибая препятствия
🏁Александр
а карта? много статических элементов?
Artem
а карта? много статических элементов?
Мало, но они рандомно ставятся
Artem
SDL2 ?
Не уверен, реализации на faiface/pixel
🏁Александр
задача то какая? движение за паровозом?
Artem
Движение к цели, например игроку
🏁Александр
всеми квадратиками?
🏁Александр
или только одним, а остальные хаотично движутся
Anonymous
Не уверен, реализации на faiface/pixel
зря SDL2 стимовская, есть лекции
🏁Александр
2D, вид сверху
Artem
Да, как какой нить биндинг оф айзак
🏁Александр
рейттрейсить не хотите? 🙂
🏁Александр
а если "потерялись" тогда "читерим" и идем к известным координатам
Artem
рейттрейсить не хотите? 🙂
Если я верно понимаю оно с препятствиям не сработает
Artem
Я могу всему дать нормализованные размеры к примеру 32 на 32 и легко искать путь, но интересно как решается в чуть более общем варианте
🏁Александр
ну как это, вот у нас есть колобок. Кинули луч по движению - есть коллюзия, повернули на N градусов и опять чекнули
Artem
По сути центры этих квадратов и будут вейпоинтами, пока нет прямой видимости
🏁Александр
для "свободных" направлений выставляем стоимость, она чем больше чем направление совпадает с координатами куда нам надо
🏁Александр
ну это конечно "так себе алгоритм" вангую будет путаница, надо дорабатывать
Artem
ну это конечно "так себе алгоритм" вангую будет путаница, надо дорабатывать
Я как то так это себе представляю https://www.redblobgames.com/articles/visibility/
🏁Александр
ну для быстрых скоростей не подойдет
🏁Александр
запаритесь перестраивать карты
Artem
для "свободных" направлений выставляем стоимость, она чем больше чем направление совпадает с координатами куда нам надо
Я другого не понимаю, если луч нашёл цель, но объект не может протиснуться между препятствиями это не сломает алгоритм ?
Anonymous
Я как то так это себе представляю https://www.redblobgames.com/articles/visibility/
академично ,полность на float,мне кажется в целочисленных мирах как вариант ввести центр обьекта и брезенхеймить
🏁Александр
придеться делать "толстый" луч 🙂
Нави
подскажите, как на go-telegram-bot-api/telegram-bot-api сокс5 задействовать? Что то я там не понял, что там с http.Client делать.
Aleksandr