Voila ce que j´en pense
public class Chemins {
private int dim;
private boolean [][] arrows;
public State target;
public State initial;
public Succ succ;
public Chemins(int dim, int extremite) {
this.dim = dim;
arrows = initGraph(dim);
target = new State(extremite);
initial = new State(0);
succ = new Succ();
}
public Chemins(int dim, int origine, int extremite) {
this(dim,extremite);
this.initial = new State ( origine);
}
public State initialState() {
return initial;
}
private boolean[][] initGraph(int d)
{
new boolean[d][d];
}
public void ajouterArc(int i,int j) {
arrows[i][j] = true;
}
private void setTarget(int i) {
target.index = i;
}
private void setInitial(int i) {
initial.index = i;
}
public class State implements GameGraph.State
{
int index i;
String infoNodal;
public State(int i)
{
this(i,NULL);
}
public State(int i, Object infoNodal)
{
this.index = i;
this.infoNodal = infoNodal;
}
public boolean gagnant()
{
return target.equals(infoNodal);
}
public boolean equals(State s)
{
return s.index == this.index;
}
}
private ArrayList succ ( State s) {
ArrayList res;
int ligne = s.index;
for ( int j=0; j< this.dim;j++)
if(arrows[ligne][j])
{
State s=new State();
}
}
public class Succ implements GameGraph.Succ
{
public Iterator stateIterator(GameGraph.State s)
{
return succ((State) s).iterator();
}
}
}