Chat:Ru/2021-03-20

From CG community
Jump to navigation Jump to search

YurkovAS: MadKnight в шахматы. правда они там кое-что понапридумывали: типа отслеживать уникальность состояний.

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

YurkovAS: в общем комьюнити мульти попилил, мктс-ы с рандомными играми или с оценочной. грубо говорял все однотипное, везде один и тот же copy-paste

YurkovAS: из интересного, нашел в чате статью к пошаговой игре на 2-4 игроков с мктс-ом https://coganblogs.blogspot.com/2020/12/codingame-building-ai-to-play-and-win.html

YurkovAS: вот думаю потом затестить

YurkovAS: там еще про tempo bonus написано, типа крутая тема, в чате тоже писали что дает профит, когда оценочную юзаешь.

YurkovAS: экспериментировал локально, так и не смог найти прироста для игр с оценочной

YurkovAS: получается, если пошаговая, то мктс, а если одновременно все ходят, то смитсимакс

vrabosh: def debug(*a):

   print(*a, file=sys.stderr, flush=True)


vrabosh: подскажите как на си сделать

Uljahn: )))

vrabosh: вот только начал писать, ваще так неудобно когда нечего не знаешь..

Uljahn: питон тебя разбаловал

vrabosh: ага

vrabosh: думаю неделю тока в базовые вещи буду вьежать

vrabosh: и только через месяц может получиться комфортно программить

YurkovAS: точно не знаю, но можно сделать, погугли

vrabosh: хотябы в стиле формат отпралять.. есть формат у си?

vrabosh: debug(format("%d%s", a, b));

YurkovAS: там есть функции со строкой формат сообщения и переменным кол-вом переменных

vrabosh: чтото типа такого

YurkovAS: ну такое точно есть

vrabosh: как вы дебажите? может вообще у меня концепция не пральна

YurkovAS: https://www.cplusplus.com/reference/cstdio/printf/

vrabosh: есть лекции, где можно прально посмотреть как на си прогарммить

YurkovAS: да как и все остальное, ставишь точку остановки и запускаешь из ide через кнопку debug

vrabosh: а хотя реально зачем я отдеьную функцию делаю, если просто фпринт можно исопльзвать, не такой уж он и длиный

YurkovAS: либо принтами дебажить, точнее выводить их и дальше разбираться уже

vrabosh: ненаучился я через точки. делаю свою функцию демаг обычно всегда и ставлю там где надо

YurkovAS: похоже вот так в stderr fprintf(stderr, "%s", "Stack overflow!\n");

vrabosh: это понятно. я думал, в функцию запихнуть, чтобы мог делать так debug(a, b, c,...)

YurkovAS: погугли, скорее всего можно так сделать. через varargs. только как для каждого параметра понять его формат мне не понятно. в с++ такое точно видел

vrabosh: когда меня спрашивают, с чего начать изучения программирования, я говорю с с++, а сам этот совет не использовал.. теперь понял, что реально надо было с с++ начинать, пускай сложно, зато я не знаю, что есть легкий питон... а теперь психологически сложно начать, зная что есть легкий путь:)

TheCrucial: имхо надо с языка с явными типами начинать кодить. с неявными типами сразу кучу важного всего упускаешь, и вместо реального понимания что происходит ловишь для себя необъяснимые баги

vrabosh: я как представляю себе сколько пиать вот это for i, guess in enumerate(allGuess[cntAG:cntAG+500], cntAG): сразу дурно становиться

MadKnight: на самом деле от человека зависит

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

vrabosh: с++ это наверно должен быть первый язык. не ява, не сшарп, а именно добротный с\с++ первый год надо этим языкам посвящать с самых нубских книг, где блоксхемы и работа с байтами.

vrabosh: if for while итд оно везде одинаково.. просто приучать к этой структуре лучше на с++ где есть скобочки, точка с запятой, где надо лишние переменые обьявлять.. человек когда не знает, что он лишнюю работу деает, это не страшно.. а вот когда ужезнаешь, сложно себя заставлять.

MadKnight: некоторым людям просто сами основы плохо даются

vrabosh: основы что на питоне, что на си они одинаковы.

MadKnight: на си менее абстрактные

735487: YurkovAS: рокировку добавь. это важная часть игры

Default avatar.png g0rd0h: ребят вот хотел изучить c# через этот сайт, но уже начинаю тупить, как начать понимать то, что от меня требуют?

tutubalin: 1. читать условие задачи 2. читать инпуты 3. читать аутпуты 4. читать ограничения

735487: сюда лучше приходить когда язык хоть немного знаешь

tutubalin: 5. смотреть тесты

735487: https://ulearn.me/ хороший сайт для изучения C#

Default avatar.png g0rd0h: пытался по нему учиться, но с математикой проблемы так что не подходит

tutubalin: без математики будет сложно на любом сайте

Default avatar.png g0rd0h: т.е. чтобы научится надо знать математику?

tutubalin: математику и формальную логику

tutubalin: не сказать, что это прямо вообще обязательно, но...

tutubalin: если знаком с математикой, программирование даётся значительно проще

tutubalin: если с математикой отношения не складываются, то и программирование скорее всего тоже не зайдёт

tutubalin: Onboarding прошёл?

Uljahn: три левела где-то нафармил же

tutubalin: тогда скажи, где конкретно затык

Uljahn: у математики, логики и кодинга есть общее - это абстрактное мышление, вот без него туго

MadKnight: мышление так-то затачивается под твоё окружение

MadKnight: и в итоге оно не плохое или хорошее, а у него есть набор параметров

MadKnight: вот один из этих параметров нужен чтобы влиться вообще в суть прогинга

MadKnight: это например нужно чтобы из обучения питону понять, что x=int(input()) можно закинуть в иф

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

MadKnight: а для извлечения выводов тебе нужна база образов/шаблонов всяких параметров, чтобы отделять их от остальной информации

Uljahn: "мышление так-то затачивается под твоё окружение" - значит, надо окружать себя правильными вещами, чтобы развивать правильное мышление

Uljahn: не материальными вещами, конечно, а в информационном плане

Uljahn: если бычить серики, то кодить не научишься никогда

Uljahn: раньше вон инглиш по играм учили в деревнях-то

Uljahn: а теперь интернет-то у нас есть, у нас ума не хватает, Automaton2000

Automaton2000: а тебе наоборот можно более строгое условие чтобы если не нашел лучше заново посчитать чем найти неправильное

MadKnight: жизнь в обществе тоже является окружением

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

Uljahn: т.е. предсказывать развитие сюжета? я в детстве одно время любил детективы, но чем больше читаешь, тем проще потом предсказывать сюжет в последующих произведениях

Uljahn: Automaton2000: убица - дворецкий

Automaton2000: хех, ну хоть какая-то польза от моего бота

MadKnight: Uljahn не, скорее самому пытаться придумать что персонажу делать в данной ситуации

MadKnight: злодею например

MadKnight: и потом сравнивать, кто лучше придумал