Wielowątkowość, na przykładzie prostej animacji.

Wielowątkowość, na przykładzie prostej animacji.
M2
  • Rejestracja:ponad 11 lat
  • Ostatnio:około 8 lat
  • Postów:64
0

Mam jeszcze pytanie, żeby było poprawnie to teraz w mojej pętli warunkowej, w metodzie move(); powinienem się odnosić do poszczególnych pól w tablicy np tak:

Kopiuj
if (świat.odczyt_plansza (i, j) == 1){

tak ?

wojciechmaciejewski
  • Rejestracja:ponad 12 lat
  • Ostatnio:około 2 lata
  • Postów:560
1

w ogóle twoja metoda move jest mocno nie dopracowana. Zamiast przeszukiwać całą tablicę lepiej stworzyć jakąś strukturę pamiętającą wszystkie kury i jej update robić ( może to być tablica jak znasz z góry ilość kur czy lisów, może być jakaś kolekcja jeżeli dowolna ilość)

przemyśl to bo teraz Twoja metoda przeszukuje całą tablicę w poszukiwaniu jednego dobrego elementu.

a wtedy robisz w pętli while że dopóki wylosowany kierunek nie będzie dobry powtarzasz losowanie w metodzie moove

Kopiuj

boolean pom=true;

while(pom){
kierunek=int kierunek = gen.nextInt(3);
/* tu jakis kod okreslajacy kierunek*/
if(swiat.odczyt_plansza(/*tu koordynaty*/ )!=2) pom=false;
}
swiat.zmien_plansza(/*tu koordynaty*/,1) ;

dodatkowo w kodzie z wątkami jest pułapka bo jeden z wątków może Ci wczytać planszę i zanim ją zmieni inny wątek już ją zmieni. tak to podpowiedziałem ale jak się tego pozbyć pozostawiam na Twojej głowie :)

edytowany 1x, ostatnio: wojciechmaciejewski
M2
  • Rejestracja:ponad 11 lat
  • Ostatnio:około 8 lat
  • Postów:64
0

Bardzo dziękuję wszystkim za zainteresowanie i wszystkie odpowiedzi, dużo udało się napisać, chociaż program nie miał wszystkich funkcjonalności jakie chciałem to i tak jestem zadowolony. Pozostałe funkcje dodam, kiedyś jak będzie trochę wolnego czasu w celu edukacyjnym :)
Jeszcze raz dziękuję i pozdrawiam :)

edytowany 1x, ostatnio: Mefa2

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.