Use reader for rows
Remove duplication in row/column/diagonal checking
Use class array for players
Use constant for board size
Programatically determine diagonals