Hallo,
var chars = new Array()
chars[0]=new Array(52,125,24,623,25,26,"gesichter_5_020.gif");
...
>
> Dabei in der Reihenfolge:
> aktuelle HP
> maximum HP
> aktuelle Exp
> maximum Exp
> Angriffskraft
> Verteidigungskraft
> Avatar
Ah, ich sehe schon, ein Array ist dafür Nonsens. Verwende ein eigenes Objekt mit Eigenschaften und Methoden.
Konstruktor:
~~~javascript
function Character (hp_aktuell, hp_max, exp_aktuell, exp_max, angriffskraft, verteidigungskraft, avatar) {
this.hp_aktuell = hp_aktuell;
this.hp_max = hp_max;
...
this.heal = function (wert) {
if (wert != "full") {
this.hp_aktuell += (this.hp_max - this.hp_aktuell < wert) ? hp_max - hp_aktuell : wert;
} else {
hp_aktuell = hp_max;
}
};
}
Nun. Wie muss ich die Funktion einbinden, damit diese über this zugriff auf das Array hat.
Du musst einen Prototyp, also die oben beschriebene Konstruktor-Funktion schaffen, die du dann intantiierst mit new Character(...):
var chars = new Array()
chars[chars.length] = new Character(52, 125, 24, 623, 25, 26, "gesichter_5_020.gif");
...
Heilen dann mit:
chars[0].heal(wert);
Mathias