Wersja rozszerzona zadania
W wersji rozszerzonej zadania przynajmniej jeden z wątków powien być rozbudowany i robić coś "sensownego" (przykłady poniżej). Ponadto program powienien posiadać przyciski/suwaki pozwalające na kontrolę pracy wybranego wątku (rozpoczynanie, zmiana szybkości działania, kończenie pracy, ...).
Mile widziane próby synchronizowania wątków - aczkolwiek nie wymagane do uzyskania oceny 5 (o synchronizacji była mowa na wykładzie: http://www.if.pw.edu.pl/~pojava/wyklady/w6/watki.rar , dla osób zaawansowanych i zainteresowanych wielowątkowością w Javie można polecic książkę "Java. Współbieżność dla praktyków", która jest dostępna m.in. w BG PW)
W przypadku tworzenia animacji wskazane jest wykorzystanie klasy Graphics2D.
Program powinen być również dopracowany pod względem graficznym i przejrzystości kodu.
Przykłady bardziej rozbudowanych wątków:
1. Złożone animacje z buforowaniem obrazu. Mile widziane uwzględnienie efektów fizycznych, np. - ruch planety po orbicie gwiazdy (z uwzględnieniem sił grawitacyjnych, z opcjonalną możliwością zmiany mas planet/gwiazdy) - zderzenie sprężyste dwóch obiektów (np. monet - można wczytać obraz z pliku graficznego) - symulacja ruchów Browna N cząsteczek gazu... - złożona animacja z wykorzystaniem kilku obrazów wczytanych z plików graficznych
2. Prosta gra zręcznościowa
3. Trudna gra zręcznościowa
4. KREATYWNOŚĆ MILE WIDZIANA!
|