Witam.
Mam do zrealizowania zadanie o następującej treści:
**Zadanie 1 **
Napisz w formie apletu (za pomocą biblioteki Swing), korzystając z wątków, następującą symulację:
• Plansza do symulacji jest prostokątem n na m pól.
• Rozmiar planszy (m i n), szybkość działania (k) i prawdopodobieństwo zmiany koloru (p) powinny być podane jako parametry (zobacz znacznik <param> w html-u
i metodę String getParameter(String name) w klasie Applet). Początkowe kolory pól powinny być losowe. Ustalone powinny też być domyślne wartości tych
parametrów.
• Każde pole jest wątkiem który co pewien czas (opóźnienie jest równe losowo wybranej liczbie milisekund z przedziału [0,5k;1,5k]) wykonuje nastepujące czynności:
– z prawdopodobieństwem p zmienia swój kolor na losowy;
– z prawdopodobieństwem 1-p sprawdza kolory swoich czterech sąsiadów (planszę traktujemy jako dwuwymiarowy torus) i przyjmuje jako kolor średnią z
nich.
(Zobacz opis klasy generującej liczby pseudolosowe java.util.Random i użyj metod double nextDouble() i int nextInt(int n) - generator pseudolosowy powinien być tylko jeden w całej aplikacji. Zobacz także opis klasy java.awt.Color
z użyciem konstruktora Color(int r, int g, int b) i metod int getRed(), int
getGreen(), int getBlue() - przeczytaj opis systemu definiowania kolorów RGB.)
• Należy zadbać o synchronizację planszy i pól, aby nie dochodziło do konfliktów
(czytania koloru sąsiada w trakcie jego zmiany). Uwzględnij, że obecne komputery
posiadają wiele procesorów (rdzeni).
• Aplet powinien też działać jako samodzielna aplikacja z odpowiednio podanymi
parametrami w wierszu poleceń.
Należy zadbać o odpowiednie skalowanie wyglądu aplikacji. Program musi posiadać komentarze dokumentacyjne i mieć wygenerowaną dokumentację (w programach
javadoc i doxygen). Końcowa aplikacja powinna być spakowana do pliku jar.
Problem, że nie do końca ogarniam temat i nie wiem jak się do tego zabrać.
Proszę o jakieś wskazówki dzięki którym będę w stanie poczynić jakiekolwiek kroki :)
Pozdrawiam