Skocz do zawartości

problemy z main


Rapture

Recommended Posts

Czesc!

Pisze program, który symuluje bezludną wyspę, na której żyją lisy i zające. Stworzyłem sobie menu do tego programu. Zawiera ono takie przyciski jak: Island,Grass,Lepus,Fox,Simulat,End.

Pierwszy przycisk powoduje wczytanie bitmapy, czyli w okien pojawia sie sama wyspa bez trawy i zajacow.
Wcisniecie Grass powoduje ze na wyspie pojawia sie trawa.
Wcisniecie Lepus powoduje ze na wyspie pojawia sie 10 zajacow.
Wcisniecie Simulat powoduje ze owe 10 zajacow zaczyna sie ruszczac i jesc trawe. Jednak od momentu kiedy wcisne Simulat nie mam mozliwosci sterowania moim menu. Nie moge naprzykald wcisnac przycisku kory konczy cala symulacje.

Funkcja jaka jest wywolana po wcisnieciu Simulat jest w petli while(1), czyli ze proces poruszania i jedzenia odbywa sie na okraglo.

Dlaczego nie mam dostepu do menu. Czemu program az tak bardzo absorbuje petla while(1) ze nie starcza mu sil na operowanie menu.

Prosze o rady, pozdrawiam pulp.

Link do komentarza
Udostępnij na innych stronach

Ja bym zamiast petli while obslugiwał komunikaty od Timera i w ten sposob co jakis czas poruszał zającami itp. Nie było by problemu z odbiorem innych komunikatów. A tak u ciebie nie są pewnie pobierane kolejne komunikaty bo cały czas jest obsługiwany ten jeden tj. wybranie z menu "Simulat".Jego obsługa to pewnie ta nieskończona pętla,więc się nie skończy i dlatego inne komunikaty nie są obsługiwane..Przynajmniej tak mi się wydaje.Ale moge się mylić.

Pozdrawiam.

Link do komentarza
Udostępnij na innych stronach

  • 2 weeks later...

Masz klopot poniewaz wogole nie wiesz jak dzialaja programy w sys. win. Moze warto by sie tym zainteresowac.

Twoj problem polega natym, ze system uruchamiajac aplikacje tworzy dla niej 1 watek, wiec kiedy ty zatrzymujesz go piszac "while(TRUE)", aplikacja nie moze obslugiwac podstawowych komunikatow, czyli tych z menu, itp. itd.

rozwiazaniem jest takie jak w postach wczesniej: timery lub nowy watek.

Najproscie dla ciebie (jak sadze) bedzie zrobienie timera, watków nie ruszaj, skoro masz klopoty z podstawowymi zagadnieniami watki beda dla ciebie bariera nie do pokonania :)

Link do komentarza
Udostępnij na innych stronach

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Gość
Odpowiedz...

×   Wkleiłeś zawartość bez formatowania.   Usuń formatowanie

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Utwórz nowe...