Sunteți pe pagina 1din 3

Tema 1 Conways Game of life

Responsabil tem: Cristian Chilipirea

1. Enun
Tema const n simularea n paralel a jocului Game of Life - B3/S23.
Jocul presupune existena unei hri sub form de matrice de mrimea W x H.
Fiecare element din matrice are 2 valori:
a. Individ valoarea 1
b. Gol valoarea 0
Jocul are un numr dat de etape, n fiecare etap fiecare element din matrice i
schimb valoarea dup setul de reguli B3/S23 (Se genereaz un nou individ, dac
are 3 vecini; Un individ supravieuiete dac are 2 sau 3 vecini). Pe larg:
a. Un individ nou este creat dac are 3 vecini
b. Un individ continu s existe daca are 2 sau 3 vecini
c. Orice individ cu 1, 0 sau mai mult de 3 vecini dispare
Vecinii unui element A sunt cei colorai cu verde mai jos.

Exist 2 metode de a reprezenta harta:


1. Ca un plan
0
0
0
0
0

0
A
E
I
0

0
B
F
J
0

0
C
G
K
0

0
D
H
L
0

2. Ca un toroid
0
0
0
0
0

L
D
H
L
D

I
A
E
I
A

J
B
F
J
B

J
C
G
K
C

L
D
H
L
D

I
A
E
I
A

La un toroid prima linie/coloan e lipit de ultima


Toate elementele matricei se vor schimba simultan n funcie doar de etapa
anterioar.

2. Detalii implementare
Va trebui s:
1. Implementai un program secvenial care s citeasc un fiier cu harta, s
simuleze pn la a N-a etap i s o salveze n alt fiier.
2. Paralelizai programul secvenial folosind OpenMP.
3. Testai programul cu numr diferit de thread-uri i scriei rezultatele in
README.
Fiierul de intrare
Pe prima linie vom avea
-

O liter P (plan) sau T (toroid) ce indic forma hrii.


Un numr ntreg W_hart limea hrii
Un numr ntreg H_hart lungimea hrii
Un numr ntreg W limea hrii ce trebuie simulat
Un numr ntreg H lungimea hrii ce trebuie simulat

Aceasta va fi urmat de H_hart linii cu W_hart valori de 0 (individ) sau 1 (gol)


ce reprezint o bucat din hart ncepnd de la coordonatele (0, 0)
Exemplu:
T 3 3 100 100
010
001
111
ATENIE: mrimea hrii din fiier poate s nu fie egal cu mrimea hrii ce
va trebui s o simulai.

3. Golly
Pentru a v verifica tema putei folosi utilitarul golly.
Exemplul de mai sus va arta astfel n golly:

Pentru a simula pn la un anumit pas:


1.
2.
3.
4.

Control - > Set base step


Control - > Faster/Slower
Repet pn ce valoarea step este cea dorit
Apsai space sau tab

Tipul de simulare este QuickLife


Putei copia codul de mai jos in Golly ctrl+c ctrl+v
x = 3, y = 3, rule = B3/S23:T100,100
bo$2bo$3o!
n arhiva temei exist 2 executabile ce le putei rula pe fep s convertii din
standardul golly n formatul temei i invers. Le putei apela
./txtToRle nume_fiier.txt nume_fiier.rle
./rleToTxt nume_fiier.rle nume_fiier.txt

S-ar putea să vă placă și