Chat:Ru/2020-04-18

From CG community
Jump to navigation Jump to search

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: выкатил версию которая тебя часто обыгрывает. но она в топ не подымается совсем ))))

Default avatar.png 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: ну, так себе призы

Default avatar.png TTeaLL: не пойму как открывается этот чат боковой? второй раз его вижу

metahom: ты видимо 3й левел недавно получил

Default avatar.png TTeaLL: странно, ведь он как то появлялся до этого)

metahom: по моему он с 3го левела открывается

Default avatar.png TTeaLL: кстати, я правильно понимаю, ято время от времени устраиваются соревнования по играм как допустим ocean of code сейчас проходит

Default avatar.png TTeaLL: кстати, у меня глаза разбегаются от количества игр, можете посоветовать с чего начать

metahom: да, слдующий контест через 2 недели

metahom: игры - выбирай что-нибуь из bot programming, на свой вкус

Default avatar.png TTeaLL: а есть гайды с чего начинать писать, я прогаю на питоне, но если честно, не понимаю как именно тут всё работает

tutubalin: попробуй сперва Practice

tutubalin: Реши несколько Classic Puzzle - Easy

tutubalin: чтобы разобраться с интерфейсом

tutubalin: потом пробуй мультиплееры

Default avatar.png TTeaLL: ну окей

tutubalin: ещё можешь клеши попробовать

tutubalin: Compete - Clash of Code

tutubalin: это 15-минутные соревнования. кто быстрее или кто короче решит 1 задачу

Default avatar.png TTeaLL: хорошо, попробую

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 "а кодить не могу :)" а ты просто начни - втянешься

Default avatar.png osik24: какая по вашему лучшая игра?

tutubalin: у меня проблема, что у меня охеренный трекинг и противника, и мин, но совершенно тупая стратегия

tutubalin: надо как-то командой собираться, что ли )

amurushkin: mstmits втянулся в легу тоже

amurushkin: вобщем я оставлю багнутый код. он почему то работает лучше :)

amurushkin: с этим багом у меня получается непойми что за параметр он считает но он реально влияет на результат )) без него не то

amurushkin: а он считает сколько путей будет отсечено при этом не строя сам путь. по сути наверное получается отсекает пересечения с текущим путем

amurushkin: о точно это наверное у меня ищет пути которые не пересекают текущий путь не учитывая реальные пути которые он просчитывает

Default avatar.png TTeaLL: подскажите, может быть такое что игра забагована?

amurushkin: маловероятно

Default avatar.png TTeaLL: очень странно тогда, я в игре про тора, расписал все условия как он может двигаться, и в один момент он просто ломается

Default avatar.png TTeaLL: а, точно, до меня дошло, там нельзя выходить за края карты

amurushkin: вот видишь :)

Alex.swift: интересно, какой порог на взрывы мин у топов

Alex.swift: вроде как и играют долго, и вроде как когда триггерят вариантов не так уж и мало

amurushkin: wlesavo говорил что у него 0.7-0.8 у меня на мины 0.55

wlesavo: у меня от времени зависит ща порог

wlesavo: 0.5-0.8

wlesavo: где то

BorisZ: у меня половина с округлением вверх - но не думаю что это прям такой принципиальный момент

BorisZ: наверное есть смысл ближе к концу взрывать почаще это да

Default avatar.png TTeaLL: вот теперь реально не понимаю

Default avatar.png TTeaLL: написал вот такую строку

Default avatar.png TTeaLL: elif light_x < initial_tx and light_y > initial_ty and initial_tx < 39 and initial_ty < 17:

Default avatar.png TTeaLL: и если коротко, когда персона доходит до 17 то есть initial_ty == light_y он всё равно продолжает выполнять это условие

Default avatar.png TTeaLL: хот должен переключиться на другое

BorisZ: не понять по одной строке то что происходит, но если тф проверяешь выход за границы то надо еще добавить сравнение >= 0

Default avatar.png TTeaLL: хммм, я вроде пробовал, сейчас ещё раз

Default avatar.png TTeaLL: это где тор молнии собирает

Default avatar.png TTeaLL: if light_x > initial_tx and light_y == initial_ty: http://chat.codingame.com/pastebin/c3d62781-0acf-45b3-a956-b40ffaa44051

Default avatar.png TTeaLL: странно, почему то скопировалось но там все условия равные

Default avatar.png TTeaLL: первый иф на равне со всеми

BorisZ: у тебя почему-то 4 варианта с движением по сторонам света, а диагональный только 1

BorisZ: эта хрень то может в любом направлении лежать

Default avatar.png TTeaLL: да, я до этого сделал 4 варианти и просто и по диагонали, но я запутался решил более точечно с одним вариантом решать задание потом остальные 3 допишу, просто сейчас надо опуститься в нижний левый угол

Default avatar.png TTeaLL: нет, там просто задание где молния именно снизу в левом углу лежит

BorisZ: если это самая первая задача про тора, то там не надо проверять выход за границы, это не возможно по условиям - количество ходов ограничено, если ты не туда пошел то не хватит ходов

Default avatar.png TTeaLL: просто что не так с условием, там сказано < 40 и < 18 то есть, я пишу < 17, когда он доходит до 17 клетки он не заканчивает идти по диагонали

BorisZ: это в тесте она лежит там, а в валидаторе может быть где угодно

Default avatar.png TTeaLL: так, а как мне тест выполнить, если он не рабоатет

Default avatar.png TTeaLL: вот вроде указал, если меньше 17 то не иди по диагонали, иди налево, но он не слушает

Default avatar.png TTeaLL: а что такое ваилдатор

BorisZ: нужно сформировать строку с направлением движения, она может состоять из 1 или 2 символов

BorisZ: валидатор - те данные на которых будет проверяться твое решение когда нажмешь на сабмит

Default avatar.png TTeaLL: вообще странно почему кейс не работает, я убрал это условие с границами, но в чём дело, когда координаты по у сравниваются он всё равно идёт по диагонали а не по прямой

BorisZ: нужно сначала сравнить например координату икс - если у тебя она меньше чем икс этой хрени, то к строке добавим S, если больше то N

BorisZ: если твой икс и икс цели равны - ничего не добавляем

Default avatar.png TTeaLL: чёт сложно, как это отличается от того что я написал

BorisZ: аналогично с игреком - к той же строке добавишь E или W

BorisZ: да все ты норм написал, только длинновато и не надо сразу принт делать

BorisZ: заведи переменную - пустую строку

Default avatar.png TTeaLL: а как без принта?

BorisZ: и вместо принта добавляй к ней направление которое ты условиями своими вычислил

BorisZ: а пятое условие тогда совсем не нужно

Default avatar.png TTeaLL: if light_x > initial_tx and light_y == initial_ty: http://chat.codingame.com/pastebin/3dd0d784-381d-4827-a1a3-790d273a3311

Default avatar.png TTeaLL: вот что в итоге

BorisZ: ну и не надо elif - просто 4 ифа подряд

BorisZ: а не вру, не подойдут твои ифы, надо убрать в них второе условие

Default avatar.png TTeaLL: ифы надо в подусловия засунуть или как?

BorisZ: нормально сейчас - попробуй просто

BorisZ: если ты нигде не опечатался то должно работать

BorisZ: я просто пытался объяснить как попроще сделать )

Default avatar.png TTeaLL: ну он выполняет 2 теста, а 2 других не может

BorisZ: свою позицию нужно вычислить после каждого мува

BorisZ: она меняется же

Default avatar.png TTeaLL: а, я думал прога сама знает, а как это сделать, нигде не написано, просто я в условии написал initial_tx разве он не считал текущее положение?

BorisZ: если не написано внутри цикла считывание то нет

Default avatar.png TTeaLL: так, а как написать? initial_xy = initial_xy?

BorisZ: по твоей схеме тебе придется в каждой ветке обновлять координаты

Default avatar.png TTeaLL: да это ладно, а вот как происходит обновление?

BorisZ: если N то initial_y -= 1 и так далее

Default avatar.png TTeaLL: не пойму, куда я должен записать текущее положение

BorisZ: после каждой итерации ты делаешь шаг - твои координаты меняются

Default avatar.png TTeaLL: это я понимаю

Default avatar.png TTeaLL: и теперь я понимаю что их надо обновлять, но вот как это сделать

BorisZ: до какого-то момента нужно было идти по диагонали, потом надо прекращать

BorisZ: придется в каждой ветке менять координату, в диагональных ветках - обе

Default avatar.png TTeaLL: окей, а как выглядит синтаксис для этого

tutubalin: x++; y++; // :)

BorisZ: initial_y = initial_y + 1 или initial_y += 1 - то же самое

BorisZ: tutubalin шутит - в питоне нету икремента

BorisZ: TTeaLL ну вобще тебе надо какуюнибудь книжку или курс по синтаксису что ли

Default avatar.png TTeaLL: нет, всё ок, просто я тупенький

Default avatar.png 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: ульджахн - мудрая мысль! а я вот не участвовал, футболки есть.