Исходный размер 1140x1600

Математические игры для проекта Fragments

PROTECT STATUS: not protected

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

Точки клеточки

Правила игры «Точки и клеточки»
Игровое поле представляет собой сетку из точек, образующих прямоугольную решетку. Между соседними точками можно проводить линии, соединяя их по горизонтали или вертикали. Каждая линия может быть использована только один раз.
Игроки ходят по очереди. За один ход игрок проводит одну линию между двумя соседними точками. Если после проведения линии замыкается четвертая сторона любого квадрата, этот квадрат считается захваченным. Захваченный квадрат закрашивается цветом игрока, и игрок получает одно очко.
Если игрок захватил квадрат, он получает право на дополнительный ход. Игрок может захватить несколько квадратов подряд, если каждый его ход завершает новый квадрат. Как только ход игрока не привел к захвату квадрата, ход переходит к сопернику.
Игра заканчивается, когда все возможные линии на поле проведены и все квадраты захвачены. Победителем становится игрок с наибольшим количеством захваченных квадратов. При равном счете объявляется ничья.

big
Исходный размер 1577x887
big
Исходный размер 1046x544

ИИ Точки клеточки

Loading...

Одуванчики

Правила игры «Одуванчики»Игровое поле представляет собой квадратную сетку клеток. В начале игры все клетки пустые. Случайным образом определяется, кто будет играть за Одуванчика, а кто за Ветер.Игроки ходят по очереди. Первый ход всегда делает Одуванчик. За один ход Одуванчик ставит свой цветок в любую пустую клетку поля. После этого ход переходит к Ветру. За один ход Ветер выбирает одно из восьми направлений: север, юг, запад, восток, северо-запад, северо-восток, юго-запад или юго-восток. Каждое направление можно использовать только один раз за всю игру.Когда Ветер выбирает направление, от каждого уже посаженного Одуванчика начинают распространяться семена в выбранном направлении. Семена летят по прямой до тех пор, пока не достигнут края поля или не встретят препятствие в виде другого растения. Все пустые клетки на пути семян заполняются. Если на пути встречается уже занятая клетка, распространение в этом направлении останавливается.Игра заканчивается, когда всё поле полностью заполнено клетками или когда Ветер использовал все семь доступных направлений. Одуванчик побеждает, если ему удаётся заполнить всё поле своими цветами и семенами. Ветер побеждает, если он успешно использует все семь направлений до того, как поле будет полностью заполнено.

Исходный размер 1376x810

ИИ Одуванчики

Loading...

Детали разработки

Программная часть мини игр была полностью разработана мной без использования готовых ассетов в Unity на языке C#.
Исскуственый интеллект в игре намеренно упрощён, и не должен вызывать особых трудностей у игрока.
Игровое поле представляет собой двумерный массив клеток, где каждая ячейка хранит ссылку на визуальный компонент и текущее состояние. Все элементы — линии, квадраты, точки — генерируются при старте и складываются в линейные массивы, индексы которых вычисляются по формулам в зависимости от позиции на сетке. Это позволяет обращаться к любому объекту по его координатам без необходимости искать его на сцене. При нажатии на линию или клетку контроллер получает соответствующий индекс, обновляет состояние в массиве и вызывает перерисовку интерфейса. Проверка завершённых квадратов идёт по всем элементам массива, а захваченные объекты помечаются отдельным флагом.

Математические игры для проекта Fragments
Проект создан 29.07.2026
Мы используем файлы cookies для улучшения работы сайта НИУ ВШЭ и большего удобства его использования. Более подробную...
Показать больше