.NET 4.x Логика поиска в массиве по типу игры "Три в ряд" - C#
Формулировка задачи:
Подскажите, как в таком массиве, найти ходы. Например:
int[] matrix =
{
1,
0
, 0, 3,1
, 2,0
, 0, 3,1
, 3,1
, 2, 1,0
, 0,0
, 2, 3,1
, 0, 1, 1, 3, 2 };Решение задачи: «.NET 4.x Логика поиска в массиве по типу игры "Три в ряд"»
textual
Листинг программы
public List<int[]> lookForMatches()
{
List<int[]> matchList = new List<int[]>();
// поиск горизонтальных линий
for (int row = 0; row < 8; row++)
{
for (int col = 0; col< 6; col++)
{
int[] match = getMatchHoriz(col, row);
if (match.GetLength(0) > 2)
{
matchList.Add(match);
col += match.length-1;
}
}
}
// поиск вертикальных линий
for (int col = 0; col < 8; col++)
{
for (int row = 0; row < 6; row++)
{
var match = getMatchVert(col, row);
if (match.length > 2)
{
matchList.Add(match);
row += match.length-1;
}
}
}
return matchList;
}