...
La class Main de JBotSim devrait ressembler à ceci:
import io.jbotsim.core.Topology; import io.jbotsim.core.Node; import io.jbotsim.ui.JTopology; import io.jbotsim.ui.JViewer; public class Main { public static int n; // n = nombre de sommets public static void main(String[] args) { Topology T = new Topology(680,540); // fenêtre de w x h pixels T.setDefaultNodeModel(DetectC34.class); // algo des sommets = ColoringNode String s = T.getFileManager().read("grille-2x7"); // lecture du fichier T.getSerializer().importFromString(T,s); // initialisation du graphe T.shuffleNodeIds(); // permutation des IDs dans [0,n[ // initialisation de n n = T.getNodes().size(); // fixe n pour tous les sommets DetectC34.n = n; JTopology J = new JTopology(T); new JViewer(J); // dessine la topologie T.start(); // démarre l'aglorithme T.pause(); // mode pas-à-pas } }
...
import io.jbotsim.core.Color; import io.jbotsim.core.Node; public class DetectC34 extends Node { public static int n; // constante commune à tous les sommets @Override // au départ public void onStart() { setColor(Color.getColorAt(getID())); // couleur = ID ... // ne pas oublier d'envoyer un premier message } @Override // à chaque top horloge public void onClock() { ... } }
...