Projektvorstellung: http://www.java-forum.org/thema/mein-eigenes-dorfbauspiel.173149/
Aktueller Stand des Projekts: komplette Überarbeitung aller Klassen hinsichtlich des Stils und der Funktionalität
Ich habe bei dem Versuch die eigentliche Dorf-"Hauptklasse" "Village" ( siehe aktuelle Version https://github.com/ToK-Gameteam/Time-of-Kings ) zu überarbeiten folgenden Fehler:
In der Methode:
Bei dieser Methode soll eine eingegebene Position mit denen verglichen werden, die bereits stehende Gebäude haben. Beim Laufen eines Testprogrammes, bei dem zuerst ein Sägewerk gebaut und anschließend bewegt wird, mit dem Debugger getestet (weil nicht funktioniert), ergab sich, das die Position des Sägewerks ebenfalls geändert hat, als die überprüfte Position geändert wurde. Als ersten Lösungsansatz habe ich versucht, die Position durch eine andere, in der Methode definierten zu ersetzen, weil die Position des Sägewerks ja direkt übergeben wird. Dies hat allerdings nicht geklappt. Hat jemand eine Idee woran diese Koppelung liegt?
Danke für jede Hilfe
@SupressWarnings
Aktueller Stand des Projekts: komplette Überarbeitung aller Klassen hinsichtlich des Stils und der Funktionalität
Ich habe bei dem Versuch die eigentliche Dorf-"Hauptklasse" "Village" ( siehe aktuelle Version https://github.com/ToK-Gameteam/Time-of-Kings ) zu überarbeiten folgenden Fehler:
In der Methode:
Java:
private Location checkLocation( Location location ){
Location checkLocation = location;
checkLocationOutOfField( checkLocation );
boolean locationUnique = false;
do{
boolean locationChanged = false;
for( int building = 0; building < 66; ++building ){
if( buildings[building] != null){
while( buildings[building].getLocation().equals(checkLocation) ){
System.err.println("An dieser Stelle steht bereits ein Gebaeude.");
System.out.println("Neue X-Koordinate (1 bis 40):");
checkLocation.setLocationX(enterInt());
System.out.println("Neue Y-Koordinate (1 bis 40):");
checkLocation.setLocationY(enterInt());
checkLocationOutOfField( checkLocation );
locationChanged = true;
}
}
}
if( !locationChanged ){
locationUnique = true;
}
}while( !locationUnique );
return checkLocation;
}
Bei dieser Methode soll eine eingegebene Position mit denen verglichen werden, die bereits stehende Gebäude haben. Beim Laufen eines Testprogrammes, bei dem zuerst ein Sägewerk gebaut und anschließend bewegt wird, mit dem Debugger getestet (weil nicht funktioniert), ergab sich, das die Position des Sägewerks ebenfalls geändert hat, als die überprüfte Position geändert wurde. Als ersten Lösungsansatz habe ich versucht, die Position durch eine andere, in der Methode definierten zu ersetzen, weil die Position des Sägewerks ja direkt übergeben wird. Dies hat allerdings nicht geklappt. Hat jemand eine Idee woran diese Koppelung liegt?
Danke für jede Hilfe
@SupressWarnings