Programowanie obiektowe - JAVA
Informacje ogólne > Laboratorium 5 > Wersja rozszerzona zadania

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!