我正在使用Win32 API用C ++开发类似paper.io的游戏。我的游戏数据存储在以下数组中:
1 =玩家的头
2 =玩家的基地
3 =玩家的尾巴
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,< / li>
- 0,0, 3,3,3,3,3,3,3,3,3, 0,0,0, 3,3,3,3,< / strong> 0,0,0,0,
- 0,0, 3, 0,0,0,0,0,0,0, 3, 0,0,0, 3, 0,0, 3, 0,0,0,0,
- 0,0, 3, 0,0,0,0,0,0,0, 3,3,3,3,3, 0,0 , 3, 0,0,0,0,
- 0,0, 3, 0,0,0,0,0,0,0,0,0,0,0,0,0,0, 3,< / strong> 0,0,0,0,
- 0,0, 2,2,2,2,2,2,2,2,2, 0,0,0,0,0,0, 3,3 ,3、3 0
- 0,0, 2,2,2,2,2,2,2,2,2, 0,0,0,0,0,0,0,0,0, 3 0
- 0,0, 2,2,2,2,2,2,2,2,2, 1、3、3、3、3、3、3、3 ,3、3 0
- 0,0, 2,2,2,2,2,2,2,2,2, 0,0,0,0,0,0,0,0,0, 0,0,0,
- 0,0, 2,2,2,2,2,2,2,2,2, 0,0,0,0,0,0,0,0,0, 0,0,0,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,< / li>
现在,我想用数字2(玩家的底部)填充多边形(玩家的尾巴)。
Scan Line Algorithm:
有效方法:
- 如果我扫描5.行,则前3个触发算法并切换绘画功能。接下来的3个再次切换它会再次停止绘画功能
问题:
- 如果我扫描第2行,则每隔3切换一次绘画功能,并且在该行之后,它将绘画更多,因为它的数量为奇数。
解决方案:
- 切换从零到非零(以及从非零到零)的过渡
Boundary Fill Algorithm:
问题:
- 我需要找到开始的中间/点,在多边形中