Toroidal grid is a better approach
This commit is contained in:
parent
b7536e462a
commit
4fbad684c1
6
Makefile
6
Makefile
@ -1,2 +1,8 @@
|
|||||||
conway: main.c
|
conway: main.c
|
||||||
gcc -o conway main.c -lncurses -lm
|
gcc -o conway main.c -lncurses -lm
|
||||||
|
install:
|
||||||
|
cp conway $(HOME)/.local/bin
|
||||||
|
uninstall:
|
||||||
|
rm $(HOME)/.local/bin/conway
|
||||||
|
|
||||||
|
.PHONY: install uninstall
|
||||||
|
|||||||
63
main.c
63
main.c
@ -250,53 +250,24 @@ void simulate() {
|
|||||||
for(int i = 0; i < 50; ++i){
|
for(int i = 0; i < 50; ++i){
|
||||||
for(int j = 0; j < 120; ++j){
|
for(int j = 0; j < 120; ++j){
|
||||||
|
|
||||||
if(j-1 <0){
|
left_neighbour = conwayMatrix[i][((j-1) +120) % 120];
|
||||||
left_neighbour = 0;
|
right_neighbour = conwayMatrix[i][(j+1) % 120];
|
||||||
} else {
|
top_neighbour = conwayMatrix[((i-1) + 50) % 50][j];
|
||||||
left_neighbour = conwayMatrix[i][j-1];
|
bottom_neighbour = conwayMatrix[(i+1) % 50][j];
|
||||||
}
|
topleft_neighbour = conwayMatrix[((i-1) + 50) % 50][((j-1) + 120) % 120];
|
||||||
if(j+1 > 119){
|
topright_neighbour = conwayMatrix[((i-1) + 50) % 50][(j+1) % 120];
|
||||||
right_neighbour = 0;
|
bottomleft_neighbour = conwayMatrix[(i+1) % 50][((j-1) + 120) % 120];
|
||||||
} else {
|
bottomright_neighbour = conwayMatrix[(i+1)%50][(j+1)%50];
|
||||||
right_neighbour = conwayMatrix[i][j+1];
|
|
||||||
}
|
num_neighbours = left_neighbour +
|
||||||
if(i-1 < 0){
|
right_neighbour +
|
||||||
top_neighbour = 0;
|
top_neighbour +
|
||||||
} else {
|
bottom_neighbour +
|
||||||
top_neighbour = conwayMatrix[i-1][j];
|
topleft_neighbour +
|
||||||
}
|
topright_neighbour +
|
||||||
if(i+1 > 49){
|
bottomleft_neighbour +
|
||||||
bottom_neighbour = 0;
|
bottomright_neighbour;
|
||||||
} else {
|
|
||||||
bottom_neighbour = conwayMatrix[i+1][j];
|
|
||||||
}
|
|
||||||
// topleft
|
|
||||||
if(i-1 < 0 || j-1 < 0){
|
|
||||||
topleft_neighbour = 0;
|
|
||||||
} else {
|
|
||||||
topleft_neighbour = conwayMatrix[i-1][j-1];
|
|
||||||
}
|
|
||||||
// topright
|
|
||||||
if(i-1 < 0 || j+1 > 119){
|
|
||||||
topright_neighbour = 0;
|
|
||||||
} else {
|
|
||||||
topright_neighbour = conwayMatrix[i-1][j+1];
|
|
||||||
}
|
|
||||||
// bottomleft
|
|
||||||
if(i+1 > 49 || j-1 < 0){
|
|
||||||
bottomleft_neighbour = 0;
|
|
||||||
} else {
|
|
||||||
bottomleft_neighbour = conwayMatrix[i+1][j-1];
|
|
||||||
}
|
|
||||||
// bottomright
|
|
||||||
|
|
||||||
if(i+1 > 49 || j+1 > 119){
|
|
||||||
bottomright_neighbour = 0;
|
|
||||||
} else {
|
|
||||||
bottomright_neighbour = conwayMatrix[i+1][j+1];
|
|
||||||
}
|
|
||||||
|
|
||||||
num_neighbours = left_neighbour + right_neighbour + top_neighbour + bottom_neighbour + topleft_neighbour + topright_neighbour + bottomleft_neighbour + bottomright_neighbour;
|
|
||||||
tempMatrix[i][j] = conwayMatrix[i][j];
|
tempMatrix[i][j] = conwayMatrix[i][j];
|
||||||
if((num_neighbours < 2) && (conwayMatrix[i][j] == 1)){
|
if((num_neighbours < 2) && (conwayMatrix[i][j] == 1)){
|
||||||
/* tempMatrix[i][j] = probdie(10); */
|
/* tempMatrix[i][j] = probdie(10); */
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user