Witam! Na studiach mam programowanie obiektowe, z którego jestem raczej lewy. Na zajęciach napisaliśmy grę oczko którą mamy dokończyć, w związku z czym mam kilka problemów. Po pierwsze mam taki kod na dobór kart:
bool Czlowiek::czyNastepna()
{
cout<<"Twoje karty to:"<<endl;
wyswietl();
char wybor;
do
{
cout<<"Czy chcesz nastepna karte?[T/N]";
cin>>wybor;
if(wybor=='T' || wybor=='t')
return true;
else
if(wybor=='N' || wybor=='n'){
return false;
}
cout<<"wybrano nieprawidlowa opcje"<<endl;
cin.sync();
cin.ignore();
}while(wybor);
}
Problem jest taki, że gracz komputerowy korzysta właśnie z klasy człowiek. Gdy chcę dobrać karty, wszystko jest ok, ale gdy już nie chcę dobierać kart, wpisuję n, i program ponownie mnie pyta czy chcę dobrać karty dopóki gracze komputerowi nie zaprzestaną ich dobierać, a dobierają je dopóki mają mniej niż zadeklarowana ilość punktów (np. 15). Jest jakaś opcja żeby program zapamiętywał że raz już wpisalimy "nie" i za każdym
kolejnym razem już bez naszego pytania wyrzucał false?
Sama funkcja grania wygląda tak:
void Oczko::graj()
{
t->tasuj();
bool warunek;
do
{
warunek=false;
for(int i=0;i<5;++i)
{
if(g[i]!=NULL && g[i]->czyNastepna())
{
warunek=true;
g[i]->dodajKarte(t->dajKarte());
}
}
}while(warunek);
for(int i=0;i<5;++i)
{
if(g[i]!=NULL)
{ g[i]->wyswietl();
cout<<"Punkty: "<<g[i]->policzPunkty()<<endl;
}
}
}
Z góry dzięki za pomoc!