piszę prostą grę w c++ i mam funkcję, która ustawia mi wartość parametru obiektu będącego instancja pewnej klasy oraz mam pętlę while, w której wykorzystuję ten parametr. chcę zrobić tak, że jeśli ten parametr jest ustawiony na jakąkolwiek inną wartość niż neutralna, to ta wartość ma się utrzymać przez dokładnie jedną iterację pętli, potem ma się ustawiać na wartość neutralną. jak coś takiego zrobić?
wygląda to mniej więcej tak:
class Klasa { ... public: int parametr = 0; .... };
int main() { Klasa obiekt; while(...) { ... if (...) ustawparametr(obiekt); ... //i w nastepnej iteracji obiekt.parametr ma miec wartosc 1, potem ma miec wartosc 0 } return 0; }
@yungdupa: dodać zmienną bool, którą ustawisz na true, a na początku pętli while będzie sprawdzać if zmienna == true ustaw parametr na neutralną wartość
@Fattek: a kiedy ta zmienna miałaby być ustawiana? bo rozumiem że if zmienna == false to ma być w tej iteracji gdzie parametr miałby mieć wartosc inną niż neutralna, tyle że nie wiem gdzie to ustawić żeby ta zmienna nie ustawiała mi się na false/true za kazda iteracja
@yungdupa: ustaw parametr na taką wartość jaką chcesz przed while a na koniec while ustaw na neutralną, bo rozumiem, że każda następna iteracja while ma mieć tą zmienna ustawiona na neutralną? Inna opcja to tak jak pisze @Fattek
wygląda to mniej więcej tak:
class Klasa
{
...
public:
int parametr = 0;
....
};
void ustawparametr(Klasa& obiekt)
{
....
obiekt.parametr = 1; //przykladowo
....
}
int main()
{
Klasa obiekt;
while(...)
{
...
if (...)
ustawparametr(obiekt);
...
//i w nastepnej iteracji obiekt.parametr ma miec wartosc 1, potem ma miec wartosc 0
}
return 0;
}
#cpp #programowanie #programista15k #polibuda
int x=0;