Gra w życie

Selesai Dipasang 5 tahun yang lalu Dibayar saat pengiriman
Selesai 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

Pemrograman C++

ID Proyek: #18132045

Tentang proyek

1 proposal Proyek online Aktif 5 tahun yang lalu

Diberikan kepada:

MichealSMoreno

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.

$25 USD dalam 3 hari
(3 Ulasan)
1.8