Komunikacja między taskami

0

Cześć! W celu doszkolenia się, tworzę swoją grę która ma działać na zasadzie zobacz-zapamiętaj-powtórz. Zdaję sobie sprawę, że kod który zaraz podrzucę może być ciężki do rozczytania ze względu na moją niewiedzę, dlatego by zwiększyć swoją szansę na odpowiedź stworzyłem mini dokumentację - na tyle na ile potrafiłem:D

Także problem z którym teraz walczę tyczy się funkcji startGame() znajdującej się w linii 72. Chciałbym, żeby każde kolejne wykonanie pętli while() rozpoczynało się po zakończonym tasku highlightTheButtonsAndWaitForPlayers(); Jak będziecie mogli zauważyć, próbowałem to osiągnąć za pomocą wait() ale to moja pierwsza styczność z tą metodą dlatego wyszło troszkę po inwalidzku. Mógłby mi ktoś poradzić jak osiągnąć zamierzony cel?

Tu wstawiam link do kodu na githubie

Chciałbym też poprosić o jakieś rady co do zmiany kodu. Jak poprawić jego jakość i czytelność? Co robię źle a czego się dalej trzymać?
Wielkie dzięki!

0

Pozwolę sobie odświeżyć, bardzo zależy mi na czyjejś wskazówce.

0

Możesz użyć Semaphore, Latcha, Phasera, CyclicBarrier albo nawet AtomicIntegera. Zaczynasz go z 1, metoda highlight po zakonczeniu zmniejsza go do 0, metoda startGame czeka az on bedzie na 0 i podbija do 1.

0

Naprawdę bardzo dziękuje za naprowadzenie. Tak długo z tym walczę:D

0
Błękitny Pomidor napisał(a):

Naprawdę bardzo dziękuje za naprowadzenie. Tak długo z tym walczę:D

Trzeba było współpracować, a nie walczyć :P

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