Привет, Хабр!
Сегодня хочется поделиться с вами открытием, которое, возможно, окажется полезным для тех, кто работает с языком программирования Go и ищет надежный инструмент для вычисления выражений. Речь пойдет о библиотеке expr от Anton Medvedev.
Программист
Привет, Хабр!
Сегодня хочется поделиться с вами открытием, которое, возможно, окажется полезным для тех, кто работает с языком программирования Go и ищет надежный инструмент для вычисления выражений. Речь пойдет о библиотеке expr от Anton Medvedev.
Приветствую, товарищи разработчики!
Мы рады представить вам Webpod — фантастический новый инструмент, разработанный для упрощения процесса деплоя вашего веб-сайта. Webpod позволяет эффективно и быстро развернуть веб-сайт на сервере, позволяя больше сосредоточиться на проекте и меньше на настройке.
В предыдущих записях блога мы обсудили, как эффективно генерировать ходы и представлять шашечную доску в Golang. Теперь мы углубимся в сердце нашей игры в шашки: ИИ, который принимает решения. ИИ будет использовать алгоритм Minimax с Alpha-Beta отсечением, популярный метод принятия решений в настольных играх.
При разработке игр, особенно таких настольных игр, как шашки, представление доски является важнейшим компонентом производительности игры. Доска - это, по сути, состояние игры: на ней хранится вся информация о положении фигур, о том, чей сейчас ход, и другие важные данные игры. Эффективность представления доски влияет на скорость и эффективность генерации ходов ИИ, что в свою очередь влияет на игровой процесс.
Одним из распространенных методов представления доски является использование двумерного массива, где каждая клетка представляет собой квадрат на доске. Хотя этот подход интуитивно понятен, он не самый эффективный, особенно для игр со сложными правилами или большими размерами доски. Для таких игр нам нужен более эффективный метод представления доски. На помощь приходит "битовая упаковка" - техника, использующая битовые операции для хранения и манипулирования информацией о состоянии игры. В этой статье блога мы рассмотрим реализацию игры в шашки, которая использует битовую упаковку для представления игрового поля с помощью двух uint64.
Я рад представить вам свою реализацию ИИ для русских шашек под названием "damka" (https://github.com/antonmedv/damka). Проект, размещенный на GitHub и доступен для игры по адресу https://medv.io/шашки/, включает в себя ИИ, который следует правилам игры в русские шашки
JSON стал де-факто форматом обмена данными в современном мире. Он широко используется в различных приложениях, таких как API, конфигурационные файлы и хранилища данных. При работе с JSON нам часто требуется манипулировать, фильтровать или преобразовывать данные в соответствии с нашими требованиями. JQ - это популярный процессор JSON с командной строкой, который существует уже довольно давно. Однако у него есть свои ограничения - вы можете обнаружить, что постоянно гуглите его синтаксис, боретесь с отсутствием поддержки BigInt и имеете дело с отсутствующими функциями, такими как комментарии JSON и запятые.
Появился FX - неинтерактивная, основанная на JavaScript альтернатива JQ, которая обещает стать переломным моментом. В этой статье блога вы окунетесь в мир FX и узнаете, как его можно использовать для упрощения задач обработки JSON.
jq — самая популярная утилита для обработки JSON из командной строки, написана на C и имеет свой собственный синтаксис для работы с JSON.
Однако, обрабатывать JSON в командной строке не нужно очень часто, а когда потребность возникает, приходится мучиться с незнакомым языком программирования.
Так и появилась идея написать fx с простым и понятным синтаксисом, который никогда не забудешь. А какой язык программирования знают все? Правильно — JavaScript.
$container = new Inversion\Container();
$container['foo'] = 'My\Class\Foo';
// ...
$foo = $container('foo');