@Override
	public int h(T myNode) {
		TicTacToeBoard<T> tictac =  (TicTacToeBoard<T>) myNode;
		
		ListToMatrix<T> matrix = tictac.getMatrix();
		
		int h = 0;
		
		Vector<Tile> line = new Vector<Tile>(0);
		boolean check;
		check = tictac.compareTilesForH((Vector<Tile>) matrix.getRow(0));
		if (check)
			h++;

		check = tictac.compareTilesForH((Vector<Tile>) matrix.getRow(1));
		if (check)
			h++;

		check = tictac.compareTilesForH((Vector<Tile>) matrix.getRow(2));
		if (check)
			h++;

		check = tictac.compareTilesForH((Vector<Tile>) matrix.getCol(0));
		if (check)
			h++;

		check = tictac.compareTilesForH((Vector<Tile>) matrix.getCol(1));
		if (check)
			h++;

		check = tictac.compareTilesForH((Vector<Tile>) matrix.getCol(2));

		line.add((Tile) matrix.get(0, 0));
		line.add((Tile) matrix.get(1, 1));
		line.add((Tile) matrix.get(2, 2));
		check = tictac.compareTilesForH(line);
		if (check)
			h++;

		line.set(0, (Tile) matrix.get(0, 2));
		line.set(1, (Tile) matrix.get(1, 1));
		line.set(2, (Tile) matrix.get(2, 0));
		check = tictac.compareTilesForH(line);
		if (check)
			h++;

		

		return h;
		
	}