Рубрика «ненормальное программирование» - 40

Всем привет. Меня зовут Валентин.

10 июля я прочел на Хабре пост Оли Ollisteka про платформу codingame.com и решил попробовать свои силы в логических задачах, а так же в конкурсе Legends of Сode and Magic.

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

image

Далее будет краткая информация о правилах конкурса, а так же о некоторых очевидных или не очень вещах для новичков.

Legends of Code and Magic

Контест, который проходит с 25 июля по 24 августа. Игра в некотором смысле похожа на Hearthstone, однако часть вещей улучшена в сторону баланса между игроками.

Игра проходит между двумя игроками, и это пошаговая игра. Каждый игрок имеет свою колоду карт, выбранную из доступных вариантов во время фазы Draft перед фазой Battle.
Читать полностью »

«Finally, we come to the instruction we've all been waiting for – SEX!»
/ из статьи про микропроцессор CDP1802 /

Архитектура и программирование RCA Studio II - 1

В начале 1970-х в США были весьма популярны простые электронные игры типа Pong (в СССР их аналоги появились в продаже через 5-10 лет). Как правило, такие игры не имели микропроцессора и памяти в современном понимании этих слов, а строились на жёсткой логике. Соответственно, сменные картриджи не имели особого смысла, а там где они были — представляли собой просто набор перемычек, включающих нужную игру.

В 1977 году были почти одновременно выпущены две консоли: Fairchild Channel F и RCA Studio II. Это были первые игровые приставки в виде полноценных компьютеров — с микропроцессором и программами на сменных картриджах.Приставка RCA Studio II, о которой пойдёт речь, является разработкой не столько фирмы RCA, сколько конкретного человека — Joseph A. Weisbecker (как и вся архитектура COSMAC).
Читать полностью »

Хотел сделать демку с тех самых пор, как познакомился с этим явлением компьютерной субкультуры на классическом примере польской Lyra II. Также регулярно хотел выставить что-нибудь на крупнейшем российском демопати, Chaos Constructions, но каждый раз не доходили руки. Наконец-то удалось удовлетворить обе потребности сразу, в стиле Ван Дамма (двойной удар, с вертушки) — сделать и выставить AONDEMO. В конкурсе ZX Spectrum 640K Demo.

Вашему вниманию предлагается подробное руководство, как именно можно докатиться до жизни такой.

Читать полностью »

Проблематика совы и глобуса: подключение двух сборок с идентичными пространствами имен и названиями классов - 1

Сегодня вечером, с gelas завели разговор о том, как работают пакетные менеджеры на разных платформах. В ходе беседы, дошли до обсуждения ситуации, когда в проект на .NET Core необходимо подключить две библиотеки, которые содержат классы с одинаковым названием в одинаковых пространствах имен. Поскольку .NET Core я занимаюсь достаточно плотно, я захотел проверить, как можно решить подобную проблему. Что из этого вышло описано дальше

Читать полностью »

… или как выстрелить себе в ногу на Arduino

Когда в gcc 16-битные адреса, а памяти внезапно 256к - 1

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

Сейчас в нём установлена плата Arduino Mega с процессором ATmega2560, в котором целых 256 килобайт флеш-памяти. Предполагалось, что этого хватит очень надолго, ведь игры получаются простые (экран-то всего лишь 64x64 пикселя). В реальности мы столкнулись с некоторыми проблемами уже по достижении прошивкой размера примерно 128 килобайт.
Читать полностью »

Запускаем Mini AI Cup #3. Битва машин в тесных закрытых пространствах - 1

С 2012 года проводим ежегодное соревнование по программированию искусственного интеллекта Russian AI Cup. В этом году оно начнётся немного позже — не в ноябре, а в середине декабря. А для тех, кто хочет подготовиться или оценить свой уровень, регулярно проводим мини-соревнования Mini AI Cups. Задачи немного проще предлагаемых на RAIC, но ничуть не менее захватывающие.

И сегодня открываем регистрацию на Mini AI Cup #3 по мотивам Drive AHEAD.
Читать полностью »

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

Сделаю пару замечаний по содержимому статьи. Во-первых, процесс освоения нами данной архитектуры находится на начальной стадии, нам удалось запустить Embox на данной платформе, но мы еще не реализовали много необходимых частей, об этом речь пойдет в будущих публикациях. Во вторых, данная архитектура – сложная, и
для детального описания требуется гораздо больше текста, чем позволяет формат
одной статьи. Поэтому предлагаем воспринимать данную статью как вводную,
содержащую минимум технической информации о самой архитектуре.

Приступим.
Читать полностью »

Windows 95 портировали на Electron - 1

В последние годы операционная система Windows 95 стала эдаким эталоном для демонстрации необычных возможностей портирования: её уже запускали на умных часах Apple Watch и Android Wear и даже на консоли Xbox One. Сейчас разработчик Феликс Ризенберг из компании Slack вышел на новый уровень, выпустив Windows 95 в виде приложения Electron, которое можно скачать и запустить на macOS, Windows или Linux.
Читать полностью »

Всем привет! В этот раз я хочу написать о том, как мне удалось победить в соревновании Mini AI Cup 2. Как и в моей прошлой статье, деталей реализации практически не будет. В этот раз задача была менее объёмной, но всё же нюансов и мелочей, влияющих на поведение бота, было немало. В итоге даже после почти трёх недель активной работы над ботом всё ещё оставались идеи, как улучшать стратегию.

Mini ai cup 2 или почти AgarIO — что можно было сделать для победы - 1

Под катом много гифок и трафика.
Читать полностью »

Эмуляция литералов свойств с Java 8 Method Reference - 1

От переводчика: к переводу этой статьи меня подтолкнула обида от отсутствия оператора nameOf в языке Java. Для нетерпеливых — в конце статьи есть готовая реализация в исходниках и бинарниках.

Одна из вещей, которой часто не хватает разработчикам библиотек в Java, — литералы свойств. В этом посте я покажу, как можно креативно воспользоваться Method Reference из Java 8 для эмуляции литералов свойств с помощью генерации байт-кода.

Сродни литералам классов (например, Customer.class), литералы свойств позволили бы ссылаться на свойства классов-бинов типобезопасно. Это было бы полезно для дизайна API, где есть необходимость выполнять действия над свойствами или каким-то образом конфигурировать их.

От переводчика: Под катом разбираем как из подручных средств это реализовать.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js