所以我正在做一个介绍 Java 课程的项目,似乎我选择了一些超出我能力范围的东西。:P
任何帮助将不胜感激。这就是我遇到的问题:
您有一个由玩家控制的光标(向前或转动 90°),它会留下一条彩色线。如果您设法越过自己的线并关闭任何形状的多边形(尽管只有直角),它的表面会将颜色变为您的线的颜色。
我可以检测到这种情况何时出现,但我有点迷失了如何实际填充刚刚关闭的正确多边形。我似乎无法想象一种算法可以涵盖任何可能的情况。
我查看了扫描线填充算法,但我认为当地图中已经填充了一些多边形时,它就会开始出现问题。如果我有办法在多边形内找到一个点,Floodfill算法将是完美的,但是,由于有许多不同的可能性,我想不出一个通用的规则。
我正在使用一个 2x2 整数数组,其中每种颜色都由一个数字表示。
有谁知道如何解决这个问题?