Heyja, ich danke schon mal für jede Hilfe.
Angenommen wir programmieren ein Schachbrett (oder etwas vergleichbares):
Ein erstes, naives Bewegen der Figuren (grafisch) habe ich schon geschrieben. Dabei ist es so, dass alle Figuren gelöscht und danach neu gesetzt werden (group = null und danach wieder befüllen). Offensichtlich, dass das nicht effizient ist.
Es geht also nun darum: Wie kann ich gezielt (über x,y-Koordinaten) ein Rectangle aus einer Group effizient löschen?
Die remove Methoden (remove(Object), remove(Index)) sind mir bekannt.
Beim Ersten ist mein Problem, dass ich so alle Rectangles in einem Array verwalten müsste, um das richtige Rectangle z.b. auf Feld 5 5 löschen zu können.
Gibt es etwas effizienteres als das Array? Da ich ja schon eins auf dem Server erstellen muss, um die Figuren "physisch" (nicht grafisch) zu verwalten (Server verwaltet also die tatsächlichen Einheiten und der Client nur die Bildchen).
Beim Zweiten ist mein Problem, dass die Indizes nicht eindeutig durch eine Funktion errechnet werden können (wenn das Rectangle x = E, y = Z angesprochen wird dann FUNK E Z = i also muss ich das Rectangle mit Index i löschen).
Oder gibt es vielleicht doch eine Möglichkeit einfach anhand der X und Y Koordinate das zugeordnete Rectangle zu finden?
Da ich noch nicht wirklich mit JavaFX gearbeitet habe, und auch sonst nicht visuell, mag es auch sein, dass die Wahl von Group unglücklich ist.
Über jeden Tipp würde ich mich sehr freuen.
Falls das Problem unzureichend beschrieben wurde: Fragt bitte und ich werde es näher erläutern.
mfg Natan
Noch ein bisschen mehr Erläuterung zur Idee:
-Server-
Control verwaltet ein zwei dimensionales Array von 2er-Tuplen, welche Feld-Art und Art der Figur verwaltet.
Wenn eine Bewegung innerhalb dieses Arrays geschieht, sollte es sich auch im Client bemerkbar machen.
-Client-
Soll, soweit möglich, nur grafische Aufgaben übernehmen (Darstellung).
Angenommen wir programmieren ein Schachbrett (oder etwas vergleichbares):
Ein erstes, naives Bewegen der Figuren (grafisch) habe ich schon geschrieben. Dabei ist es so, dass alle Figuren gelöscht und danach neu gesetzt werden (group = null und danach wieder befüllen). Offensichtlich, dass das nicht effizient ist.
Es geht also nun darum: Wie kann ich gezielt (über x,y-Koordinaten) ein Rectangle aus einer Group effizient löschen?
Die remove Methoden (remove(Object), remove(Index)) sind mir bekannt.
Beim Ersten ist mein Problem, dass ich so alle Rectangles in einem Array verwalten müsste, um das richtige Rectangle z.b. auf Feld 5 5 löschen zu können.
Gibt es etwas effizienteres als das Array? Da ich ja schon eins auf dem Server erstellen muss, um die Figuren "physisch" (nicht grafisch) zu verwalten (Server verwaltet also die tatsächlichen Einheiten und der Client nur die Bildchen).
Beim Zweiten ist mein Problem, dass die Indizes nicht eindeutig durch eine Funktion errechnet werden können (wenn das Rectangle x = E, y = Z angesprochen wird dann FUNK E Z = i also muss ich das Rectangle mit Index i löschen).
Oder gibt es vielleicht doch eine Möglichkeit einfach anhand der X und Y Koordinate das zugeordnete Rectangle zu finden?
Da ich noch nicht wirklich mit JavaFX gearbeitet habe, und auch sonst nicht visuell, mag es auch sein, dass die Wahl von Group unglücklich ist.
Über jeden Tipp würde ich mich sehr freuen.
Falls das Problem unzureichend beschrieben wurde: Fragt bitte und ich werde es näher erläutern.
mfg Natan
Noch ein bisschen mehr Erläuterung zur Idee:
-Server-
Control verwaltet ein zwei dimensionales Array von 2er-Tuplen, welche Feld-Art und Art der Figur verwaltet.
Wenn eine Bewegung innerhalb dieses Arrays geschieht, sollte es sich auch im Client bemerkbar machen.
-Client-
Soll, soweit möglich, nur grafische Aufgaben übernehmen (Darstellung).
Zuletzt bearbeitet: