Spielfelde erstellen & via Brute-Force jedes Feld aktivieren

user.src

Mitglied
Hi,

ich stehe vor einer Aufgabenstellung,dessen Umsetzung mit bereits im Ansatz Probleme bereitet,
da mir einfach Erfahrung fehlt, um effizient auf einen Loesungsweg zu kommen.
Daher hoffe ich, hier ein wenig Anregungen/Tipps zu finden.

Folgendes:
Ich moechte dynamisch ein Spielfeld erstellen und danach mittels eines Algorhythmus alle Spielfeld
mit einer gerade Linie, die an den Raendern reflektiert wird, aktivieren/ansprechen. Via Brute-Force
soll dabei der Loesungsweg ermittelt werden und dann grafisch ausgegeben werden.

Die Herangehensweise macht mir dabei jedoch Kopfschmerzen.
Ich denke, ich benoetige die Rectangle-Klasse, um ein Spielfeld erstellen zu koennen.
Nur wie definiere ich Punkte, die "relfektieren"? Im Javadoc finde ich keine Infos bzgl. Rectangle,
dass ich jeweils Eckpunkte des Rechtecks ermitteln kann und ueberhaupt.
Ein gewisser Ablaufplan, wie ich vorgehen koennte, fehlt mir einfach gaenzlich.

Ich selbst wuerde erst einmal versuchen, ein Spielfeld dynamisch ueber ein mehrdimensionales Array
zu erstellen. Wobei jeder Array-Index mit einem Objekt "Feld" initialisiert wird.
Feld sollte dann bereits ueber "Reflektoren" verfuegen, die ich spaeter ansprechen kann.
Waere das ein Ansatz oder befinde ich mich damit schon im Nirgendwo?

Diesbzgl. waere ich echt dankbar, wenn ihr mir da ein wenig auf die Spruenge helfen koenntet. Danke 🙂
 
Zuletzt bearbeitet:
Feld ist gut. Aber kann jedes Feld reflektieren, oder nur die, die sich am Rand befinden?
Das könnte eine Bedingung sein, die du prüfen musst.
Brute force brauchst du auch nicht, sondern Hirn.
Du schickst einem Strahl los, und brauchst nur bei den jeweils in StrahlRichtung liegenden Felder prüfen, ob sie getroffen werden und ob sie reflektierend sind
 
Nur die, die sich am Rand befinden. Jedes Feld am Rand hat dabei zwei Spiegel.
Ich habs mal versucht zu skizzieren:

wa47hUHH3ow1.png


Die roten Punkte sind dabei Reflektoren. Ein Strahl schicke ich von 0, 0 los und moechte, dass dieser jedes Spielfeld mind. einmal
durchlaeuft, so das alle Felder abgedeckt sind, bis - ja bis auf - das blaue. Das stellt ein Block da, der nicht zu durchdringen ist.
Diese Bloecke sollen spaeter dynamisch festgelegt werden koennen und das Programm soll jedes mal einen Weg fuer den Strahl
finden, um alle anderen Felder abzudecken.
Bedingung ist noch, dass der Strahl nicht an der Wand entlang wandern darf. Bspw. von 0,0 zu 200,0 (wenn man von einer Feldgr.
von 50x50 ausgeht).
 

Neue Themen


Zurück
Oben