algorytm symulujacy zarazenie skory

0

hejka,
chcialabym zaimplemantowac w jezyku Java algorytm symulujacy zarazenie skory liszajem (wystapienim epidemii). Zalozylam ze komorki skory sa elm. macierzy nxn. Jako pierwsza ulega zakazeniu komorka wskazana. W kazdej jednostce czasu zarozona komorka zaraza wszystkie sasiednie komorki z jakims prawdop. np. 0,5. Po 6 jednostkach czasu zarazona komorka staje sie na 4 jednostki czasu odporna a nastepnie zdrowa i moze ulec ponownie zarazeniu. W kazdej jdnostce czasu podac, ktore komorki sa zarazone, odporne i zdrowe.

Bede wdzieczna za wszelkie pomysly

pozdrowka :)

0

Po pierwsze pojedyncze przejscie petli glownej to jednostka czasu. Po drugie komorki ktore maja wartosc 0 sa zdrowe. Kazda inna wartosc to kolejna jednostka czasu zarazenia komorki. Kopiujesz na poczatek aktualna tablice do jakiegos tempa. W dwoch petlach (x,y) przelatujesz kazda komorke (z tempa) jesli wartosc jest rozna od 0 to najpierw sprawdzasz, czy wartosc jest mniejsza od 7 (1..6 - chora i rozsiewa) i jesli tak to probujesz zarazic sasiednie zdrowe komorki (w tempie o wartosci 0, ale wynik zapisujesz do tablicy glownej - oryginalu), jesli <11 to nic nie robisz (4 jednostki - odpornosc), 11 zerujesz (juz zdrowa i podatna na ataki). Potem sprawdzasz powtornie, czy jest rozna od 0 i jesli tak, to zwiekszasz jej wartosc.

podprogram zarazania wokol komorki (x,y) :
w 2 petlach sprawdzasz 8 pol naokolo (w tempie) i o ile wspolrzedne nie wychodza poza tablice i komorka ma wartosc 0, to losujesz z jakiegos zakresu. jesłi liczba >50% to zwiekszasz wartosc komorki w tablicy oryginalnej (1 - poczatek choroby).

Tak wiec wszystko odczytujesz z tempa, natomiast modyfikujesz zawsze oryginal

nie znam javy :> wiec nie bede probował zapisac tego inaczej niz slownie

0

co prawda w turbo pascalu, ale masz tu wszystko czego potrzebujesz.
na javę przetłumacz sobie sama, bo to twój program i nikt go za ciebie nie napisze.
http://home.elka.pw.edu.pl/~lfronczy/zaraza.zip (wrzuciłem też plik .exe, bo to co generuje fajnie wygląda :d)

1 użytkowników online, w tym zalogowanych: 0, gości: 1