Einzelnen Beitrag anzeigen
Ungelesen 13.10.12, 22:42   #2
d03jo4n
OS X'ler
 
Benutzerbild von d03jo4n
 
Registriert seit: Aug 2012
Ort: /dev/random
Beiträge: 40
Bedankt: 8
d03jo4n ist noch neu hier! | 0 Respekt Punkte
Standard

Das ganze könntest du rekursiv lösen.
Dafür solltest du beim repaint auf jeden Fall double buffering verwenden.

In der rekursiven Methode solltest du
  • entscheiden, wie geteilt wird (horizontal/vertikal) und
  • die Breite eines Feldes ermitteln (Zufall) und die andere bestimmen

Danach rufst du die Methode dann rekursiv für jedes Teilrechteck auf.
Dafür kannst du die von dir geschriebene Klasse Rectangle verwenden.
Die rekursive Methode könnte also zum Beispiel folgende Signatur haben:

Code:
protected void split(Rectangle rect)
Wichtig: Du brauchst eine Verschachtelungstiefe, damit das ganze nicht endlos läuft!
d03jo4n ist offline   Mit Zitat antworten