Próbuję poprzez funkcje obiektu player zmodyfikować zmienne obiektu street wszystko jest strasznie szalone, bo jakoś nie reaguje. Zmienna obiektu street nie reaguje.
class street {
public:
string name;
int position;
int type;
int owner; // zwróćcie uwagę na to że owner jest na publicu
int price;
int rent[6];
int state;
int houses;
public:
void strPosition(string n);
void strType(string n);
void strOwner(string n);
void strPrice(string n);
void strRent(int n, string m);
void card();
// void check();
};
//\to jest klasa którą chce modyfikować, wszystko jest publiczne.//\
funkcja obiektu player//
void player::buyStreet(street a1)
{
if (a1.price > money)
{ cout << "\nNot enough money! Sorry :( "; }
else
{
money -= a1.price;
a1.owner = 1; // specjalnie dla testu po prostu 1
a1.state = 1;
cout << "Bought." << a1.name; // specjalnie ma dorzucac imie
}
}
a teraz jak wygląda main. w uproszczeniu:
player p[3];
street s[40];
// tutaj wszystkie dane sa wczytywane (ladnie zreszta) p[0] jest nieuzywany
s[ p[qu].getPosition() ].card(); // funkcja street.card() to rozbudowany cout wyrzuca wszystkie zmienne w ladnym formacie
p[ qu ].buyStreet( s[ p[ qu ].getPosition()] );
================================
Hello in Monopoly!
====================
Turn: 1 Turn of player: 1 Player position: 0
Player money: 1200
[ 2, 4]
Player moved.
Current position: 6
===================================================
Name: Ulica Radzymińska
Position: 6
Owner: 0nobody!
Price: 100b
Bought.Ulica Radzymińska6
===================================================
Name: Ulica Radzymińska
Position: 6
Owner: 0nobody!
Price: 100
Pozdrawiam,
Unico