Chat:Ru/2020-04-18
MadKnight: Razzeeyy а ты как поживаешь?)
BorisZ: вот и поговорили
BorisZ: все жалуются что у них бот сползает вниз по таблице за ночь
BorisZ: в общем понятно почему - зависит от того кто чаще сабмитит
BorisZ: если те кто выше стоит чаще то бот сползает, если те кто ниже то бот подымается
BorisZ: чтоб реальное место понять надо ресабмит делать, лучше пару раз
BorisZ: ваш кэп )
BorisZ: а те кто в топе любой лиги имеют в среднем более высокую мотивацию, поэтому они спамят больше
metahom: что за ерунда? я засабмитил на 2 место в лиге, и за весь сабмит сыграл только 2 игры с боссом! и обе выиграл
amurushkin: lol у меня бот сам по себе стреляет )) https://www.codingame.com/share-replay/451692651
Razzeeyy: MadKnight как поживаешь?)
Показал коллеге твоё решение марс лэндера 1 на пхп, коллега орнул))
MadKnight: тот код сгенерирован
MadKnight: Razzeeyy
Razzeeyy: та понятно, но всё равно же суть забавная))
Razzeeyy: Слух, а я могу из клешей посмотреть свои последние решения? :thinking:
Razzeeyy: http://chat.codingame.com/pastebin/fa5cae3f-70b3-403c-9123-f6e0d8bbd33e
Razzeeyy: блин, забыл что тут так работает шаринг кода...
BorisZ: мап 1 в 0 и наоборот: (1-x)
Razzeeyy: я сначала пробовал тупо тернарником, но чёто не работало, меня задолбало и я сделал красиво энтерпрайзно и читабельно)
Razzeeyy: а с арифметикой и не подумал чёто и в число конвертить было лень, т.к. тупо больше действий)
tutubalin: BorisZ -~-x короче на 1 символ )
Razzeeyy: tutubalin что за магия побитовых операций)
Razzeeyy: а там разве просто ~x не канает? :thinking:
tutubalin: в JS можно ещё +!x
tutubalin: Razzeeyy ~x == -x-1
Razzeeyy: ааа вот почему у меня вчера таким трюком не получилось
tutubalin: ~(-x) == -(-x)-1 == x-1
tutubalin: -(~(-x)) == -(x-1) == 1-x
Razzeeyy: А как в JS писать в дебаг здесь? console.debug(x) ?
Razzeeyy: Всмысле в поток ошибок, он же вроде не прерывает выполнение задачи из-за отсутствия мусора в потоке вывода?
BorisZ: console.error
Razzeeyy: спасибо)
Razzeeyy: у меня какой-то странный кейс с кодерс страйк бэк. на второй шаг мне приходит в инпуты какая-то дичь не того размера...
Razzeeyy: [ '3719', '7402', '11981', '2014', '9864', '0' ]
[ '4384', '8148' ]
Razzeeyy: я чёто упускаю? почему на второй итерации я получаю не полные вводные данные? О_о
BorisZ: скорее всего где-то лишний раз пытаешься считать инпут
Razzeeyy: http://chat.codingame.com/pastebin/424d07ac-8ae5-4986-bb59-0a519f05912e
Razzeeyy: вроде бы нет :thinking:
amurushkin: гы обыграл 2 раза подряд wlesavo на сабмите и поднялся прямо за ним :) правда сабмит еще идет
amurushkin: начинают навешивать люлей :)
BorisZ: Razzeeyy у тебя обратный случай похоже - там в цикле надо 2 строки считывать, за себя и за врага, а ты только 1 читаешь
Razzeeyy: аааа я тупой ппц
Razzeeyy: вчитался в условие, там теперь второй строкой враг приходит да)
Razzeeyy: сорян за глупый вопрос)
BorisZ: у 14 места отрыв от 15 в полтора очка - они что-то знают, чего не знают остальные )
amurushkin: у меня код который в пути не уменьшает свои пути при всплытии работает лучше почему то ))
BorisZ: в смысле когда ищешь лучший путь?
BorisZ: у меня тоже сделано что все пути одинаковой длины, если тупик то уменьшаю оценку и обнуляю занятые клетки - всплываю типа
BorisZ: ну и дальше ищет
BorisZ: главное не забыть сильно оценку уменьшить если жизни 1 штука осталась, я не подумал сначала - потом только увидел что выписывает загогулину чтоб всплыть и умирает
BorisZ: а мог бы дальше переть по минам, хоть с шансами
amurushkin: вот вот но я еще для пути считаю типа как меня видит противник. но для всплытий не считаю. стал когда считать стало хуже. парадокс
amurushkin: я когда жизни 1 штука остается запрещаю всплытие тогда
amurushkin: блин мне чтобы чтото добавить теперь надо что то удалять
amurushkin: добавил в поиск прыжка на противника проверку не сильно ли себя выдам. оказалось что проверяется условие всего 2 раза за игру а то и вовсе не доходит ))
wlesavo: а сколько строк у тебя?
amurushkin: 2304
amurushkin: выкатил версию которая тебя часто обыгрывает. но она в топ не подымается совсем ))))
Neha4uha: а чем вы так увлеченно заняты? :)
tutubalin: контестом Ocean of Code
tutubalin: вот amurushkin пытается оправдать название контеста )
amurushkin: https://www.codingame.com/share-replay/451808322 просто заовнил в хлам pb4 ))
Uljahn: ого, призы обещают
amurushkin: что то они поздно про призы
wlesavo: amurushkin я там параметры тестировал, проверь ще на стабильной более менее
wlesavo: ато сабмитился в топ 30
Uljahn: The 3 winners will receive a canvas of the contest artwork!
Uljahn: ну, так себе призы
TTeaLL: не пойму как открывается этот чат боковой? второй раз его вижу
metahom: ты видимо 3й левел недавно получил
TTeaLL: странно, ведь он как то появлялся до этого)
metahom: по моему он с 3го левела открывается
TTeaLL: кстати, я правильно понимаю, ято время от времени устраиваются соревнования по играм как допустим ocean of code сейчас проходит
TTeaLL: кстати, у меня глаза разбегаются от количества игр, можете посоветовать с чего начать
metahom: да, слдующий контест через 2 недели
metahom: игры - выбирай что-нибуь из bot programming, на свой вкус
TTeaLL: а есть гайды с чего начинать писать, я прогаю на питоне, но если честно, не понимаю как именно тут всё работает
tutubalin: попробуй сперва Practice
tutubalin: Реши несколько Classic Puzzle - Easy
tutubalin: чтобы разобраться с интерфейсом
tutubalin: потом пробуй мультиплееры
tutubalin: ещё можешь клеши попробовать
tutubalin: Compete - Clash of Code
tutubalin: это 15-минутные соревнования. кто быстрее или кто короче решит 1 задачу
Jokero: а сайлент можно как то прошарить? А то часто вижу, использую сайлен и в меня сразу же после этого точно попадают. Как так то?
wlesavo: просто стреляют туда где больше вариантов
Jokero: тож сначала думал,что прост случайность, но уже не первый раз так. какая то уже неслучайная выходит случайность
metahom: теперь у меня есть версия бота с хорошим винрейтом против босса, но с трудом попадающая в топ-10. и еще одна версия бота, которая нормально попадает в топ-10 но лажает боссу
Uljahn: Jokero: а сайленс на разное расстояние делаешь, или одно захардкодил?
Uljahn: metahom: известная проблема - эффект камня-ножниц-бумаги
Uljahn: поэтому когда босса-таки проходишь, попадаешь в середину следующей лиги примерно
metahom: вопрос - как туда попали боты из второй половины?
Jokero: разное расстояние на случайное направление
Uljahn: metahom: запушили
BorisZ: metahom может просто плохо проверял винрейт, дисперсия туда-сюда
metahom: Uljahn, вот бесит меня эта система. второй контест не могу в легенду пробиться и подозреваю что там много людей слабее меня
metahom: BorisZ, да ты прав. проверил бота которого считал убийцей босса, и он так себе
Uljahn: metahom: вот и мне кажется, если бы голд-босса ресабмитили иногда, он бы в топ-10 не дошёл сразу
metahom: да нет, голд босс силен, он пробился бы
BorisZ: влесаво ж говорил что он несколько дней назад голд босса проверял - тот был 15 что ли в леге
Uljahn: так мы про голду
Uljahn: смог бы голд-босс в топ-10 пройти сейчас
Uljahn: в голде
miklla: блин, никак не могу себя заставить написать нормального бота, как так то
metahom: просто много вероятностных факторов. например сегодня с утра я два раза сабмитил на 2 место голды. но при этом босс был в трех очках от первого - его набустили вчера вечером. если бы не этот буст, у меня были бы шансы
metahom: или можно было оставить бота там и ждать пуша
miklla: неужели мне надоело писать крутых ботов :(
Uljahn: я даже из сильвера не могу себя заставить выйти
Uljahn: прошёл два сталкера, восемь сезонов анимы отсмотрел, а кодить не могу :)
metahom: я вот даже уже не знаю, что еще улучшать. весь день смотрю реплеи и играю с коэффициентами.
BorisZ: metahom а ты мины вражеские учитываешь когда путь выбираешь?
metahom: BorisZ, да но кривовато. сейчас переписываю
BorisZ: я тоже кривовато, так и не сделал убирание мин от триггера, только самые простые случаи отбрасываю
metahom: мне кажется у меня где-то серьезный баг сидит, который мешает норм играть. сегодня нашел один такой
amurushkin: я нашел что у меня в самотрекинге при поиске пути он сам себя опять теряет ))) из за чего собственно и оценка наверняка страдает
BorisZ: я поставил эксепшн если теряю кого-нибудь - намного быстрее отлавливаются эти моменты
BorisZ: смотреть сабмиты приходится конечно
amurushkin: да вот нашел уже. плохо скопипастил и потерял часть строк где надо обновить позицию после передвижения ))
amurushkin: хаха починил. теперь он такую херь творит ))))
tutubalin: Uljahn "а кодить не могу :)" а ты просто начни - втянешься
osik24: какая по вашему лучшая игра?
tutubalin: у меня проблема, что у меня охеренный трекинг и противника, и мин, но совершенно тупая стратегия
tutubalin: надо как-то командой собираться, что ли )
amurushkin: mstmits втянулся в легу тоже
amurushkin: вобщем я оставлю багнутый код. он почему то работает лучше :)
amurushkin: с этим багом у меня получается непойми что за параметр он считает но он реально влияет на результат )) без него не то
amurushkin: а он считает сколько путей будет отсечено при этом не строя сам путь. по сути наверное получается отсекает пересечения с текущим путем
amurushkin: о точно это наверное у меня ищет пути которые не пересекают текущий путь не учитывая реальные пути которые он просчитывает
TTeaLL: подскажите, может быть такое что игра забагована?
amurushkin: маловероятно
TTeaLL: очень странно тогда, я в игре про тора, расписал все условия как он может двигаться, и в один момент он просто ломается
TTeaLL: а, точно, до меня дошло, там нельзя выходить за края карты
amurushkin: вот видишь :)
Alex.swift: интересно, какой порог на взрывы мин у топов
Alex.swift: вроде как и играют долго, и вроде как когда триггерят вариантов не так уж и мало
amurushkin: wlesavo говорил что у него 0.7-0.8 у меня на мины 0.55
wlesavo: у меня от времени зависит ща порог
wlesavo: 0.5-0.8
wlesavo: где то
BorisZ: у меня половина с округлением вверх - но не думаю что это прям такой принципиальный момент
BorisZ: наверное есть смысл ближе к концу взрывать почаще это да
TTeaLL: вот теперь реально не понимаю
TTeaLL: написал вот такую строку
TTeaLL: elif light_x < initial_tx and light_y > initial_ty and initial_tx < 39 and initial_ty < 17:
TTeaLL: и если коротко, когда персона доходит до 17 то есть initial_ty == light_y он всё равно продолжает выполнять это условие
TTeaLL: хот должен переключиться на другое
BorisZ: не понять по одной строке то что происходит, но если тф проверяешь выход за границы то надо еще добавить сравнение >= 0
TTeaLL: хммм, я вроде пробовал, сейчас ещё раз
TTeaLL: это где тор молнии собирает
TTeaLL: if light_x > initial_tx and light_y == initial_ty: http://chat.codingame.com/pastebin/c3d62781-0acf-45b3-a956-b40ffaa44051
TTeaLL: странно, почему то скопировалось но там все условия равные
TTeaLL: первый иф на равне со всеми
BorisZ: у тебя почему-то 4 варианта с движением по сторонам света, а диагональный только 1
BorisZ: эта хрень то может в любом направлении лежать
TTeaLL: да, я до этого сделал 4 варианти и просто и по диагонали, но я запутался решил более точечно с одним вариантом решать задание потом остальные 3 допишу, просто сейчас надо опуститься в нижний левый угол
TTeaLL: нет, там просто задание где молния именно снизу в левом углу лежит
BorisZ: если это самая первая задача про тора, то там не надо проверять выход за границы, это не возможно по условиям - количество ходов ограничено, если ты не туда пошел то не хватит ходов
TTeaLL: просто что не так с условием, там сказано < 40 и < 18 то есть, я пишу < 17, когда он доходит до 17 клетки он не заканчивает идти по диагонали
BorisZ: это в тесте она лежит там, а в валидаторе может быть где угодно
TTeaLL: так, а как мне тест выполнить, если он не рабоатет
TTeaLL: вот вроде указал, если меньше 17 то не иди по диагонали, иди налево, но он не слушает
BorisZ: нужно сформировать строку с направлением движения, она может состоять из 1 или 2 символов
BorisZ: валидатор - те данные на которых будет проверяться твое решение когда нажмешь на сабмит
TTeaLL: вообще странно почему кейс не работает, я убрал это условие с границами, но в чём дело, когда координаты по у сравниваются он всё равно идёт по диагонали а не по прямой
BorisZ: нужно сначала сравнить например координату икс - если у тебя она меньше чем икс этой хрени, то к строке добавим S, если больше то N
BorisZ: если твой икс и икс цели равны - ничего не добавляем
TTeaLL: чёт сложно, как это отличается от того что я написал
BorisZ: аналогично с игреком - к той же строке добавишь E или W
BorisZ: да все ты норм написал, только длинновато и не надо сразу принт делать
BorisZ: заведи переменную - пустую строку
BorisZ: и вместо принта добавляй к ней направление которое ты условиями своими вычислил
BorisZ: а пятое условие тогда совсем не нужно
TTeaLL: if light_x > initial_tx and light_y == initial_ty: http://chat.codingame.com/pastebin/3dd0d784-381d-4827-a1a3-790d273a3311
BorisZ: ну и не надо elif - просто 4 ифа подряд
BorisZ: а не вру, не подойдут твои ифы, надо убрать в них второе условие
TTeaLL: ифы надо в подусловия засунуть или как?
BorisZ: нормально сейчас - попробуй просто
BorisZ: если ты нигде не опечатался то должно работать
BorisZ: я просто пытался объяснить как попроще сделать )
TTeaLL: ну он выполняет 2 теста, а 2 других не может
BorisZ: свою позицию нужно вычислить после каждого мува
BorisZ: она меняется же
TTeaLL: а, я думал прога сама знает, а как это сделать, нигде не написано, просто я в условии написал initial_tx разве он не считал текущее положение?
BorisZ: если не написано внутри цикла считывание то нет
TTeaLL: так, а как написать? initial_xy = initial_xy?
BorisZ: по твоей схеме тебе придется в каждой ветке обновлять координаты
TTeaLL: да это ладно, а вот как происходит обновление?
BorisZ: если N то initial_y -= 1 и так далее
TTeaLL: не пойму, куда я должен записать текущее положение
BorisZ: после каждой итерации ты делаешь шаг - твои координаты меняются
TTeaLL: и теперь я понимаю что их надо обновлять, но вот как это сделать
BorisZ: до какого-то момента нужно было идти по диагонали, потом надо прекращать
BorisZ: придется в каждой ветке менять координату, в диагональных ветках - обе
TTeaLL: окей, а как выглядит синтаксис для этого
tutubalin: x++; y++; // :)
BorisZ: initial_y = initial_y + 1 или initial_y += 1 - то же самое
BorisZ: tutubalin шутит - в питоне нету икремента
BorisZ: TTeaLL ну вобще тебе надо какуюнибудь книжку или курс по синтаксису что ли
TTeaLL: нет, всё ок, просто я тупенький
TTeaLL: ну что, всё заработало, не ожидал что будут проблемы в первой же игре
tutubalin: x += 1
Uljahn: это самый неочевидный пазл, у многих новичков вызывает недоумение
Uljahn: посмотри слева, там должна быть кнопка Hints
tutubalin: в питоне инкремента нет, но вместо него используют +=1
tutubalin: я так к этому привык, что даже в яве стал так писать
Uljahn: tutubalin: я начинаю кодить, а там крутой финт с нумпай, который я придумал в самом начале и которым так горжусь, надо выкидывать и переписывать :(
BorisZ: у тебя бот вроде мины не ставил даже
BorisZ: если трекинг есть хотя бы корявый - кидаешь мины и взрываешь, будет буст
BorisZ: и фаталити напиши, за день вполне реально, хотя бы мув + сайленс проверить все варианты - просто ввсем
BorisZ: если не написан еще конечно )
Uljahn: у меня даже нет мув+торпеда, только торпеда+мув :slight_frown:
Uljahn: надо закостылить
BorisZ: ну перед всеми принятиями решений - перебрать все варианты в цикле
BorisZ: сначала торпеда, потом мув + торпеда - потом мув сайленс торпеда
BorisZ: есть ли убивающий выстрел
Uljahn: точно, можно же торпеду без мува делать
Uljahn: но не нужно, наверное
wlesavo: чаще нужно стрелять потом двигаться, наоборот в очень редких случаях помоему
wlesavo: просто изза того что выгода в один заряд
Uljahn: редкий случай - это как раз финишер
Uljahn: когда 2 хп у врага и перед мувом он далековато, а если подойти, то инстакил
BorisZ: я сначала нахожу все взрывы, которые убивают, потом по очереди проверяю все варианты - могу ли я сделать один из таких взрывов
amurushkin: давненько не было игр до упора https://www.codingame.com/share-replay/452103454
BorisZ: ну и меня не убивают понятно )
wlesavo: Uljahn когда 1 хп тоже, плюс можно проверять выстрелы которые накрываю всех кандидатов
Razzeeyy: а кому победа засчитывается если до упора? или ничья?
BorisZ: только если жизней поровну то ничья
BorisZ: у кого больше хп тот и выиграл
amurushkin: и то при ничьей в зависимости от очереди хода определяется победитель
wlesavo: не
wlesavo: там именно ничья
wlesavo: тригерится .gameDraw
amurushkin: а рисуют как будто победитель есть
amurushkin: вроде влез в топ 20 стабильно. подкрутил чуток вероятности взрыва мин. сделал как для торпед в зависимости от того насколько меня видно противнику
Razzeeyy: а как в CSB из бронзы вылезти?
Razzeeyy: У меня походу топ 1 в бронзе, но есть подозрение что это враньё
kotobotov: здаров посоны
kotobotov: как там на карантине поживаете?
BorisZ: привет) контест карантинный, ты как раз вовремя зашел - последний день завтра
BorisZ: Razzeeyy есть какая-то формула простая которая учитывает инерцию, я не в курсе, может подскажет кто
BorisZ: говорят на ней в золото заезжали люди без напряга
amurushkin: следующий чек минус 3 вектора скорости
amurushkin: pb4 хайдит что ли. таймит все игры :)
BorisZ: все вам теории заговора мерещатся, старик оккам в гробу переворачивается
BorisZ: у меня вот таймауты пошли хотя казалось бы на 45 мс прерываю поиск
BorisZ: и ничего там после поиска нет на 5мс вроде
BorisZ: чудны питоньи закидоны (
Razzeeyy: kotobotov скучновато на карантине, а ты как?)
Razzeeyy: BorisZ а, тоесть дальше после бронзы просто на прямую надо улучшать код, никаких больше промежуточных босов не будет? Окей понял спс)
Razzeeyy: http://chat.codingame.com/pastebin/7bef718b-b42b-4955-9927-8e8a8c948938
Razzeeyy: у меня пока такая не идеальная CSB, но ламповая и простая)
BorisZ: будут боссы - в каждой лиге кроме легенды
BorisZ: там нейронки у топов вместо боссов
Razzeeyy: а, я понял меня тут недавно откатили на 3 место, поэтому не могут уже в другой ранг переводить)
Razzeeyy: > там нейронки у топов вместо боссов хрюкаю)
BorisZ: переведут когда в таблице встанешь выше босса своей лиги
kotobotov: так че все качаете ботов значит
kotobotov: пора бабло зарабатывать!
kotobotov: хорош ботов качать
Razzeeyy: я вот на досуге наконец созрел CSB осилить)
Razzeeyy: спустя то 4 года))
kotobotov: Razzeeyy, а я комп новый взял, мне пока не до скуки)
Razzeeyy: Гамаешь?)
kotobotov: угу)
kotobotov: хехехех ну так по мелочи
kotobotov: думаю тоже за ботов взятся
Razzeeyy: можешь на мощном компе нейроки гонять))
Razzeeyy: мне не понятно как питон оказался в топе по CSB?
Razzeeyy: разрешили тензорфлоу подрубать?
amurushkin: бинарник самораспаковывающийся там внутри
Razzeeyy: типа через FFI билдит? О_о
kotobotov: ну да, грех простаивать ядрам, надо хотяб моделировать и самообучать
tutubalin: Uljahn все беды от преждевременной оптимизации
tutubalin: "а там крутой финт с нумпай"
Uljahn: ну, мне достаточно, что я смог его запилить, контест уже удался
Uljahn: я же не ради футболок участвую)
Razzeeyy: https://www.codingame.com/replay/452161440
Razzeeyy: теорема эскобара
kotobotov: ульджахн - мудрая мысль! а я вот не участвовал, футболки есть.