So, vielen Dank für die detailierte Erklärung, das ist wirklich sehr lieb.
Ich habe in einem C++-Buch, das schon ewig ungelesen in meinem Schrnak steht etwas über structs erfahren wollen, aber da stand nicht viel drin, da sind wohl zwei "+" zu viel im Titel laugh
Mal in der Unibibo schaun, wenn ich wieder am Studienort bin.
toller Workshop von HeelX hab ich noch gefunden, da werden auch structs etwas behandelt, das werde ich mir, sobald mein Besuch gekommen und wieder abgezischt ist, zu Gemüte führen ;-)

Tut mir leid, dass ich das Forum zu zumülle, aber ich hab noch ein paar Verständnissfragen tongue

- Wenn aus der Kiste (sagen wir mal) 5 Tomaten fallen, dann erzeuge ich ja diese mit hilfe des structs:
Objekt* Tomate = malloc(sizeof(Object));
// und dann die einzelnen Daten zuweisen
und mein Gehirnwindungsproblem ist jetzt, dass ich 5 "virtuelle" Objekte habe, die aber alle den selben Pointer "Tomate" haben. Und das beisst sich bei mir im Kopf mit dem pointer "player", der ja nur auf ein Entity gesetzt werden kann. Soweit ich das jetzt verstanden habe, sind das ja aber 2 Paar Stiefel (Struct-Pointer und Entity-Pointer).
Doch per structs lassen sich doch neue Engine-objekte (wie z.B Strings) erstellen - und 2 gleiche stringnamen sind ja auch nicht möglich - warum also bei denn Ojekten "Tomate"?

- zweites Problem:
Quote:
Wenn du außerhalb von bestimmten Events (wie z.B. mausklick o.ä.) auf die Entities zugreifen willst, musst du die Struktur noch in einem Container abspeichern (wie vorher angesprochen von HeelX in einer Liste, in einem Vektor oder was auch immer).

Nehmen wir an, der Spieler klickt auf eine Tomate nach der anderen, um sie in sein Obstkörbchen zu packen.
Kann ich da so herangehen, dass ich ein Variable "Maus_gegenstands_ID" erstelle.
Wenn nun der Spieler auf eine Tomate klickt, sucht sie in ihrem Klick-Event in dieser verketteten Liste nach ihrem Struct und kopiert dann die ID-Nummer des Objektes (die beim Truhenöffnen den einzelnen Tomaten per Zufall zugewiesen wurde) in die Variable "Maus_gegenstands_ID".
Wenn nun der Spieler in einen seiner Obstkörbchenplätze klickt, wird diese Nummer in ein Array kopiert, der das Obstkörpchen repräsentiert.
Würde das so funktionieren?

Ich habe mir heute mittag bei der Gartenarbeit eine andere Variante überlegt: Der Gegenstand wird durch eine ID-Nummer repräsentiert.
jede Eigenschaft des Objektes entspricht einer oder mehreren Dezimalstellen. Per if-Anweisungen wird dann die ID zerlegt und nachgeschaut z.B. welche Nummer bei der Dezimalen für das Modell steht - entsprechend der Nummer wird dann das jeweilige Modell erstellt. Eine andere Nummer steht für das 2D-Sprite im Inventar. Eine andere Nummer für den minimalen Schaden, eine andere für den maximalen Schaden, ...
Da die Gegenstände etwas komplexer sind, komme ich auf 16-18 Dezimalstellen. Ich habe aber das Gefühl, dass diese Variante von Vorgestern ist, denn: Sie würde funktionieren, ist aber ziemlich aufwenig, wenn man sich die Menge an Schreibarbeit vorstellt, die benötigt wird, um die einzelnen Nummern in if-Abfragen den versch. Modellen, Sprites, Eigenschaften der Objekten zuzuweisen.
Da du die struct-Sachen ja recht gut durchschaust, könntest du mir vielleicht einen Tipp geben, welche Variante die geschicktere wäre?

Last edited by JoGa; 09/17/11 15:14.