Wyjasnienie kodu

0

Mam pytanie, bo nie nadążam. Jeżeli na samym początku deklaruję bool wyjście = false, to dlaczego w poniższym kodzie jest while(!wyjscie)? Przecież wykrzyknik oznacza przeczenie, czyli while(!wyjscie) należy czytać:"dopóki nie prawda, że wyjscie jest false). Wobec tego mam pytanie. Czy ten kod należy rozumieć:
"tak długo jak wyjscie jest true, zdarzenie oznacza wyjście z programu"?? No właśnie jakoś bez sensu. Czy ten kod oznacza:"gdy klikasz X okna, to okno się zamyka?". Pytam, bo wydawało mi się, że jeśłi wyjscie jest false, to !wyjscie oznacza true, czy nie tak?

 
while( !wyjscie )
{
    while( SDL_PollEvent( & zdarzenie ) )
    {
        if( zdarzenie.type == SDL_QUIT )
        {
            wyjscie = true;
        }
    }
}
1

Dopóki wyjście nie jest prawdą. Przy czym warunek nigdy (nie tylko tu) nie porównuje niczego z poprzednią wartością, zawsze chodzi o aktualną wartość.

0

Czyli to się czyta tak: Pętla działa gdy wyjscie=false i program w pętli nasłuchuje czy doszło do kliknięcia. Jeśli nie doszło, to czeka dalej i dopiero gdy klikniemy (type==SDL_QUIT), to wyjście=true i program się wyłącza. Tak to rozumiem. Czyli tak jakby w pętli dochodzi do takiego nasłuchiwania (wyczekiwanie tego kliknięcia) i tak długo jak nie klikamy w X, tak długo trwa pętla i cały program. Tak to widzę.

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