Gra w życie
$10-25 USD
Dibayar saat pengiriman
Napisz program, który definiuje zmodyfikowaną wersję gry w życie. Gdzie istnieje obiekt planszy, który posiada komórki w stanie 0 lub 1 i zestaw efektów, które sa nakładane na plansze. Efekty są nakładane za pomocą metody apply, która będzie częścią mechanizmu późnego wiązania.
Efekty będą identyfikowane za pomocą unikalnego kodu:
[login to view URL] pola na czarne
[login to view URL] pola na białe
[login to view URL] pola z białego na czarne, a czarne na białe
[login to view URL]żeli piksel jest biały i nie posiada 2 lub 3 sąsiadów białych to kolorowany jest na czarno
jeżeli pozycja sąsiada wykracza poza planszę to należy zastosować zawijanie planszy (ostatni przykład)
[login to view URL]żeli piksel jest czarny i posiada 3 sąsiadów białych to kolorowany jest na biało w przeciwnym razie na czarno
jeżeli pozycja sąsiada wykracza poza planszę to należy zastosować zawijanie planszy (ostatni przykład)
[login to view URL] podstawie dwóch planszy definiuje wyjście w następujący sposób:
jeżeli A(x,y)==0 i B(x,y)==1 to wtedy B(x,y) na biało
jeżeli A(x,y)==1 i B(x,y)==0 to wtedy B(x,y) na biało
jeżeli A(x,y)==1 i B(x,y)==1 to wtedy B(x,y) na czarno
jeżeli A(x,y)==0 i B(x,y)==0 to wtedy B(x,y) na czarno
jeżeli nie była wcześniej podana plansza to efekt zapamiętuje stan podanej planszy
jeżeli była wcześniej plansza to efekt przechodzi w stan nie posiadania planszy
gdzie A to pierwsza plansza, a B druga plansza
[login to view URL] podstawie dwóch planszy definiuje wyjście w następujący sposób:;
jeżeli A(x,y)==1 to wtedy B(x,y) na biało;
jeżeli A(x,y)==0 to wtedy B(x,y) na czarno;
jeżeli nie była wcześniej podana plansza to efekt zapamiętuje stan podanej planszy;
jeżeli była wcześniej plansza to efekt przechodzi w stan nie posiadania planszy
gdzie A to pierwsza plansza, a B druga plansza
Program na wejściu będzie otrzymywał w kolejnych liniach 6 liczb na linię, gdzie pierwsze 4 (x, y, dx, dy) będą definiowały obszar na plaszy, na którą ma zostać nałożony efekt, piąta e liczba bedzie oznaczała kod efektu, a ostatnia d liczba numer planszy. Na wyjściu powinien pojawić się stan z ostatnio przetworzonej planszy.
Efekt powinien być nałożony tylko wtedy jak dane wejściowe posiadają poprawne wartości. Linie, które posiadają niepoprawne wartości są pomijane:
x∈{0,…,15}
y∈{0,…,15}
dx∈{x,…,15}
dy∈{y,…,15}
e∈{0,…,6}
d∈{0,…,1}
W programie powinny znajdować się 2 obiekty plansz, które mają wielkość 16x16
Poniżej zestaw przykładowych wejść i wyjść z programu. Przykładowe wejście:
6 6 10 10 1 1
Oczekiwane wyjście:
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0000001111100000
0000001111100000
0000001111100000
0000001111100000
0000001111100000
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0000000000000000
Przykładowe wejście:
8 8 8 14 1 0
0 4 4 8 1 1
0 0 15 15 5 0
0 0 15 15 5 1
Oczekiwane wyjście:
0000111110000000
0000111110000000
0000111110000000
0000111110000000
0000111110000000
0000000000000000
0000000000000000
0000000000000000
0000000011111110
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0000000000000000
Przykładowe wejście dla, którego zostanie zawinięta plansza. Np. sąsiad na pozycji [8,-1] zostanie odczytany jako [8, 15]:
8 0 10 0 1 0
8 0 10 0 1 1
0 0 15 15 3 1
0 0 15 15 4 0
0 0 15 15 5 1
0 0 15 15 5 0
Oczekiwane wyjście:
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0000000000000000
1100000000000001
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0000000000000000
0000000000000000
Wgrany plik musi spełniać następujące wymagania:
-mieć format i rozszerzenie .zip
-zawierać jeden folder o nazwie zad
-w folderze zad powinny znajdować się pliki nagłówkowe oraz pliki źródłowe z [login to view URL]
-nie może zawierać innych plików i folderów, w szczególności plików binarnych
ID Proyek: #18132045
Tentang proyek
Diberikan kepada:
Dear client. I've read your project description carefully and very interested. Let's discuss over chat and get started. Waiting your reply. Best regards.