Uzupełnij kod metody ewolucja(). Powinna ona obliczyć najpierw liczbę żywych sąsiadów dla każdej komórki, a następnie przeprowadzić proces ewolucji komórek na planszy siatka, zgodnie z zasadami Gry w życie.
Specyfikacja problemu:
Dane:
rozmiarSiatki – wymiary siatki; liczba naturalna
siatka – stany komórek; dwuwymiarowa tablica składająca się z żywych i martwych komórek
Wynik:
Metoda ewolucja() wykonująca poprawnie proces ewolucji komórek na planszy. Modyfikuje pola:
ileSasiadow – liczba żywych sąsiadów dla każdej komórki; dwuwymiarowa tablica
siatka – stany komórek po wykonaniu ewolucji; dwuwymiarowa tablica
R1L1BXPAQqriR3
31
Ćwiczenie 2
R1EIOqCAsknFu11
Uzupełnij kod metody policzZywychSasiadow(), która powinna zwrócić liczbę żywych sąsiadów danej komórki. Sąsiadów komórki definiujemy jako wszystkie komórki przylegające do niej bokami lub rogami.
Zapoznaj się z zamieszczoną grafiką, która jest graficzną reprezentacją siatki.
Specyfikacja problemu:
Dane:
y – pierwsza współrzędna sprawdzanej komórki; liczba naturalna
x – druga współrzędna sprawdzanej komórki; liczba naturalna
rozmiarSiatki – rozmiar siatki; liczba naturalna
siatka – siatka reprezentująca mapę; dwuwymiarowa tablica o wartościach typu boolean i rozmiarze rozmiarSiatki na rozmiarSiatki, gdzie true oznacza żywą komórkę, a false martwą
Wynik:
Metoda powinna zwrócić liczbę żywych sąsiadów dla komórki o współrzędnych x i y.
RZHsNMrIlg3ch
Linia 1. public class GraWZycie otwórz nawias klamrowy.
Linia 2. public boolean otwórz nawias kwadratowy zamknij nawias kwadratowy otwórz nawias kwadratowy zamknij nawias kwadratowy siatka średnik.
Linia 3. public int otwórz nawias kwadratowy zamknij nawias kwadratowy otwórz nawias kwadratowy zamknij nawias kwadratowy ileSasiadow średnik.
Linia 4. public int rozmiarSiatki średnik.
Linia 5. public final boolean ZYWA znak równości true średnik.
Linia 6. public final boolean MARTWA znak równości false średnik.
Linia 8. public GraWZycie otwórz nawias okrągły int rozmiar zamknij nawias okrągły otwórz nawias klamrowy.
Linia 9. rozmiarSiatki znak równości rozmiar średnik.
Linia 10. ileSasiadow znak równości new int otwórz nawias kwadratowy rozmiarSiatki zamknij nawias kwadratowy otwórz nawias kwadratowy rozmiarSiatki zamknij nawias kwadratowy średnik.
Linia 12. siatka znak równości new boolean otwórz nawias kwadratowy zamknij nawias kwadratowy otwórz nawias kwadratowy zamknij nawias kwadratowy otwórz nawias klamrowy.
Linia 13. otwórz nawias klamrowy true przecinek true przecinek false przecinek false przecinek false zamknij nawias klamrowy przecinek.
Linia 14. otwórz nawias klamrowy false przecinek false przecinek true przecinek false przecinek true zamknij nawias klamrowy przecinek.
Linia 15. otwórz nawias klamrowy true przecinek false przecinek true przecinek true przecinek false zamknij nawias klamrowy przecinek.
Linia 16. otwórz nawias klamrowy true przecinek false przecinek false przecinek true przecinek false zamknij nawias klamrowy przecinek.
Linia 17. otwórz nawias klamrowy true przecinek true przecinek false przecinek true przecinek true zamknij nawias klamrowy.
Linia 18. zamknij nawias klamrowy średnik.
Linia 19. zamknij nawias klamrowy.
Linia 21. public int policzZywychSasiadow otwórz nawias okrągły int y przecinek int x zamknij nawias okrągły otwórz nawias klamrowy.
Linia 22. int ile znak równości 0 średnik.
Linia 24. for otwórz nawias okrągły int i znak równości y minus 1 średnik i otwórz nawias ostrokątny znak równości y plus 1 średnik i plus plus zamknij nawias okrągły otwórz nawias klamrowy.
Linia 25. for otwórz nawias okrągły int j znak równości x minus 1 średnik j otwórz nawias ostrokątny znak równości x plus 1 średnik j plus plus zamknij nawias okrągły otwórz nawias klamrowy.
Linia 26. if otwórz nawias okrągły i zamknij nawias ostrokątny znak równości 0 ampersant ampersant j zamknij nawias ostrokątny znak równości 0 ampersant ampersant i otwórz nawias ostrokątny rozmiarSiatki ampersant ampersant j otwórz nawias ostrokątny rozmiarSiatki.
Linia 27. ampersant ampersant siatka otwórz nawias kwadratowy i zamknij nawias kwadratowy otwórz nawias kwadratowy j zamknij nawias kwadratowy znak równości znak równości ZYWA zamknij nawias okrągły.
Linia 28. ile plus plus średnik.
Linia 29. zamknij nawias klamrowy.
Linia 30. zamknij nawias klamrowy.
Linia 32. if otwórz nawias okrągły siatka otwórz nawias kwadratowy y zamknij nawias kwadratowy otwórz nawias kwadratowy x zamknij nawias kwadratowy znak równości znak równości ZYWA zamknij nawias okrągły.
Linia 33. ile minus minus średnik.
Linia 35. return ile średnik.
Linia 36. zamknij nawias klamrowy.
Linia 38. public void wypisz otwórz nawias okrągły zamknij nawias okrągły otwórz nawias klamrowy.
Linia 39. for otwórz nawias okrągły int i znak równości 0 średnik i otwórz nawias ostrokątny rozmiarSiatki średnik i plus plus zamknij nawias okrągły otwórz nawias klamrowy.
Linia 40. for otwórz nawias okrągły int j znak równości 0 średnik j otwórz nawias ostrokątny rozmiarSiatki średnik j plus plus zamknij nawias okrągły.
Linia 41. System kropka out kropka print otwórz nawias okrągły ileSasiadow otwórz nawias kwadratowy i zamknij nawias kwadratowy otwórz nawias kwadratowy j zamknij nawias kwadratowy plus cudzysłów cudzysłów zamknij nawias okrągły średnik.
Linia 43. System kropka out kropka print otwórz nawias okrągły cudzysłów lewy ukośnik n cudzysłów zamknij nawias okrągły średnik.
Linia 44. zamknij nawias klamrowy.
Linia 45. zamknij nawias klamrowy.
Linia 47. public static void main otwórz nawias okrągły String otwórz nawias kwadratowy zamknij nawias kwadratowy args zamknij nawias okrągły otwórz nawias klamrowy.
Linia 48. GraWZycie gra znak równości new GraWZycie otwórz nawias okrągły 5 zamknij nawias okrągły średnik.
Linia 50. for otwórz nawias okrągły int i znak równości 0 średnik i otwórz nawias ostrokątny gra kropka rozmiarSiatki średnik i plus plus zamknij nawias okrągły.
Linia 51. for otwórz nawias okrągły int j znak równości 0 średnik j otwórz nawias ostrokątny gra kropka rozmiarSiatki średnik j plus plus zamknij nawias okrągły.
Linia 52. gra kropka ileSasiadow otwórz nawias kwadratowy i zamknij nawias kwadratowy otwórz nawias kwadratowy j zamknij nawias kwadratowy znak równości gra kropka policzZywychSasiadow otwórz nawias okrągły i przecinek j zamknij nawias okrągły średnik.
Linia 54. gra kropka wypisz otwórz nawias okrągły zamknij nawias okrągły średnik.
Linia 55. zamknij nawias klamrowy.
Linia 56. zamknij nawias klamrowy.