public class Moves : MonoBehaviour
{
List<int> rows = new List<int>(boardSize);
List<int> cols = new List<int>(boardSize);
int diag0;
int diag1;
public void IncrementMove(Vector2 move)
{
++cols[move.x];
++rows[move.y];
// Diagonals
if (move.x == move.y)
++diag0;
// x = 2, y = 0
// x = 1, y = 1
// x = 0, y = 2
if (move.y == (boardSize - 1) - move.x)
++diag1;
}
public bool CheckForThree()
{
foreach (int currRowCount in rows)
{
if (currRowCount == boardSize)
return true;
}
foreach (int currColCount in cols)
{
if (currColCount == boardSize)
return true;
}
return diag0 >= boardSize || diag1 >= boardSize;
}
}