Pokemon Attacken unterscheiden

Xym

Erfahrenes Mitglied
Hallo zusammen,

ich bin gerade dabei, eine eigene Pokemon Edition als Android App zu programmieren und bin mir nicht sicher, wie ich die ganzen verschienden Attacke realisieren soll.
Im Moment habe ich nur eine Klasse Attacken. Dort wird halt die Stärke gespeichert und es gibt eine Funktion für den Angriff, in der nach einer Formel der Schaden berechnet wird, die das andere Pokemon erleided.

Das Problem ist jetzt, dass es viele verschiedene Attacken gibt. Welche die nur Schaden austeilen, manche steigen / schwächen Verteidigung, Angriff, manche brauchen 2 Runden usw...

Einzige Lösung die ich hatte, wäre für jede Attacke eine Klasse zu erstellen, die von der "Haupt"-Klasse Attacke erbt und dann in der Angriffsmethode die einzelheiten dort zu beschreiben. Aber mein Bedenken ist dabei, dass ich dann eine riesige Menge an verschiedenen Klassen habe..

Jetzt ist meine Frage, ob es so schlimm, wenn man eine solch riesige Menge an Klassen hat, oder wie man das besser hinbekommt.
 
Eine solche riesige Menge an Klassen ist zwar nicht schlimm, allerdings unnötig. Man kann lieber versuchen das zu verallgemeinern.
Klasse Attacke: Schaden; Typ; Art; Statusmanipulation[][], TrefferW'keit, Zeit, Animation
Schaden und TrefferW'keit sind selbsterklärend. Typ steht für Feuer/Wasser/Käfer etc. Art wäre physisch oder spezial. Statusmanipulation wäre ein 2D Array, z.B. wie folgt.
[0] -> {STATUS_ATT, -1}
[1] -> {STATUS_DEF, -1}
In Animation könntest du dann den Pfad zu einer Animation speichern. Zeit ist die Anzahl an Runden die gewartet wird (0 für sofort, 1 für die Runde danach, etc).
 
Zurück