Обновить
12.66

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

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

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

Путеводитель разработчика по Garbo-боту

Время на прочтение10 мин
Охват и читатели2.1K
у него есть два больших преимущества

Во-первых, он дешевле; а во-вторых, на обложке у него большими веселыми буквами напечатан дружеский совет: Don’t panic!

Дуглас Адамс


Из всего многообразия шахматных движков, Garbochess я выбрал по двум причинам: для него есть понятный JavaScript-код и он неплохо играет в Шахматы. Мне совсем не требовался гроссмейстерский уровень! Если бот играет слишком сильно, то обычных людей (вроде меня) это только отпугивает. Требовалась лишь игра достаточно разумная, похожая на игру человека, без глупых раздражающих ошибок и Garbochess мне всё это дал. К сожалению, как и большинство других шахматных движков, он играл только в одну игру — традиционные Шахматы. Именно это мне и предстояло исправить.
Читать дальше →

11 игр, на которые стоит обратить внимание после анонсов на E3 2021

Время на прочтение4 мин
Охват и читатели19K

В ночь с воскресенья на понедельник в ходе пары сессий на E3 2021 разработчики представили более 80 игр. Анонсы, как обычно, сопровождались демонстрацией трейлеров. Издатели и разработчики давали интервью во время Future Games Show и PC Gaming Show, подробно рассказывая о новых возможностях разных игр.

Все эти игры вспоминать не будем — мы выбрали 11, на наш взгляд, самых интересных тайтлов. Список, естественно, очень субъективный. Если есть игры, которые мы пропустили, а вам они понравились — давайте обсудим в комментариях. Итак, приступим.

Как я программировал шахматную партию против брата

Время на прочтение12 мин
Охват и читатели21K


Это история о том, как я попытался выиграть у брата партию в шахматы. Всего лишь гребаную одну игру. Что в этом особенного? Хорош ли я в шахматах? Вовсе нет. Научился ли я чему-то в процессе игры? Тоже нет. Может, это история о путешествии ради путешествия, а не цели? Не совсем. Получил ли я хотя бы удовольствие от этого? Не уверен.

Это история о моей попытке соригинальничать в одной из самых изученных в мире игр, используя опыт разработки ПО там, где это, быть может, и не нужно.
Читать дальше →
НЛО прилетело и оставило это таинственное послание здесь. Что хотел сказать нам инопланетный разум? Мы расшифровали две из трёх фраз, а оставшуюся отдаём вам. Под катом вас ждёт загадка: хотите узнать, что за ней скрывается? Тогда попытайтесь напасть на верный след.
Посмотреть, что мы загадали

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

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

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

Читать далее

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

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

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



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

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

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

Время на прочтение3 мин
Охват и читатели23K

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

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

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

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

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

image

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

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

Время на прочтение7 мин
Охват и читатели19K

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

Читать далее

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

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

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

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

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

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

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



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

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

Время на прочтение10 мин
Охват и читатели18K

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

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

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

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

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

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

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

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

Время на прочтение3 мин
Охват и читатели9.5K
image

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

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


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

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

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

Время на прочтение7 мин
Охват и читатели123K

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

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

Start game

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

Время на прочтение2 мин
Охват и читатели49K

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

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

Читать далее

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

Время на прочтение6 мин
Охват и читатели49K

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

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

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

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

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

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

Время на прочтение9 мин
Охват и читатели24K

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

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

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

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

Время на прочтение8 мин
Охват и читатели7.9K

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

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

Читать далее

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

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

Земфира

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

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


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

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

Время на прочтение4 мин
Охват и читатели31K

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

Читать далее

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