private GameResult checkBoardState() {
		boolean hasEmpty = false;
		for (int y = 0; y < BOARD_SIZE; y++) {
			for (int x = 0; x < BOARD_SIZE; x++) {
				if (board[y][x] == GAME_WIN_NUMBER) {
					return GameResult.WIN;
				}
				if (isEmpty(y, x)) {
					hasEmpty = true;
				}
			}
		}
		return hasEmpty ? GameResult.UNDETERMINED : GameResult.LOSE;
	}