Dobrý den,
ve 2D poli (6, 6) hledám řetězec 5 shodných čísel. Poněvadž je to ve čtverci, myslím si, že je možné dosáhnout maximálně 30 kombinací. Proto jsem to udělal takto:
byte TestCompletion()
{
for (int y = 0; y < 2; y++)
for (int x = 0; x < 6; x++)
if (Tile[x, y] == (Tile[x, y + 1] & Tile[x, y + 2] & Tile[x, y + 3] & Tile[x, y + 4]))
return Tile[x, y];
for (int y = 0; y < 6; y++)
for (int x = 0; x < 2; x++)
if (Tile[x, y] == (Tile[x + 1, y] & Tile[x + 2, y] & Tile[x + 3, y] & Tile[x + 4, y]))
return Tile[x, y];
if (Tile[0, 0] == (Tile[1, 1] & Tile[2, 2] & Tile[3, 3] & Tile[4, 4]))
return Tile[0, 0];
if (Tile[1, 1] == (Tile[2, 2] & Tile[3, 3] & Tile[4, 4] & Tile[5, 5]))
return Tile[1, 1];
if (Tile[5, 0] == (Tile[4, 1] & Tile[3, 2] & Tile[2, 3] & Tile[1, 4]))
return Tile[5, 0];
if (Tile[4, 1] == (Tile[3, 2] & Tile[2, 3] & Tile[1, 4] & Tile[0, 5]))
return Tile[4, 1];
return 255;
}
Hodnoty testovaných čísel jsou 0-244. Proč mi to nefunguje a jak to lépe testovat?
Děkuji.