R.D. es bringt ihm nicht sehr viel wenn du nochmal diesselbe Erklärung postest von der er schon sagte er versteht sie nicht.
Versuchen wir es mal so:
Stell dir vor du hast in deinem Spiel 8 Helden. Jeder von ihnen hat 4 Werte die zu ihm gehören. HP , maximale HP , MP und maximale MP. Das heisst also du hast ingesamt 32 Werte. Soweit, so gut.
Nun stell dir vor du willst eine Schadensberechnung schreiben.
Die sieht simpel so aus:
Sehr schön. Es wird also von der HP von Held1 die Zahl 100 abgezogen. Das ist nun die neue Helden HP. Nur...was ist wenn wir nun wollen das die HP von Held2 um 100 gesenkt wird, da das Monster ihn getroffen hat. Hm, nur wie das im Code umsetzen? Wohl so:
Das ist nur der Code für 3 Helden. Damit das da klappen kann, müssen wir uns eine Variable schnappen. Die HeldAuswahl. Die Nummer die darin steht ist die Nummer des Heldens von dem wir die HP abziehen wollen. Das ist wie man sieht ziemlich umständlich. Stell dir vor allem mal vor man muss das mit 10 Helden machen. Und dann fehlt ja noch etwas was die MP abzieht wenn Zauber genutzt werden. Wie zuviel Aufwand.
Und eben für diesen Zweck gibt es Pointer. Jede Variable hat eine eigene Adresse. Wie du jedes Haus eine eigene Hausnummer hat.
Gehen wir also nun davon aus das die Variablen unserer Helden so liegen:
Gut. Nun wollen wir wieder die HP abziehen.
Wir müssen uns die Adresse des Pointers errechnen. Das machen wir wie folgt:
Also machen wir simpel:
Und ohne Erklärungen ist das:
Wie du siehst, viel weniger als mit der Methode vorher. Und vorallem klappt das egal wieviele Helden man nun benutzen würde.