Jak wywołać coś z klasy w metodzie

0

Cześć jestem nowy w programowaniu. Chcąc lepiej nauczyć się języka c++ postanowiłem utworzyć amatorską grę tekstową. Jestem przy mechanice walki i mam pewien problem. Napisałem sobie metodę, która losuje jedną z czterech liczb. W moim przypadku 1 - 3 są atakami normalnymi. Więc po wylosowaniu liczby w tym zakresie chciałbym aby void wyczytał zmienną damage z klasy Character w obiekcie Player (czyli Player.Damage). Po wpisaniu cout<<"Normalny atak -"<<Player.Damage<<" HP"; dostaję informację, że "Player' was not declared in this scope" Znam przyczynę tego błędu jednak nie mam bladego pojęcia jak zrobić to w sposób aby ruszyło sprawnie.

Ewentualnie jeżeli to konieczne zrobię

int PlayerDamage;
Player.Damage = PlayerDamage; cout<<"Normalny atak -"<<PlayerDamage<<" HP" 

Jeżeli to głupie pytanie przepraszam. Tak jak powiedziałem jestem nowy i ciągle zielony w tym języku.

0

W zasadzie nic z tego co napisałeś nie ma sensu. W ogóle. Trudno tutaj poradzić cokolwiek, bo w ogóle źle się za to zabrałeś. Pierwszy problem jest taki ze nie rozumiesz czym się różni klasa od obiektu, a bez tego to w zasadzie dalej nie pójdziemy. Kolejny problem jest taki ze nie rozumiesz co to jest zasięg zmiennych, bez czego też trudno cokolwiek zdziałać.
Obawiam sie że jesteś na poziomie "hello world" a to trochę daleko od pisania jakiejkolwiek gry.

0

Cóż tak to jest kiedy zaczyna się nowy język :). Ciężko pisać z sensem. Ale dzięki za odpowiedź, na pewno poczytam o tym.

0

W powyższym kodzie wygląda to tak...
Przypisujesz niezainicjowaną zmienną do nieutworzonego obiektu.

int PlayerDamage;
Player player;
PlayerDamage = player.damage();
std::cout << PlayerDamage;

1 użytkowników online, w tym zalogowanych: 0, gości: 1