Witajcie! Zrobiłem krótką gierkę (bazę, którą chcę rozbudować). Jak we wszystkich eRPeGach trzeba stłuc tego trolla czy tam inne badziewie :) Gra zapisana w dwóch plikach (klasy oraz plik główny). Kompilator twierdzi, że:
Traceback (most recent call last):
File "C:/Users/Michał/PycharmProjects/MojaGraRPG/glownarpg.py", line 19, in <module>
gracz.basic_attack(wróg)
File "C:\Users\Michał\PycharmProjects\MojaGraRPG\klasyrpg.py", line 18, in basic_attack
target.__get_damange(hit)
AttributeError: 'Creature' object has no attribute '_Player__get_damange'
Co przeoczyłem? Jakoś źle odniesienia lub parametry ustawiłem? O co chodzi?
Oto kod pliku z klasami:
class Player(object):
def __init__(self, life=100, energy=100):
self.life = life
self.energy = energy
def __die(self):
print("Zostajesz pokonany")
def __get_damange(self, damange):
self.life -= damange
print("Otrzymujesz ",damange," obrażeń")
if self.life <= 0:
__die()
def basic_attack(self, target):
import random
hit = random.randint(5,8)
target.__get_damange(hit)
print("Uderzasz wroga i zadajesz ",hit," obrażeń")
def special_attack(self, target):
if self.energy <= 19:
print("Nie masz wystarczająco siły, aby zadać ten cios. Tracisz tę rundę...")
else:
import random
hit = random.randint(26,32)
target.__get_damange(hit)
print("Uderzasz wroga i zadajesz ", hit, " obrażeń")
self.energy -= 20
class Creature(object):
def __init__(self):
import random
self.life = random.randint(40,70)
def __die(self):
print("Pokonujesz wroga")
def __get_damange(self, damange):
self.life -= damange
if self.life <= 0:
__die()
def attack(self, target):
import random
hit = random.randint(7,10)
target.__get_damange(hit)