Wywołałeś obiekt potworek na rzecz klasy postac.
Inaczej. Przekazałem obiekt*
potworek do metody
Ruch
Strzelaj, tak żeby mogły pobrać jego pozycję.
*) w C# klasy są typami referencyjnymi.(...) co pewnie umożliwiają te metody z return, bo samo pole pozycja_mobx... no właśnie, ma wartość 0, a po return przypisuje prawidłową?
Prawdę mówiąc, te metody są zbędne (w tym konkretnym przypadku), bo można od razu tak:
... = mob.pozycja_mobx;
... = mob.pozycja_moby;
Na samym początku oba pola zrobiłem prywatnymi, a wtedy dostęp przez gettery byłby konieczny, ale nie wiedziałem (a raczej nie chciało mi się sprawdzać

), czy gdzieś nie odwołujesz się do tych pól w innych częściach kodu, więc zrobiłem je chronionymi.
Wydawało mi się, że skoro wspomniane już pole hp jest widoczne to klasy widzą się prawidłowo.
Wcześniej pisałem dlaczego
hp "działa".
Generalnie musisz zrozumieć, czym jest klasa, a czym jest obiekt/instancja klasy. Bez tego nie ma sensu wchodzić w dziedziczenie.