基础扫线
中间扫线
在我的整个代码中,大体使用的就是中间扫线的方法,但针对于每种特殊元素,其实是使用了中间扫线一些小变种,大体就是更改一些扫线的条件啦,更改扫线的起始点之类的,但从最基础的来讲,就是中间扫线。所以我平时也称中间扫线为基础扫线(其实后来是写过八领域扫线的,只不过当时已经在暑假最后的集训了,我担心更换扫线方式会导致我的代码要修改一些细节,所以就没有再换,但是我跑过近三个月的图,都没有出bug,应该还算稳定)
防扫丢函数
对于中间扫线来说,其实当你前进到下一行并且你的扫描点不在赛道内的时候就算扫完了,但是我在这个的基础上增加了一个函数来防止一些特殊情况下图像扫丢。
byte Find_Lose(byte rec_start, byte i)//起始行,起始列
{
byte kk = 1;
while (rec_start + kk < 185 && rec_start - kk > 0 && i < 61)
{
if (BinPixels[i][rec_start + kk] != 0 && BinPixels[i + 2][rec_start + kk] != 0 && BinPixels[i + 4][rec_start + kk] != 0 && BinPixels[i + 6][rec_start + kk] != 0)
{
return