ich bin gerade drann ein kleines Rundenbasiertes Textgame zu schreiben (um das Gelernte mal in nem richtigen Projekt zu verwenden).
Mein Problem:
Ich habe eine Klasse für die Charaktäre (siehe Code)
Aus der Klasse erstelle ich zb. "Player" oder "Enemy" (Der Player wird vom spieler gesteuert und Enemy soll dann ne KI bekommen)
Ich überlege nun wie ich die Fähigkeiten/Attacken am besten implementiere?
Derzeit habe ich die Angriffe direkt in der Charakterklasse als Variable.
Macht es Sinn die Attacken ebenfalls in eine Klasse zu packen ?
Dann bräuchte ich irgendwie bezug von der Instanz "Player" zu den Instanzen der Attacken damit die Charakter werte auch in den Instanzen berücksichtigt werden können.
Hoffe ihr versteht nicht nur Bahnhof ..
Gruss, Kev
Code: Alles auswählen
#FinalF characters
class character(object):
def __init__(self, name):
self.name = name
self.level = 1
self.condition = 100 # endurance until player is exhausted
self.reflexes = 100 # chance to dodge or avoid attacks
self.str = 10 # value for strengh
self.vita = 100 # value for helthpoints
self.efficiency = 1 # value for attack efficiency
self.combat_exp = 1 # increased each round in every fight / bonus attribute
self.left_hand = False # equiped item for left hand
self.right_hand = False # equiped item for right hand
#base dmg
self.base_dmg = int((self.str + (self.level + (self.efficiency * self.combat_exp))) / 100 * self.condition)
#attacks
self.punch = int(self.base_dmg + (self.base_dmg * 0.3)) #costs 5 condition / not implemented yet
self.kick = int(self.base_dmg + (self.base_dmg * 0.9)) #costs 10 condition / not implemented yet