[QUOTE=FranzFerdinand]Und Stuhl:
public class Stuhl {
private Gastkarte gast;
private Tisch tisch;
public Stuhl(Gastkarte gast) {
this.gast = gast;
}
public void addToTisch(Tisch tisch){
this.tisch = tisch;
}
public String toString(){
return gast + "";
}
public void addGast(Gastkarte gast){
if(this.gast == null){
this.gast = gast;
} else {
System.err.println("Der Stuhl ist bereits belegt!");
}
}
}```[/QUOTE]
Ich hatte ja im Post [#52](http://forum.byte-welt.net/sonstiges/hausaufgaben/13445-caf%C3%A9-international-theoriensammlung-3.html#post107037) schon mal darauf hingewiesen, dass wenn ein Stuhl "seine" Tische kennen soll, die Klasse eine Liste für Tische ( wie die Klasse Tisch eine Liste für Stühle ) benötigt. Eine Instanzvariable `private Tisch tisch` nutzt hier gar nichts.
[QUOTE=FranzFerdinand;107515]
Was den Rest von cmrudolphs Idee angeht:
```for (int i = 0; i < 12; i++) {
Tisch tisch = tische.get(i);
Tisch naechsterTisch = tische.get((i + 1) % 12);
Tisch letzterTisch = tische.get((i + 11) % 12);
...
}```
Ich verstehe Deine Idee mit den Ecktischen und sowas, gefällt mir sehr gut! :)
Aber mein Javaquelltext ...[/QUOTE]
Die Idee ist ganz nett, übersteigt aber aktuell scheinbar Dein Verständnis. Ich an Deiner Stelle würde darauf verzichten und jeden Stuhl bewusst seinen Tischen zuordnen.
1. da diese Lösung nur für diese Art von Layout gilt ( die Brettspielvariante hat ein ganz anderes Layout)
2. Du für die spätere User Interaktion ohnehin etwas benötigst damit Du Mausklicks bzw. die Mausposition einem Stuhl zuordnen kannst
Letzteres könnte man sicher auch noch in den Algorithmus integrieren, allerdings müsstest Du das dann blind und ohne es zu verstehen übernehmen. Könntest es im worst case Deinem Lehrer nicht erklären.