Chat:Ru/2021-03-20
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: рокировку добавь. это важная часть игры
g0rd0h: ребят вот хотел изучить c# через этот сайт, но уже начинаю тупить, как начать понимать то, что от меня требуют?
tutubalin: 1. читать условие задачи 2. читать инпуты 3. читать аутпуты 4. читать ограничения
735487: сюда лучше приходить когда язык хоть немного знаешь
tutubalin: 5. смотреть тесты
735487: https://ulearn.me/ хороший сайт для изучения C#
g0rd0h: пытался по нему учиться, но с математикой проблемы так что не подходит
tutubalin: без математики будет сложно на любом сайте
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: и потом сравнивать, кто лучше придумал