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
|
||||
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 j = 0; j < 120; ++j){
|
||||
|
||||
if(j-1 <0){
|
||||
left_neighbour = 0;
|
||||
} else {
|
||||
left_neighbour = conwayMatrix[i][j-1];
|
||||
}
|
||||
if(j+1 > 119){
|
||||
right_neighbour = 0;
|
||||
} else {
|
||||
right_neighbour = conwayMatrix[i][j+1];
|
||||
}
|
||||
if(i-1 < 0){
|
||||
top_neighbour = 0;
|
||||
} else {
|
||||
top_neighbour = conwayMatrix[i-1][j];
|
||||
}
|
||||
if(i+1 > 49){
|
||||
bottom_neighbour = 0;
|
||||
} 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];
|
||||
}
|
||||
left_neighbour = conwayMatrix[i][((j-1) +120) % 120];
|
||||
right_neighbour = conwayMatrix[i][(j+1) % 120];
|
||||
top_neighbour = conwayMatrix[((i-1) + 50) % 50][j];
|
||||
bottom_neighbour = conwayMatrix[(i+1) % 50][j];
|
||||
topleft_neighbour = conwayMatrix[((i-1) + 50) % 50][((j-1) + 120) % 120];
|
||||
topright_neighbour = conwayMatrix[((i-1) + 50) % 50][(j+1) % 120];
|
||||
bottomleft_neighbour = conwayMatrix[(i+1) % 50][((j-1) + 120) % 120];
|
||||
bottomright_neighbour = conwayMatrix[(i+1)%50][(j+1)%50];
|
||||
|
||||
num_neighbours = left_neighbour +
|
||||
right_neighbour +
|
||||
top_neighbour +
|
||||
bottom_neighbour +
|
||||
topleft_neighbour +
|
||||
topright_neighbour +
|
||||
bottomleft_neighbour +
|
||||
bottomright_neighbour;
|
||||
|
||||
num_neighbours = left_neighbour + right_neighbour + top_neighbour + bottom_neighbour + topleft_neighbour + topright_neighbour + bottomleft_neighbour + bottomright_neighbour;
|
||||
tempMatrix[i][j] = conwayMatrix[i][j];
|
||||
if((num_neighbours < 2) && (conwayMatrix[i][j] == 1)){
|
||||
/* tempMatrix[i][j] = probdie(10); */
|
||||
|
||||
Loading…
Reference in New Issue
Block a user