Woher weiss ein Objekt, zu welchem anderen Objekt es gehört?

Status
Nicht offen für weitere Antworten.
K

Kanitrino

Bekanntes Mitglied
Hallo Experten,

Ich habe ein Java-Programm geschrieben, bei dem allerlei Männchen-Objekte über den Bildschirm rennen und miteinander in Interaktion treten (ein Beispiel ist zu sehen unter http://www.kanitrino.de/PageDE/Rempelei.html ). Es funktioniert zwar, ich möchte es aber gescheiter strukturieren.

Die Männchen-Objekte enthalten jeweils einen Array von Objekten, "geist[]" (das dient der Verknüpfung der Seiten des Spielfeldes - aber soweit möchte ich hier nicht ins Detail gehen).

Nun fragt jedes Männchen alle anderen ab, was z.B. die xy-Position seiner "Geister" ist und erklärt dann ggf. einen von diesen zu seinem Partner (den es z.B. angucken kann). Im weiteren Verlauf überprüft es dann, ob nicht ein anderer Geist desselben Männchens näher bei ihm selbst ist, also in etwa

for(int i=0; i<4; i++)
_if(abstand(selbst, anderer.geist) < abstand(selbst, selbst.partner)
__partner = geist;

Nun aber die Frage : Das abfragende Männchen kennt nur seinen eigenden Partner, z.B. anderer.geist[0]. Wie gelangt es dann von geist[0] zu geist[1] des anderen Männchens? Es müsste den Partner fragen "wer sind die anderen Geister des Männchens, zu dem Du gehörst ?" oder aber zumindest "zu welchem Männchen gehört Du ?"

Kann mir jemand einen Tipp geben, wie man so etwas am gescheitesten programmiert ?

mfg
Klaus
 
S

SlaterB

Gast
da sind dir die Wege völlig offen gestellt,
dumm wäre nun nur, eine ganze Liste von Männchen zu durchlaufen, und jeden zu fragen, ob der Geist zu ihm gehört,
oder ähnlich aufwändiges

dass der Geist sein Männchen kennt ist eine ganz normale Sache,
alternativ könntest du die Info auch extern vorhalten,
z.B. in einer Map Geist -> Männchen

genausogut könntest du die Männchen weglassen und (auf beide Weisen) direkt auf das Array der Geister verweisen,

nichts davon ist besonders gescheit oder nicht,
ohne Kontext kann man wenig sagen, in bestimmten Situationen macht alles Sinn
 
K

Kanitrino

Bekanntes Mitglied
SlaterB hat gesagt.:
dass der Geist sein Männchen kennt ist eine ganz normale Sache


Hier habe ich offenbar eine Wissenslücke.
Gibt es da ein Kommando analog zu "instanceof" ?
 
S

SlaterB

Gast
ne, das sind doch unterschiedliche Klassen?
zumindest wohl unterschiedliche Objekte, also nix wovon Java weiß

->
Info steckt in einer Exemplarvariable, die von dir gepflggt und abgefragt wird,

nicht normal durch Java-Handling sondern normale deine eigene Programmierung,
wie man sie überall einsetzt
 
K

Kanitrino

Bekanntes Mitglied
SlaterB hat gesagt.:
ne, das sind doch unterschiedliche Klassen?
zumindest wohl unterschiedliche Objekte, also nix wovon Java weiß

Es gibt also kein analoges Kommando wie etwa "objectof" oder so....


SlaterB hat gesagt.:
->
Info steckt in einer Exemplarvariable, die von dir gepflggt und abgefragt wird,

Ja, genau darauf bezog sich meine Frage.

Ich soll also z. B. eine Nummer in den Geist eingeben, die ihm ermöglicht, sein Männchen wiederzufinden ?
(Es ginge mir nämlich zu weit, das gesamte Männchen-Objekt als Parameter in seinen eigenen Geist zu stecken, damit der es kennt.)

Dann haut es aber nicht hin, den Index zu verwenden, den das Männchens in der ArrayList trägt, denn der ändert sich ja, wenn z.B. ein Männchen gelöscht wird.
(Andererseits könnte ich ja auch bei der Besetzung der ArrayList eigene Index-Nummern verwenden.)

Meinst Du das so ?
 
S

SlaterB

Gast
so meine ich das, und zwar das Objekt an Stelle des Indexes,
das nimmt auch nicht mehr Platz weg, ist nur eine Referenz, 4 Bytes,

ob man auf logischer Ebene so eine Verknüpfung haben will
ist natürlich eine berechtigte Frage
 
K

Kanitrino

Bekanntes Mitglied
SlaterB hat gesagt.:
so meine ich das, und zwar das Objekt an Stelle des Indexes,
das nimmt auch nicht mehr Platz weg, ist nur eine Referenz, 4 Bytes,

dann läuft es also hinaus auf z.B.

geist[0] = new Geist((Maennchen) this, x, y, .....)

?
 
S

SlaterB

Gast
oder
geist[0] = new Geist(this, x, y, .....)
oder später mit setXY() setzen,

aber ja, darauf läuft es hinaus, und bitte nicht alles einzeln fragen....
 
K

Kanitrino

Bekanntes Mitglied
Vielen Dank für Deine Hilfe !


SlaterB hat gesagt.:
..., und bitte nicht alles einzeln fragen....

:wink: .. manchmal hülfe schon ein wenig mehr Ausführlichkeit bei der Antwort... :wink:
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
W Suche Ursache für NPE - woher kommt sie? (Hilfe beim Debugging) Allgemeine Java-Themen 19
S Woher Sounds downloaden? Allgemeine Java-Themen 1
C Woher weiß Glasfish das? Allgemeine Java-Themen 3
A Compiler-Fehler Woher kommt der NullPointer? (Collections & Iterator) Allgemeine Java-Themen 7
D Fehler, woher kommt er? Allgemeine Java-Themen 9
J SQLException.getNextException; woher nehmen? Allgemeine Java-Themen 9
V JProgressbar, woher Prozentwerte? Allgemeine Java-Themen 2
F Woher bekomme ich "dlib" oder: Interpreter-Program Allgemeine Java-Themen 2
S [1/2done] Woher bekommt man libarys die es erst ab 1.6 gibt. Allgemeine Java-Themen 10
T Fehlersuche bzw. woher kommt diese ausgabe? Allgemeine Java-Themen 2
M toolbar symbole "selbstmalen" oder woher? Allgemeine Java-Themen 5
G woher installiertes JDK? (keine Adminrechte) Allgemeine Java-Themen 3
Z Woher bekomme ich Icon's? Allgemeine Java-Themen 2
P Woher weiß ein Programm wo seine Ressourcen sind? Allgemeine Java-Themen 4
S Intressante Benchmark-Ergebnisse mit Listen. Weiss jemand wie man diese erklaeren kann? Allgemeine Java-Themen 15
V Java-Programm weiss zur Laufzeit wie es gestartet wurde? Allgemeine Java-Themen 6
F Zugriff auf lokalen Rechner wer weiss Rat ? Allgemeine Java-Themen 16
R Umwandlung Farbe in Schwarz/Weiss Allgemeine Java-Themen 2
E Datentypen Wie kann ich die Längen der unterschiedlichen Ebenen aus einem Objekt lesen von dem ich weiß, dass es ein mehrdimensionaler Array ist? Allgemeine Java-Themen 3
H Objekt speichern und laden Allgemeine Java-Themen 1
H Objekt speichern und laden Allgemeine Java-Themen 1
J Objekt in Bytestream umwandeln Allgemeine Java-Themen 12
J Wie kann ich von Vornherrein einen Fokus auf ein Objekt entfernen? Allgemeine Java-Themen 3
J Information von getSource() Objekt auslesen Allgemeine Java-Themen 1
Drachenbauer Wie stelle ich fest, ob ein Objekt in meinem Array vorkommt? Allgemeine Java-Themen 5
S Variable als Objekt Name Allgemeine Java-Themen 3
D Input/Output Zwischen zwei ID-Räumen unterscheiden und Objekt löschen Allgemeine Java-Themen 16
L Objekt aus Objekt-array "löschen" Allgemeine Java-Themen 2
T Objekt mit String und Int aus TxT Datei erstellen Allgemeine Java-Themen 23
T Objekt in Array packen Allgemeine Java-Themen 6
K Methodenaufruf mit String / String zu Objekt konvertieren Allgemeine Java-Themen 8
S Neues Objekt darstellen Allgemeine Java-Themen 4
J Best Practice Objekt an alle Klassen verteilen ( Discord Bot ) Allgemeine Java-Themen 7
D Objekt-Suche mit mehreren optionalen Parametern Allgemeine Java-Themen 6
M Klassen Objekt weiter geben Allgemeine Java-Themen 1
B Klassen Objekt erzeugen und Konstruktor aufrufen - Welche Lösung ist besser? Allgemeine Java-Themen 2
L Variablen Eigenes Objekt wie z.B. einen Integer zuweisen Allgemeine Java-Themen 3
D Konstruktor - jedes Objekt einzeln erzeugen - alternative? Allgemeine Java-Themen 8
S Applet Überprüfen ob ein Objekt angeklickt wurde Allgemeine Java-Themen 2
RalleYTN 3D Objekt Translation basierend auf Rotation (Probleme mit Z Rotation) Allgemeine Java-Themen 0
B Von String zu <Objekt> ||Speichern/Laden Allgemeine Java-Themen 17
G Neues Objekt aus List<JsonObject> mit Stream Allgemeine Java-Themen 4
P Threads Objekt im Konstruktor anders wie im Run()-Block Allgemeine Java-Themen 10
R Objekt funktioniert nicht auf iOS Allgemeine Java-Themen 15
K Textdatei als Objekt Allgemeine Java-Themen 4
Viktim Classenname zu Objekt Allgemeine Java-Themen 4
P Entity Objekt Methoden vs Service methoden Allgemeine Java-Themen 2
D Datentypen Klassenattribut aus Objekt in generischer Liste Allgemeine Java-Themen 15
O Klassen Bruch im gleichen Objekt Speichern Allgemeine Java-Themen 1
P Liste zu Objekt umwandeln Allgemeine Java-Themen 4
C Liste checken auf MINDESTENS ein Objekt | Bukkit Allgemeine Java-Themen 3
K Best Practice JFrame Objekt allgemein zugänglich machen Allgemeine Java-Themen 8
B ArrayList in ein Objekt legen Allgemeine Java-Themen 1
D Objekt entlang eines Funktionsgraphens bewegen Allgemeine Java-Themen 6
M Objekt serialisieren/deserialisieren und in einer SQLite-Datenbank speichern Allgemeine Java-Themen 3
D Java Objekt als Service in Runtime registrieren Allgemeine Java-Themen 1
S Interaktion mit einer website (website als Objekt?) Allgemeine Java-Themen 3
J OOP Überwachen, ob ein Objekt erzeugt wird Allgemeine Java-Themen 9
S Byte Array welches in Laufzeit aufgelöst wird // Objekt Array Allgemeine Java-Themen 3
Thallius Hash über serialisiertes Objekt? Allgemeine Java-Themen 3
Developer_X Input/Output Serialisiertes Objekt speichern und laden Allgemeine Java-Themen 1
C Generics Objekt in ArrayList Allgemeine Java-Themen 2
L Klassen Konstruktor soll Objekt anderer Klasse erzeugen Allgemeine Java-Themen 2
F Neues Objekt aus .CSV definition Allgemeine Java-Themen 3
K Methoden Objekt wird nicht erkannt Allgemeine Java-Themen 11
P Objekt mit verschiedenen Datentypen Allgemeine Java-Themen 5
T Objekt kontaktiert seinen "erzeuger" Allgemeine Java-Themen 5
S Objekt orientierte Programmierung Allgemeine Java-Themen 7
C Objekt Datenverlust nach Methodenaufruf Allgemeine Java-Themen 9
H JavaFX Von einer Methode auf stage-Objekt zugreifen Allgemeine Java-Themen 3
T WeakReference/PhantomReference: Mitbekommen WELCHES Objekt nun GC'ed wird Allgemeine Java-Themen 2
T Class-Objekt mit URLClassloader Allgemeine Java-Themen 7
P Konsoleneingabe übernehmen und Objekt instanzieren. Allgemeine Java-Themen 5
E Auf Java-Objekt aus anderer Instanz zugreifen Allgemeine Java-Themen 26
L Klassen Polymorphie:2 Attribute gleichen Namens in einem Objekt Allgemeine Java-Themen 6
P Objekt Array in Datei Speichern Allgemeine Java-Themen 3
F Dynamisch ein Objekt einer bestimmten Subklasse erstellen Allgemeine Java-Themen 7
D Player Objekt - Frame über Server anzeigen lassen. Allgemeine Java-Themen 3
V Objekt löschen Allgemeine Java-Themen 7
A OOP Wie auf Objekt der Superklasse zugreifen? Allgemeine Java-Themen 6
S Datei in File-Objekt mit UTF-8 einlesen Allgemeine Java-Themen 2
M neues Objekt speichern, nicht Referenz Allgemeine Java-Themen 10
B synchronisierter zugriff auf Objekt Allgemeine Java-Themen 6
F Objekt einer Datei verschieben, aber Verzeichnispfad fehlt Allgemeine Java-Themen 6
C Objekt Typ herausfinden Allgemeine Java-Themen 5
E Objekt beim Erzeugen in ArrayList Allgemeine Java-Themen 9
M Objekt prüfen auf null ->Invocation Target Exception??? Allgemeine Java-Themen 2
M Objekt aus Liste in Liste suchen/löschen Allgemeine Java-Themen 6
D Eigenen Objekt Pool Allgemeine Java-Themen 15
C blueJ: Objekt wird nicht in Objektleiste angezeigt Allgemeine Java-Themen 4
T Objekt 2x deserialisieren, aber nur 1x im Heap haben? Allgemeine Java-Themen 4
sambalmueslie Benachrichtigung bei neuer Objekt-Instanz Allgemeine Java-Themen 5
U Konstante in Objekt definieren Allgemeine Java-Themen 6
D this mit Objekt überschreiben Allgemeine Java-Themen 17
R Synchronized - auf welchem Objekt Allgemeine Java-Themen 16
E Objekt erstellen Allgemeine Java-Themen 7
M Timer von nicht existiertem Objekt stopen Allgemeine Java-Themen 5
M Swing-Frontend abhängig von ausgewähltem Objekt Allgemeine Java-Themen 4
J Lebt das Objekt noch?? Allgemeine Java-Themen 12
K Objekt einer konkreten Implementierung eines Interfaces durch übergebenen String Allgemeine Java-Themen 2

Ähnliche Java Themen

Anzeige

Neue Themen


Oben