Hallo,
ich hoffe das ist das richtige Forum hierfür. Ich bin gerade dabei für mein RPG die Charakterverwaltung ein wenig zu optimieren. Ich habe hier nun eine Klasse Character mit den üblichen Werten (HP. Mana, Schaden usw).
Ich erstelle am Anfang für meine 6 Chars jeweilige Unterklassen, also z.B...
Character Char1 = new Character();
ich kann nun mit Char1.HP den aktuellen Wert der Lebenspunkte des Chars hinterlegen. Nun aber meine Frage:
Gibt es eine einfache Möglichkeit, auf die entsprechende Unterlasse per Variable zuzugreifen?
Beispiel: Angriff auf Char 4 (die Variable iAttackedPlayer ist in dem Fall 4). Ich müsste momentan alle Chars durchgehen und enstprechen prüfen...
if (iAttackedPlayer==4) Char4.HP = Char4.HP - iSchaden;
Besser wäre natürlich:
DasWasIchSuche(iAttackedPlayer).HP = DasWasIchSuche(iAttackedPlayer).HP - iSchaden
Habe es schonmal mit einem Dictionary versucht
|
C#-Quelltext
|
1
2
|
Dictionary<int, object> diChars = new Dictionary<int, object>();
diChars.Add(1, Char1);
|
Ich kann dann aber leider nicht via
|
C#-Quelltext
|
1
|
diChars[1].Das was ich will
|
auf die Werte zugreifen
Kann mir da jemand auf die Sprünge helfen?
Gruß