Hey,
ich hab mal wieder ein kleines Problemchen und kann mir nicht selber weiterhelfen:
ich schreib grad ein Schachprogramm. Jetzt möchte ich eine Art Baum schreiben. Dieser soll Knoten haben, die Stellungen bzw Schfelder speichern. Das möchte ich möglichst allgemein machen, um die Möglichkeit zu haben verschiedene Schachfelder zu benutzen. Jedes Schachfeld ist abgeleitet von einer abstracten Klasse (SchachFeld).
Nun sieht mein Code für die Knoten der Baumklasse so aus:
public class SchachKnoten < SF extends SchachFeld >{
private SF feld;
private int[] zug;
private SchachKnoten[] kinder;
private SchachKnoten vater;
public SchachKnoten() {
//...
}
public SchachKnoten(SchachKnoten note, int[] move) {
SF copy=new SF(note.getFeld()); // <--hier ist das Problem
this.feld=copy.ziehe(move);
}
public SF getFeld() {
return this.feld;
}
}
Gibt es eine Möglichkeit FS zu konstruieren? An sich ist ja sichergestellt, dass ich das kann. Oder wie kann ich sonst mein Problem lösen?
Bin dankbar für jeden Gedanken
ich hab mal wieder ein kleines Problemchen und kann mir nicht selber weiterhelfen:
ich schreib grad ein Schachprogramm. Jetzt möchte ich eine Art Baum schreiben. Dieser soll Knoten haben, die Stellungen bzw Schfelder speichern. Das möchte ich möglichst allgemein machen, um die Möglichkeit zu haben verschiedene Schachfelder zu benutzen. Jedes Schachfeld ist abgeleitet von einer abstracten Klasse (SchachFeld).
Nun sieht mein Code für die Knoten der Baumklasse so aus:
public class SchachKnoten < SF extends SchachFeld >{
private SF feld;
private int[] zug;
private SchachKnoten[] kinder;
private SchachKnoten vater;
public SchachKnoten() {
//...
}
public SchachKnoten(SchachKnoten note, int[] move) {
SF copy=new SF(note.getFeld()); // <--hier ist das Problem
this.feld=copy.ziehe(move);
}
public SF getFeld() {
return this.feld;
}
}
Gibt es eine Möglichkeit FS zu konstruieren? An sich ist ja sichergestellt, dass ich das kann. Oder wie kann ich sonst mein Problem lösen?
Bin dankbar für jeden Gedanken