Как стать автором
Поиск
Написать публикацию
Обновить
14.53

Логические игры

Развиваем логику

Сначала показывать
Порог рейтинга
Уровень сложности

Шахматный телепорт

Время на прочтение3 мин
Количество просмотров12K

Если зайти на какой-нибудь шахматный сайт типа личес, то там можно обнаружить помимо обычных шахмат – шахматы с альтернативными правилами. Например, давно известна игра «Шахматы Фишера». Так же очень популярны CrazyHouse, King of the hill, Horde и другие. Сегодня, хочу представить вашему вниманию новую шахматную игру «Teleport». Кому интересно добро пожаловать под кат.

Читать далее

Построение при помощи циркуля и линейки, только… без циркуля

Время на прочтение2 мин
Количество просмотров13K
Все мы знакомы из школьной программы с построениями при помощи циркуля и линейки. А что будет, если вдруг циркуль затеряется? Можно ли при помощи одной линейки строить ещё что-то нетривиальное? Предлагаю вашему вниманию задачу, решение которой принесло мне немало приятных часов. Задача со звёздочкой, поэтому не расстраивайтесь, если сходу решение не найдёте. Хотя один мой знакомый справился за пять минут, думаю, что это скорее исключение из правил.

Итак, на плоскости есть отрезок, который мы бы хотели продолжить. Казалось бы, выбрать две точки на отрезке, приложить линейку и прочертить прямую. Но вот незадача: как раз на пути этой прямой посажено жирное пятно кетчупа, а мы линейку пачкать не хотим. Нужно продолжить изначальную прямую за пятном, не прикасаясь к нему линейкой.



Напоминаю, циркуля нет, остаётся только неградуированная линейка, с помощью которой можно только проводить прямую через выбранные две точки, больше ничего. Это настоящая задача без подколок. Складывать листочки, использовать вторую сторону линейки для откладывания параллельных линий, а также хитрить другими подобными способами не требуется.

Читать дальше →

Как с помощью циркуля и линейки находить корни, квадраты и обратные величины чисел

Время на прочтение3 мин
Количество просмотров20K

Представьте, что у вас нет под рукой калькулятора (но есть циркуль, линейка или угольник) и вам нужно посчитать результат в виде отрезка. Не более 5 простых шагов и результат готов.

Пошагово и с картинками

Создаем свой шахматный движок: алгоритм игры компьютера

Время на прочтение3 мин
Количество просмотров5.3K
Продолжаю рассказывать, как докручиваю свой шахматный движок, и это вторая часть статьи. Она небольшая, здесь я подсвечу настройку ИИ в игре. Сыграем с соперником в лице собственного компьютера.



В первой статье я начал с истории и поделился реализацией ходов. Было много по делу в комментариях, поэтому в планах движок продолжать улучшать. Не претендую на звание гроссмейстера, just for fun. Но, как и для любого программиста, нет предела совершенству :)

Итак, перейдем к реализации алгоритма игры в шахматы для компьютерного соперника.
Читать дальше →

Используем глубокое обучение, чтобы отгадывать страны по фотографиям в GeoGuessr

Время на прочтение6 мин
Количество просмотров35K
Во время последнего локдауна в Великобритании мы с женой играли в GeoGuessr. Эта игра более размеренна, чем те, в которые мы обычно играем, но хорошо подходит для нашей семьи с 11-недельным младенцем, который становится активнее с каждым днём.

GeoGuessr — это игра о географических исследованиях. Вас бросают на случайную точку в Google Street View, после чего ваша задача — указать своё местоположение на карте. Можно осматривать окрестности, увеличивать изображение и двигаться по пути автомобиля на местных улицах.

image

Нас серьёзно заинтересовали ежедневные соревнования (Daily Challenge) на GeoGuessr. Мы начали заходить на сайт каждый день и пытаться поставить новый рекорд. В формате Daily Challenge на каждый раунд выделяется по три минуты, которые мы тратили или на бешеное кликанье по австралийскому бушу (при этом иногда путая его с Южной Африкой), или на обсуждение того, есть ли в шведском языке буква ø.
Читать дальше →

Шахматы на Delphi. Как я изобретал велосипед

Время на прочтение7 мин
Количество просмотров18K

Писать игровой AI очень интересно и увлекательно - не раз убеждался в этом на личном опыте. Недавно, случайно наткнувшись на код своего старого проекта шахматной программы, решил его немного доработать и выложить на GitHub. А заодно рассказать о том, как он создавался и какие уроки преподал мне в процессе работы.

Читать далее

Совместная игра в Factorio — лучшее собеседование для программистов, что мы проводили

Время на прочтение11 мин
Количество просмотров85K
В последнее время много копий сломано вокруг технических собеседований. Очевидно, что инвертирование двоичного дерева на доске практически никак не связано с практическими навыками реального программиста. Примитивный Fizzbuzz по-прежнему остаётся самым эффективным тестом. Как следствие, выросло внимание к опенсорсным проектам, но оказалось, что это тоже не очень хороший показатель, потому что у большинства профессионалов нет на них времени.

У нас в компании самое эффективное собеседование по программированию на сегодняшний день — это обычно какое-то домашнее задание на несколько дней, в котором кандидата просят исправить баг или реализовать небольшую функцию. Это не очень хорошо, потому что занимает много времени, и человек может получить внешнюю помощь (или погуглить, если функция достаточно распространённая). С другой стороны, некоторые крупные компании вместо этого удвоили количество собеседований с доской (и алгоритмами), подвергая будущих инженеров многочасовым сессиям онлайн-программирования с различным уровнем инвазивного наблюдения.

Все эти методы интервью не сравнятся с очень простой метрикой: совместная игра в Factorio. Прохождение всего цикла Factorio — практически идеальный показатель, насколько хорошо человек решает общие технические проблемы. Можно даже настроить прохождение игры на основе будущей должности, чтобы лучше понять, как кандидат справится со своей ролью.
Читать дальше →

Как желание поиграть в шахматы превратилось в написание своего движка. История и реализация

Время на прочтение15 мин
Количество просмотров13K
Всем привет! Меня зовут Борис Николаев, сегодня я хотел бы поделиться с вами своими наработками по технической реализации простого шахматного движка на Kotlin.

Пару месяцев назад я посмотрел сериал «Ход королевы», и вполне ожидаемо, что сразу захотелось поиграть в шахматы. Прежде всего я установил несколько бесплатных и условно-бесплатных игр. Но в каждом варианте были какие-то недостатки и ограничения. Ну, а поскольку я программист, то довольно быстро «захотелось поиграть» превратилось в «реализовать свой шахматный движок» и алгоритм игры.



В принципе это две большие темы. Забегая вперед скажу, что при реализации большую часть времени я потратил именно на сам движок, который обеспечивает правила игры, а не на алгоритм игры компьютера.
Читать дальше →

История поиска длиной в 15 лет

Время на прочтение10 мин
Количество просмотров16K

Мы нашли все самые крутые логические задачи!

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

Так появилось сообщество решателей задач BrainGames.ru. Наш сайт развивался и менялся, сменялись решающие, сменялись проверяющие, но вот уже много лет мы не изменяем трем основным принципам: 

Мы не даем ответов. Ответ узнать можно, но только найдя его самостоятельно и услышав “верно” от модератора (так мы называем проверяющих задачи).

Задачи проходят жесткий отбор и переработку. 

Присоединиться к сообществу и проверить ответ смогут только те, кто решит несколько “регистрационных” задач - простых, но нестандартных. 

Как так получилось?

Интерактивная виртуальная игра как форма обучения школьников

Время на прочтение7 мин
Количество просмотров6K

Стоит ли запрещать детям доступ в Интернет? Такой вопрос рано или поздно задают все современные родители, и на него уже можно четко ответить — нет. По одной простой причине, что Интернет везде. И гораздо оптимальнее будет использовать его для обучения ребенка. Конечно, придется контролировать и быть в курсе того, какой контент потребляет юный неокрепший мозг. К примеру, этой осенью моя дочь пойдет в первый класс. Для сравнения, я не помню, чтобы в первом классе задавался, как моя дочь, такими вопросами, как «Есть ли в нашем городе мусороперерабатывающий завод?», «Когда человек сможет жить на Марсе?», «Все ли косточки динозавров выкопаны?». Современные дети более любознательные, и это благодаря Интернету. Очень важно сохранить эту любознательность, когда ребенок пойдет в школу. Ведь ребенку может показаться, что в школах скучнее рассказывают о чем-либо, чем в «Фиксиках» или «Гравити-Фоллз». Учителя и лекторы могут показаться менее харизматичными и выразительными, чем, скажем так, научпоп блогеры. А в какой-то момент, ребенок просто сделает вывод, что знаний в Интернете больше и лучше, а в школу идти вовсе необязательно. Именно так было с большинством детей младших и средних классов, которые были вынуждены учиться на удаленке во время пандемии. Они отказывались идти в школу, когда учебный процесс возобновили. Это наглядно показало, что образовательная система нуждается в реформах, что необходимо интегрировать Интернет в процесс обучения, и уж тем более, не противится и запрещать его. Сделать это будет не так просто и не так быстро! Нужны время и деньги, особенно нужны специалисты для разработки баз данных и электронных ресурсов. В то время, когда Facebook создает Instagram для детей младше 13 лет, предлагаю ознакомиться с примерами электронных образовательных ресурсов, которые могут быть полезными для детей всех возрастов, и такими же интересными для них как Майнкрафт, Among Us и YouTube Kids.
Читать дальше →

Как создавать спирографы в Excel

Время на прочтение3 мин
Количество просмотров9.1K
image

«В гудении струн есть геометрия, в расположении сфер есть музыка» — Пифагор

В детстве у меня была игрушка под названием «спирограф», которая досталась мне в наследство от родителей. Я любил её. Она генерировала сложные узоры и шаблоны, многократно повторявшиеся по кругу. Для восьмилетнего меня это было настоящее волшебство.


Рисовать им было очень просто — вставляешь зубчатое колесо с несколькими отверстиями внутрь ещё одного зубчатого кольца побольше, в одно из отверстий засовываешь конец ручки и рисуешь узоры.
Читать дальше →

10 лучших игр по программированию, которые улучшат ваши навыки

Время на прочтение7 мин
Количество просмотров110K

Вы помните далёкие дни из детства, когда вы, проводили целый день, а иногда даже не ели целый день, чтобы поиграть в игры на Nintendo? (Ах, дни Mario и Contra!!!)

С того времени игры претерпели гигантские преобразования и сфера стала более обширной. Это уже не просто хобби. Сейчас в Интернете доступно множество игр, связанных с программированием, и вы можете использовать их чтобы изучить и отточить свои скилы в увлекательной форме. Более того, эти игры могут помочь вам улучшить навыки решения задач, поскольку вам нужно будет решать задачи различной сложности, а также соревноваться с другими опытными программистами по всему миру. Специально к старту новых потоков курсов Fullstack-разработчик на Python, разработка на C# и разработка на Java, в этой статье мы отобрали несколько таких игр, играя в которые можно параллельно качать и себя самого.

Start game

Как у меня увели домен

Время на прочтение2 мин
Количество просмотров48K

Хочу поделиться радостной новостью, если у вас есть домен на reg.ru или его партнерах 2domains.ru или других, то возможно это не надолго, в смысле есть он у вас не надолго.

После разбирательства оказалось мой регистратор, без единого письма на почту передал мой домен другому лицу, а потом отправил его другому регистратору. Как так получилось?

Читать далее

Ближайшие события

Шахматные алгоритмы, которые думают почти так же, как человек, только лучше

Время на прочтение6 мин
Количество просмотров43K

Когда создавались первые вычислительные машины, их воспринимали только как дополнение к человеческому разуму. И до недавнего времени так и было. Программисты учили компьютеры играть в шахматы с 1960-х годов. И тогда победа у игрока-новичка уже считалась большим прогрессом. О серьёзных матчах даже не задумывались.

В 1980-х программа Belle достигла рейтинга Эло в 2250 пунктов, что примерно соответствует рейтингу мастера спорта. И с того времени развитие компьютерных шахмат вышло на совершенно новый уровень. 

Сначала честь человечества не смог защитить Гарри Каспаров в 1996 году, а сегодня уже создана нейросеть с рейтингом около 5000 Эло, что в разы превосходит даже сильнейших игроков.

Сегодня разберёмся, как работают шахматные алгоритмы и почему нейросеть Alpha Zero думает практически так же, как человек, только лучше.

Приятного чтения

Пока в мире гремел сериал «Ход королевы», мы пилили сервис, чтобы дети учились шахматам на удобной платформе

Время на прочтение9 мин
Количество просмотров22K

Мой дед неплохо играл в шахматы. Буквально сутками просиживал за доской. В детстве я часто приезжал к нему — так постепенно и полюбил игру. 

В институте шахматы забылись: карьера-учеба, вот это все. А потом я увлекся снова. Стал ходить в шахматный клуб на Полянке. Играл с дедами — и постоянно им проигрывал, так как плохо знал теорию. Стал проходить курсы, изучать дебютную подготовку. Начал кого-то обыгрывать. И это дико мотивировало.

И вот что из этого вышло

Пишем ИИ для игры Гомоку (5 в ряд)

Время на прочтение8 мин
Количество просмотров7.1K

Разрабатывая браузерную игру Гомоку (5 в ряд) на языке JavaScript, я столкнулся с необходимостью реализации компьютерного противника (ИИ). В данной статье кратко описаны основные компоненты ИИ, а также приведено сравнение алгоритмов поиска Negamax, NegaScout и MTD-F.

Основные компоненты ИИ: функция оценки состояния игры, генератор ходов, алгоритм поиска, алгоритм определения победы.

Читать далее

DagazServer: Встречайте Garbo Chess

Время на прочтение8 мин
Количество просмотров3.5K
Кто мне сказал, — «не получится»?
Если мне хочется, сбудется!

Земфира

Плюнь тому в глаза, кто скажет,
что можно объять необъятное!

Козьма Прутков "Плоды раздумья"


Новогодние праздники вновь навалились внезапно. Такое обилие свободного времени было просто необходимо разбавить какой-то осмысленной деятельностью и я решил приделать к своему серверу бота для игры в Шахматы. Готовых шахматных движков существует множество. Я решил остановиться на Garbochess-JS — простой и понятной реализации, на языке JavaScript, названной в честь знаменитой актрисы Греты Гарбо (вы можете видеть её на фотографии).
О том, что из этого вышло, читайте далее...

Взламываем Ball Sort Puzzle

Время на прочтение8 мин
Количество просмотров18K

Ball Sort Puzzle — это популярная мобильная игра на IOS/Android. Суть её заключается в перестановке шариков до тех пор, пока в колбах не будут шарики одного цвета. При этом шарик можно перетаскивать либо в пустую колбу, либо на такой же шарик.

Так случилось, что я в неё залип. Очнулся примерно через месяц, на 725 уровне. Он мне никак не давался — насколько бы глубоко я ни пытался продумать свою стратегию. В итоге — с этим вопросом я вышел в интернет, и заодно выяснил несколько интересных особенностей головоломки.

Во-первых, — игра бесконечна почти бесконечна. По крайней мере уже сейчас на YouTube есть прохождения всех уровней в плоть до 5350, а в телеграмме гуляют скриншоты 10к+ уровней. Вторая особенность, и вот это уже некрасиво, — не у всех уровней есть решение.

Ну это ни в какие ворота — против нас играет коварный ИИ. Нужно действовать соответственно!

Под катом мы:

• Придумаем алгоритм, решающий эту головоломку (Python)

• Научимся парсить скриншот игры, чтобы скармливать алгоритму задачки (OpenCV)

• Напишем телеграм бота, который будет принимать скриншоты и возвращать решения

• Выстроим CI/CD через GitHub Actions и задеплоим бота на Яндекс.Функции

Погнали!

5 игрушек, чтобы ребёнок почувствовал программирование

Время на прочтение4 мин
Количество просмотров29K

Власть над материальными объектами — пожалуй, лучший способ оценить мощь программирования.

Читать далее

DagazServer: Чему научили пользователи

Время на прочтение10 мин
Количество просмотров1.6K
Детали, мелочи, нюансы. Сочетание пустяков.
От перестановки слагаемых всё меняется.
Раз, и будущее – открытая книга.

Нюанс за нюансом, подробность за подробностью…
Это была не игра, это была откровенная дерзость.

Генри Лайон Олди «Нюансеры»

Предусмотреть всё невозможно. Именно поэтому умные люди и придумали бета-тестирование. Поскольку, в моём случае, проект открытый и бесплатный, оно мало чем отличается от обычного функционирования сайта. Люди играют в игры, а я наблюдаю, исправляю найденные ошибки, извиняюсь и наблюдаю снова. А ещё, я прислушиваюсь к советам, порой неожиданным и, часто, очень полезным.
Читать дальше →

Вклад авторов