Hey, man nehme an, man programmiere eine Schachengine.
Um ein "Ziehen" möglich zu machen, würde ich eine Calculatorklasse mit einem Spielfeld(Board) als Attribut erstellen.
Dann würde ich diesen Calculator(zunächst in festgelegte Tiefe) nach allen anderen möglichen Spielfelder suchen lassen.
Ein Spielfeld wäre aber immer das selbe Spielfeld davor mit einer Veränderung(durch Zug)
Das Problem ist, dass ein von mir erstelltes:
Spielfeld.clone() viel zu viel Rechenkraft in den Sand setzen würde. Die AI soll das Spielfeld von meinem Zwischenspeicher kopieren, das ist nicht so wenn ich Schreibe:
Um ein "Ziehen" möglich zu machen, würde ich eine Calculatorklasse mit einem Spielfeld(Board) als Attribut erstellen.
Dann würde ich diesen Calculator(zunächst in festgelegte Tiefe) nach allen anderen möglichen Spielfelder suchen lassen.
Ein Spielfeld wäre aber immer das selbe Spielfeld davor mit einer Veränderung(durch Zug)
Das Problem ist, dass ein von mir erstelltes:
Spielfeld.clone() viel zu viel Rechenkraft in den Sand setzen würde. Die AI soll das Spielfeld von meinem Zwischenspeicher kopieren, das ist nicht so wenn ich Schreibe:
Java:
public Board copy{
Board b = new Board();
b.setzte64Feldbeschreibungen(); // Ein Feld trägt Wert Figur. Figur trägt Werte:
//boolean farbe;
// Integer FigurID.
//Ein Brett hat 64 Felder
return b;
}