lista6

background image

Kurs programowania 1 - 2010

Lista nr 6 na 6,13 stycznia

Zadanie 1 Napisz w formie apletu, korzystając z wątków, następującą symulację:

Plansza do symulacji jest prostokątem n na m pól. Na planszy pewna liczba pól

jest zajęta przez żywe komórki (tylko jedna żywa komórka może być na danym
polu).

Żywa komórka jest wątkiem który co pewien czas (opóźnienie jest równe losowo

wybranej liczbie milisekund z przedziału [0.5k, 1.5k], gdzie k jest parametrem pro-
gramu) sprawdza swoje otoczenie (cztery sąsiednie pola, planszę traktujemy jak
torus) i wykonuje jedną z nastepujących akcji:

jeśli ma 0 lub 4 żywych sąsiadów to umiera;

jeśli ma jednego żywego sąsiada to tworzy potomka (nowy wątek) i umieszcza

go na polu przeciwnym do żyjącego sąsiada;

jeśli ma dwóch sąsiadów to nie robi nic;

jeśli ma trzech sąsiadów to ucieka na sąsiednie niezajęte pole.

Aplet powinien poinformować, że nie ma żywych komórek.

Rozmiar planszy, początkowa ilość żywych komórek i szybkość działania (k) po-

winny być podane jako parametry. Początkowe położenie żywych komórek po-
winno być losowe.

Należy zadbać o synchronizację planszy i komórek, aby nie dochodziło do konflik-

tów (zajęcia jednego pola przez dwie żywe komórki).

Aplet powinien też działać jako samodzielna aplikacja z odpowiednio podanymi

parametrami.

Należy zadbać o odpowiednie skalowanie oraz dobór kolorów aplikacji.


Wyszukiwarka

Podobne podstrony:
lista6
Lista6, PWr WME Energetyka, Podstawy mechaniki i wytrzymałości Polko
lista6 moja, ProgCPP 04 Sort2
lista6 moja opis
lista6
www.elearning.po.opole.pl wwi file.php 5 Budownictwo-lista6
algebra lista6
lista6
Lista6 Geometria Analityczna R3 2013 2014 c1
Lista6 2
ElektrodynamikaI Lista6
Lista6
LISTA6
lista6
Lista6 AF 2013 a1 id 270468 Nieznany
Lista6 2 CiagloscAndRozniczk
lista6 moja opis
lista 6 lista6
Lista6 GraniceFunkcji

więcej podobnych podstron