package logica; import models.casilla.Casilla; import org.jgrapht.Graph; import org.jgrapht.graph.DefaultEdge; import org.jgrapht.graph.SimpleGraph; public class GrafoFactory { public static Graph<Casilla, DefaultEdge> crearGrafo(Casilla[] casillas) { int tamTablero1 = 32; Graph<Casilla, DefaultEdge> tablero = new SimpleGraph<Casilla, DefaultEdge>( DefaultEdge.class); for (int i = 0; i < casillas.length; i++) tablero.addVertex(casillas[i]); for (int i = 0; i < tamTablero1-1; i++) tablero.addEdge(casillas[i], casillas[(i + 1)]); tablero.addEdge(casillas[tamTablero1 - 1], casillas[0]); // Calle derecha tablero.addEdge(casillas[0], casillas[32]); tablero.addEdge(casillas[32], casillas[33]); tablero.addEdge(casillas[33], casillas[34]); // Calle superior tablero.addEdge(casillas[8], casillas[35]); tablero.addEdge(casillas[35], casillas[36]); tablero.addEdge(casillas[36], casillas[37]); // Calle izquierda tablero.addEdge(casillas[16], casillas[38]); tablero.addEdge(casillas[38], casillas[39]); tablero.addEdge(casillas[39], casillas[40]); // Calle inferior tablero.addEdge(casillas[24], casillas[41]); tablero.addEdge(casillas[41], casillas[42]); tablero.addEdge(casillas[42], casillas[43]); // Casilla central tablero.addEdge(casillas[44], casillas[34]); tablero.addEdge(casillas[44], casillas[37]); tablero.addEdge(casillas[44], casillas[40]); tablero.addEdge(casillas[44], casillas[43]); return tablero; } }