Итак, я делаю проект вводного курса по Java, и кажется, что я выбрал что-то, что выходит далеко за рамки того, что я могу сделать. :P
Будем очень признательны за любую помощь. Вот с чем у меня проблемы:
У вас есть курсор, которым управляет игрок (движется вперед или поворачивается на 90°), который оставляет за собой цветную линию. Если вам удастся пройти по своей линии и замкнуть многоугольник любой формы (правда, только прямые углы), его поверхность меняет цвет на цвет вашей линии.
Я могу определить, когда возникает эта ситуация, но я немного потерялся в том, как на самом деле заполнить только что закрытый правильный многоугольник. Кажется, я не могу представить себе алгоритм, который охватывал бы любой возможный случай.
Я посмотрел на алгоритм Scanline fill, но я думаю, что у него начнутся проблемы к тому времени, когда на карте уже будут заполнены некоторые полигоны. Алгоритм Floodfill был бы идеальным, если бы у меня был способ найти точку внутри многоугольника, но, поскольку существует множество различных возможностей, я не могу придумать для этого общего правила.
Я использую массив целых чисел 2x2, где каждый цвет представлен числом.
Кто-нибудь знает, как подойти к этой проблеме?