Chat:Ru/2020-04-22
VasilyevMN: бред про количество строк. у меня было 300 строк на 66 месте. Для того, чтобы обеъкты хранить заводится одна структура или класс и потом делается лист/вектор этих объектов
amurushkin: ну то шутка была так то
VasilyevMN: ой :grimacing: извините, я думал вы серьезно
Uljahn: если эвристики рулят, то чем больше ифов, тем круче бот :)
YurkovAS: Когда больше 1 противника, какие алгоритмы используют, кроме смитсимакса? Миник на глубину 1 еще понятно как реализовать вариант, в котором за каждого противника ходим по очереди и выбираем для него лучший ход, применяем его и переходим к следующему противнику.
Uljahn: max-n, paranoid, best reply search
wlesavo: а я думаю в крестики нолики до легенды попытаться дойти
Uljahn: на питоне? :smiley:
wlesavo: да)
Uljahn: жжошь
wlesavo: ну не получится так не получится, но интересно попробовать на что способно
Uljahn: если книгу дебютов замутить хорошую, то можно наверное пройти
Uljahn: топ питон в 10 очках от босса
wlesavo: хм, ну ладно, в золото xD
Uljahn: попробовать-то интересно, если пройдёшь - уважуха будет нереальная, в общаке в один голос утверждают, что практически невозможно, nightmare difficulty
Uljahn: я начал MCTS собирать в нумпае, но дальше UCB1 не зашёл, надо дерево строить, а у меня stuctured array вместо нод
tutubalin: берёшь кластер, просчитываешь все возможные варианты (как шашки просчитали), получаешь беспроигрышную стратегию
tutubalin: кстати, а как там ничья считается?
Uljahn: стратегию ещё в 100к надо выгрузить умудриться
YurkovAS: Uljahn спасибо
Uljahn: ничья - это когда тайлов поровну захвачено
Uljahn: в смысле, миниборд
tutubalin: а как на рейтинг ничья влияет?
Uljahn: хз, надо TrueSkill курить
YurkovAS: в крестиках лучше использовать массив для дерева мктс нод. чтобы кешировалось лучше, т.к. данные (ноды дерева) рядом лежат
Uljahn: по ощущениям, должно за ничью против топа давать небольшой плюс
tutubalin: YurkovAS невозможно дерево положить в массив так, чтобы все соседние ноды лежали рядом
YurkovAS: ничья дает хороший буст, мест 10+. и таких игр много
Uljahn: детишки-то рядом лежать будут, не?
tutubalin: а детишки детишек как рядом с детишками положить?
YurkovAS: да, все дети будут рядом
tutubalin: возьмём даже простое бинарное дерево
tutubalin: http://chat.codingame.com/pastebin/f0e86697-0458-4010-a6f6-1a413a1c1bc9
Uljahn: никак, если только непереупорядочивать каждый раз, как UCT посчитаешь, наверное
tutubalin: 0 -> 1 0 -> 2 1 -> 3
tutubalin: 1 -> 4
2 -> 5
2 -> 6
tutubalin: как их положить, чтоб дети были рядом с родителями?
tutubalin: 0 1 2 3 4 5 6 - 5 и 6 далеко от 2
tutubalin: 0 1 3 4 2 5 6 - 2 далеко от 0
YurkovAS: только дети рядом. но ты же формулу применяешь проходя по списку детей. а они рядом и лежат как раз => профит кеширования (64байта кеш линия)
Uljahn: wlesavo: вот такую штуку придумал на первое время, надо конечно допиливать ещё: http://chat.codingame.com/pastebin/95fa840c-76d4-4f14-8632-d369fcf5686f
Uljahn: может, скор в флоат юзать, от индекса предка избавиться, если хранить индексы прямого прохода в отдельном массиве и т.д.
tutubalin: YurkovAS все дети рядом можно сделать только для некоторых нодов. для всех не получится.
Uljahn: все дети всегда рядом будут по принципу создания детей
Uljahn: для одной ноды
Uljahn: дети разных нод никак не связаны, наверное
tutubalin: есть надо A, у неё дети B, C, D лежат рядом, всё хорошо
tutubalin: а где лежат дети B?
tutubalin: а, кажется понял
tutubalin: то есть дети могут быть далеко от родителя, но рядом с братьями
735487: именно так
tutubalin: так бы сразу и сказали )
YurkovAS: да, все так. далеко от родителя, но сами дети рядом один за другим.
735487: фигасебе пазл недели :) бота написать :)
tutubalin: так футбол на бумаге тоже был puzzle of the week
735487: ну я не замечал раньше
Alex_199: прив
Alex_199: ауууууууууууууууууууууууууууууууууууу
Alex_199: го в clash of code
Uljahn: го в гоночки
Alex_199: что за гоноки
Alex_199: strike back?
Uljahn: да
Alex_199: не
Alex_199: хотя лан
Alex_199: у меня там плохой код
Alex_199: надо подправить
735487: пора моду менять и звать не в гоночки а еще куда нибудь :)
735487: давайте звать в fantastic bits )) будем в футбол играть :)
735487: кстати надо сделать мульти как был хакатон когда то. футбол 5 на 5
Alex_199: иду )
Alex_199: не видел эту игру
Alex_199: The playing field is a rectangle of 16001x 7501 units. О моиглаза
Alex_199: почему именно 16001
735487: наверное нечетное для того чтобы мяч прямо по центру ставить
Alex_199: сделаю простую логику: лететь к мячу, к воротам, бросить
Alex_199: пока что
735487: у меня получилось в ней на одних ифах практически в легенду попасть. правда в нижнюю часть лидерборда
tutubalin: я только что из клешей вернулся
tutubalin: и снова пошёл
tutubalin: только мне сегодня не прёт
Alex_199: а как в Fantastic Bits проверить, забит ли гол снафулом или нет?
Uljahn: наперёд рассчитать?
Alex_199: нет
Alex_199: For a Snaffle: 1: was grabbed by a wizard 0: otherwise
Alex_199: мне надо узнать забит ли гол снафулом с определённым id или нет
Uljahn: наверное, из инпутов он должен пропасть
Alex_199: у меня как бы есть цель, и если гол забивается, цель новая
Alex_199: проверю
Alex_199: Пропадают! Спасибо!
Alex_199: Хех мои боты себе в ворота забивают хехе
Alex_199: ура я смог
Alex_199: ОНО работает
735487: молодец :)
Alex_199: го в Fantastic Bits
Alex_199: дуель :)
Alex_199: о новая лига
Alex_199: за что
Alex_199: кто их (Bludgers) придумал!?
735487: ты можешь выбрать любого из своей лиги и ниже и сыграть против него
735487: там еще и правила будут добавляться. разные способности
Alex_199: я знаю
Alex_199: кроме этого"ты можешь выбрать любого из своей лиги и ниже и сыграть против него"
Alex_199: самое удивительное: меня легко обыгрывает AI но приэтом в матчах я всегда выигрываю
Alex_199: почти всегда
Alex_199: а в ранке aiBos на ервомместеxD
Alex_199: ai Bos на первом месте*
Alex_199: http://chat.codingame.com/pastebin/35fe56c1-2a44-4a12-973f-55ae59ad2a30
Alex_199: вот пятёрка лидеров
Alex_199: а мне надо большой ранк, или выссокий? что т я запутася
wlesavo: нужно босса в ранке обогнать
Alex_199: босс с ранком 1 -_-
amurushkin: босс всегда первый. все кто выше идут в следующую лигу
wlesavo: нужно больше птс чем у него набрать, тогда стенешь ты первым и перейдешь в следующую лигу
amurushkin: поэтому тебе нужно добиться того чтобы босса тоже обыгрывал
Alex_199: как бороться с Bludgers?
Alex_199: что мне делать?
735487: ну как вариант пытаться увернуться
735487: пасовать
Alex_199: итак пасуют сразу же как только мяч получили
Alex_199: если друг ближе к воротам то ему, иначе в ворота
735487: реплей хотя бы покажи
Alex_199: добавил условие, что у обоих небыла одна цель
Alex_199: как
Alex_199: реплей показать
735487: кнопка есть replay and share
735487: https://www.codingame.com/share-replay/435410808 вот например как мой играет
Alex_199: https://www.codingame.com/replay/453996925
735487: https://www.codingame.com/replay/451883235 а вот так играет топ 1 :)
Alex_199: мощно
735487: у тебя твои бегают такое ощущение за тем мячом который ближе к воротам. попробуй сделать чтобы бежали до ближайшего и чтобы у них были разные цели
Alex_199: они бегают за своей УСТАНОВЛЕННОЙ целью
Alex_199: попробую
Alex_199: так надо же ещё и ближайшею цель определять...
Alex_199: перепишу код полностью
Alex_199: думаю ООП не повредит
Alex_199: пока, я не могу
Alex_199: до завтра
Uljahn: хех, это тебе не в клэши шпилить)
Alex_199: я тут)
MadKnight: hihi
gybson_samara: дано : vscode+python, естьб плагин, который создаст класс с конструктором вида self.x = x ?
gybson_samara: кейс 2, вызвать метод передав ему параметры первого одним аргументом
MadKnight: alexhap
MadKnight: Alex_199
MadKnight: у тебя сима?
amurushkin: у него ифы. он только начал сегодня
MadKnight: уу
amurushkin: gybson_samara вопрос твой не ясен. в чем проблема в метод передавать весь класс?
MadKnight: я в 60 строк в легу прошёл
MadKnight: но уже всё забыл
amurushkin: ну я тоже на ифах заходил в легу :)
MadKnight: Alex_199 как ты щас выбираешь цель для юнитов?
MadKnight: я просто летел за ближайшим мячом потом летел к углу ворот
amurushkin: он сейчас назначает юниту цель и бегает за ней
gybson_samara: amurushkin я хочу из конструктора вызвать метод update, например, сразу, в данный момент не требуется, но вопрос возник
Alex_199: у меня не совсем ифы были
MadKnight: а что
Alex_199: но вопрос возник каой
Alex_199: какой*
Alex_199: я в питоне арю :)
Alex_199: шарю
gybson_samara: из одной функции вызвать другу с точно таким набором параметров
Alex_199: "дано : vscode+python, естьб плагин, который создаст класс с конструктором вида self.x = x ?" всм? объясни.
gybson_samara: ну типа визивиг конструктора класса
Alex_199: что бы это не писать "self.x = x"?
Alex_199: или тебе нужен самы главный класс?
Alex_199: короче, давай пример скину
Alex_199: пример класса
Alex_199: class entityC(object):
def ent(self,ent): self.entitys = ent
Alex_199: я вопрос не понимаю
MadKnight: параметры первого кого gibson ?
tutubalin: то ли я тормозной, то ли Java. всего около 4000 симуляций в секунду в UTTT
Alex_199: java всегда был медленым
735487: маловато
Alex_199: а есть файтинг какой нибудь
MadKnight: java в несколько раз медленнее плюслов
MadKnight: плюс оптимизация отключена
dbf: tutubalin, gc убрал? на битборды перешёл?
tutubalin: а как gc убирать? самому менеджить объекты?
tutubalin: битборды юзаю, но толку с них мало
dbf: ага, переиспользовать созданные заранее
tutubalin: это у меня пока первый пуск был пробный. только один ход
tutubalin: то есть там ничего не удаляется пока
Alex_199: а есть файтинг какой нибудь&
Alex_199: :pepe:
Alex_199: жаль
Uljahn: есть дота2 и hearthstone
Uljahn: а чё за файтинги? как к ним бота прикручивать?
tutubalin: файтинги прикольно было б кстати
Uljahn: Automaton2000: прописал тебе в щи с вертушки
Automaton2000: дело не в этом суть
tutubalin: там камень-ножницы-бумага обычно
tutubalin: и зрелищно к тому ж
Uljahn: так фишка в том, что люди не могут 100% точно определять дистанцию и микродлительности, а боты могут
Uljahn: смысл файтингов теряется
Alex_199: например тактика
Alex_199: была одна игра на андроид... секунду
tutubalin: есть пошаговые файтинги
amurushkin: это разве что подключить бота к мортал комбату и сказать нажимать кнопки не дав инфы о комбах и приемах ))
Alex_199: несекунду
Alex_199: GLADIABOTS
Alex_199: поищи в play market
amurushkin: пошаговый файтинг это бойцовский клуб с донатом от 5к долларов ? ))
Alex_199: GLADIABOTS посмотрите. Осталось это только сюда перенести
Alex_199: интересный файтинг
Alex_199: написать своё ии
Uljahn: https://i.imgur.com/6y57pdB.jpg
tomatoes: микромоба с фаерболами была тут где-то, но название не помню
tomatoes: https://www.codingame.com/multiplayer/bot-programming/botters-of-the-galaxy
Alex_199: ох ты интересно... спс
tutubalin: гладиаботс играл. ничо так, но программить там тяжко
Alex_199: "но программить там тяжко" +
tutubalin: пошаговый файтинг. реально хороший. http://www.kongregate.com/games/Kongregate/kongai
tutubalin: думать надо и очень много mind games: он думает, что я думаю, что он думает, что я схожу так, поэтому схожу именно так, как он думает
tomatoes: smitsimax 🤔
Alex_199: Она у меня не хочеи грузиться
Alex_199: грузиться
Alex_199: а вот всё
Uljahn: ахах у меня 10 лвл на конгрегате, сто лет не заходил
Uljahn: кто-то ещё флешплеер не удалил?
Alex_199: я не удалял
Uljahn: ну хоть что-то у нас в безопасности, Automaton2000
Automaton2000: вот и я о том что это не так важно
tutubalin: меня флеш 10 лет кормил
tutubalin: у меня коллекция флешплееров чуть ли не с 6 версии
Uljahn: меня сегодня попросили склонировать образ системы NT 4.0 с винтами в рейде, ностальгия какая-то кругом
tutubalin: в двух словах про Kongai. у тебя три бойца. есть три действия общих для всех и четыре уникальных удара у каждого бойца.
tutubalin: общий действия: отдохнуть - восстанавливает ману сбежать - текущий боец убегает в запас, вместо него выходит другой перехватить - не дать бойцу убежать
tutubalin: 4 уникальных удара у всех разные с разными затратами маны, уроном спецдействиями и на каком расстоянии действует
tutubalin: в начале каждого хода решаешь, как изменить расстояние: подойти, отойти или остаться на месте. в зависимости от расстояния, некоторые удары могут быть недоступны
tutubalin: ну и получается камень-ножницы-бумага. на каждый удар есть контрудар
Uljahn: а если запилить коммьюнити мульти?
tutubalin: у противника мало маны. думаешь: ну щас будет отдыхать. а он раз - и убежал
Uljahn: а, камень-ножницы-бумага было уже, только с немного продвинутыми правилами
tutubalin: или думаешь: будет убегать, надо перехватить - а он раз и отдохнул
tutubalin: надо подумать насчёт мульти
tutubalin: проблема с уникальными способностями. это получается бот себе ещё должен команду бойцов подирать
BorisZ: подбирать себе команду - так было в bottlers of the galaxy
Uljahn: и в картишках
BorisZ: угу
BorisZ: tutubalin ты пробовал играть в bottlers of the galaxy?
BorisZ: игра то прикольная, но любой нормальный человек открыв правила сразу же сваливает - слишком много всего
BorisZ: поэтому там вроде меньше всего народу в мульти, да и контесте тоже мало было
BorisZ: cena23 и вам hello
BorisZ: если брать эту игру за основу - надо очень сильно упрощать, но может она при этом всю увлекательность и потеряет (
BorisZ: там же тоже наверное создатели не вдруг ее сделали, добавлял-удаляли, балансировали
BorisZ: но это брюзжание мое конечно не надо слушать, надо брать и делать )
BorisZ: это все обесценивание - все равно у вас ничего не получится, никому это не интересно и так далее - таких надо в бан сразу
BorisZ: там выше ссылку кидали на игрушку, обсуждали можно ли на ее основе сделать контест
BorisZ: http://www.kongregate.com/games/Kongregate/kongai
BorisZ: типа файтинга - такого еще не было
cena23: кто пробовал Onboarding
BorisZ: скорее всего все пробовали - это самый первый пазл вроде бы который предлагают решить с туториалом
TTeaLL: чёт не хочется ставить флешплеер
tomatoes: если хром, то там из коробки есть
wlesavo: почему один и тот же код может принципиально по разному работать в ide и локально
wlesavo: в словаре объект в иде меняется каким-то образом, а локально все ок
BorisZ: вроде в питоне с какой-то там версии порядок в словарях и сетах гарантирован
wlesavo: хм
wlesavo: спс
wlesavo: может правда в этом дело
wlesavo: перепишу ща сеты на листы и проверю
BorisZ: это наоборот аргумент за то что не должно меняться )
tutubalin: BorisZ вроде не пробовал
BorisZ: порядок обхода должен быть тот же самый
BorisZ: tutubalin просто открой и посмотри на правила и на количество инпутов
wlesavo: BorisZ а не может тут быть слишком старая версия?
BorisZ: 3.7.2 тут должна быть
BorisZ: https://forum.codingame.com/t/languages-update/1574/98?u=borisz1
tutubalin: BorisZ так это ж дотка!
tutubalin: или точнее чо-то там of the Storm от близарда
wlesavo: печаль, тогда вообще не понимаю
BorisZ: да, видимо дотой вдохновлялись
tutubalin: print("WAIT") while 1:
print("print("ATTACK_NEAREST HERO")
VegaPioneer: "вроде в питоне с какой-то там версии порядок в словарях и сетах гарантирован" т.е. модуль collections.OrderedDict больше не актуален?
BorisZ: In Python 3.7.0 the insertion-order preservation nature of dict objects has been declared to be an official part of the Python language spec. Therefore, you can depend on it.
BorisZ: выходит что если уверен что версия будет не младше 3.7 то да
VegaPioneer: круто! насколько помню для 3.6 такого не гарантировал, поэтому и ичпользовался на всякий OrderedDict
BorisZ: tutubalin ну вот ты быстро разобрался, а многие сразу пасуют при виде описания )
tomatoes: я так kutulu дропнул
Uljahn: в ктулхе слэшеры ппц мутные
tomatoes: понапихали и голова закипела
tutubalin: правил и правда много. я перехожу в новые лиги быстрее, чем успеваю прочитать новые правила для текущей лиги)
Uljahn: чё-т с деревьями переборщили в дотке
735487: более настоящая дотка была в раике. там реально было 5 на 5. 3 линии. деревья. прокачка скилов по левелам
Alex.swift: это какой-то мульти с правилами дотки?
735487: да
Alex.swift: а как называется?
MadKnight: Alex.swift чё пилишь?
735487: botters of the galaxy
Alex.swift: MadKnight да пока просто осматриваю свои ошибки ooc перед след. контестом
Alex.swift: надо же начинать попадать в легу)
MadKnight: симу обычно все пилят
Uljahn: о, заметил Мэда в дотке в вуд3
Alex.swift: в прошлых контестах как-то людей поменьше было. Раскручиваться только начали?
Uljahn: вуд-2 - 10 человек и босс лол
Uljahn: в мульти или контестах?
Alex.swift: в мульти
Uljahn: да это контест кривой весь был, то башня притягивалась, то двух халков можно было брать, то нерфили всех подряд, я на серебре дропнул
amurushkin: в мульти теперь всегда будет не меньше чем в контесте
Alex.swift: а, раньше туда не перекидывали сабмиты с контеста
amurushkin: нет
Uljahn: недавно только добавили эту фичу
Uljahn: два контеста всего с ней было
Uljahn: а, ты как раз только участвовать и начал
Alex.swift: ага, я с прошлого начал
Alex.swift: а на кутулу разбирался с кодингеймом)
Alex.swift: когда еще учился тестовое делал в Plarium, почти такое же по правилам было как Kutulu только без слешеров и управлять вручную. Прям подозрительно похожие правила
Uljahn: во, нашёл реплей, где башню утаскивают https://www.codingame.com/replay/292863900