Chat:Ru/2020-04-22

From CG community
Jump to navigation Jump to search

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: угу

Default avatar.png cena23: all hello

BorisZ: tutubalin ты пробовал играть в bottlers of the galaxy?

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

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

BorisZ: cena23 и вам hello

BorisZ: если брать эту игру за основу - надо очень сильно упрощать, но может она при этом всю увлекательность и потеряет (

BorisZ: там же тоже наверное создатели не вдруг ее сделали, добавлял-удаляли, балансировали

BorisZ: но это брюзжание мое конечно не надо слушать, надо брать и делать )

Default avatar.png TTeaLL: о какой игре вы?

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

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

BorisZ: http://www.kongregate.com/games/Kongregate/kongai

BorisZ: типа файтинга - такого еще не было

Default avatar.png cena23: кто пробовал Onboarding

BorisZ: скорее всего все пробовали - это самый первый пазл вроде бы который предлагают решить с туториалом

Default avatar.png 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