public class Moves : MonoBehaviour
{
const int boardSize = 3;
List<int> rows = new List<int>(boardSize);
List<int> cols = new List<int>(boardSize);
int diag0, diag1;
bool playerWon;
public void IncrementMove(Vector2 move)
{
// Increment column and check for win
++cols[move.x];
if (cols[move.x] >= boardSize)
playerWon = true;
// Increment row and check for win
++rows[move.y];
if (rows[move.y] >= boardSize)
playerWon = true;
// Increment diagonals and check for win
if (move.x == move.y)
++diag0;
if (diag0 >= boardSize)
playerWon = true;
// x = 2, y = 0
// x = 1, y = 1
// x = 0, y = 2
if (move.y == (boardSize - 1) - move.x)
++diag1;
if (diag1 >= boardSize)
playerWon = true;
}
public bool CheckForThree()
{
return playerWon;
}
}