Hi,
ich programmiere gerade ein Spiel und muss dafuer folgendes Problem am effizientesten Loesen. Ein grosser Teil der Effizienz ist Zeit das Ergebnis zu bekommen ein weiterer Teil ist die Qualitaet des Ergebnisses.
Ich erklaere mal das Problem und nicht das Spiel selbst.
Ich habe ein Spielfeld mit 1000x1000 Quadraten gleicher Groesse.
Nun habe ich Objekte unterschiedlichster Form, die jedoch auch als Quadrate beschrieben werden koennen.
Das erste Objekte wird in der Mitte des Spielfelds platziert. Das zweite und alle darauffolgenden Objekte sollen nun so platziert werden dass sie
1. moeglichst Nahe am Mittelpunkt sind und
2. sie duerfen kein Quadrat bedecken das bereits von einem anderen Objekt bedeckt ist.
Bisher habe ich recht dumm die Objekte ein bischen weitergeschoben und geschaut ob sie mit einem anderen Objekt ueberlappen. Wenn nicht kommt das Objekt zum liegen und das naechste Objekt wird getestet.
Ich habe mich gefragt ob das nicht effizienter geht. Im Grunde genommen kennt man das ganze Spielfeld. Man weiss welches Quadrat belegt ist und welches frei ist. Gibt es eine Methode um direkt (ohne Ausprobieren) zu sagen, wo sich die dem Mittelpunkt am naehesten freie Flaeche befindet in die, ein ObjektX (5430 Quadraten mit bekannter Form), passt?
Danke,
sb
ich programmiere gerade ein Spiel und muss dafuer folgendes Problem am effizientesten Loesen. Ein grosser Teil der Effizienz ist Zeit das Ergebnis zu bekommen ein weiterer Teil ist die Qualitaet des Ergebnisses.
Ich erklaere mal das Problem und nicht das Spiel selbst.
Ich habe ein Spielfeld mit 1000x1000 Quadraten gleicher Groesse.
Nun habe ich Objekte unterschiedlichster Form, die jedoch auch als Quadrate beschrieben werden koennen.
Das erste Objekte wird in der Mitte des Spielfelds platziert. Das zweite und alle darauffolgenden Objekte sollen nun so platziert werden dass sie
1. moeglichst Nahe am Mittelpunkt sind und
2. sie duerfen kein Quadrat bedecken das bereits von einem anderen Objekt bedeckt ist.
Bisher habe ich recht dumm die Objekte ein bischen weitergeschoben und geschaut ob sie mit einem anderen Objekt ueberlappen. Wenn nicht kommt das Objekt zum liegen und das naechste Objekt wird getestet.
Ich habe mich gefragt ob das nicht effizienter geht. Im Grunde genommen kennt man das ganze Spielfeld. Man weiss welches Quadrat belegt ist und welches frei ist. Gibt es eine Methode um direkt (ohne Ausprobieren) zu sagen, wo sich die dem Mittelpunkt am naehesten freie Flaeche befindet in die, ein ObjektX (5430 Quadraten mit bekannter Form), passt?
Danke,
sb