private void IniciarGrafo(Tablero tablero) { grafo = new Matriz(tablero.Alto, tablero.Ancho); for (int x = 0; x < tablero.Ancho; x++) { for (int y = 0; y < tablero.Alto; y++) { if (tablero.GetEstado(x, y) == Estado.libre) { int id = tablero.GetId(x, y); List <int> vecinos = tablero.CasillasAdyacentes(x, y); vecinos.ForEach(vecino => { if (tablero.GetEstado(vecino) != Estado.ocupado && !grafo.IsConectado(id, vecino)) { float dist = tablero.GetDistancia(id, vecino); grafo.AddArista(id, vecino, dist); } }); } } } Console.WriteLine("El grafo es: \n" + grafo.ToString()); }