From bbeed2571743df0a2163682a83f48889cf218288 Mon Sep 17 00:00:00 2001 From: Tanner Robison Date: Sun, 21 Jun 2026 22:04:51 -0700 Subject: ASCII frame (not working yet) --- README.md | 3 ++- abellian_sandpile | Bin 0 -> 16176 bytes abellian_sandpile.c | 44 ++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 46 insertions(+), 1 deletion(-) create mode 100755 abellian_sandpile create mode 100644 abellian_sandpile.c diff --git a/README.md b/README.md index 002030b..5ef0ae0 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,3 @@ # Abelian Sandpile model - +## compile command: +gcc -Wall abellian_sandpile.c -o abellian_sandpile $(pkg-config --cflags --libs sdl2) -lm diff --git a/abellian_sandpile b/abellian_sandpile new file mode 100755 index 0000000..c9c8345 Binary files /dev/null and b/abellian_sandpile differ diff --git a/abellian_sandpile.c b/abellian_sandpile.c new file mode 100644 index 0000000..09197d6 --- /dev/null +++ b/abellian_sandpile.c @@ -0,0 +1,44 @@ +#include +#include +#include +#include + +#define CLEAR_GRID "\033[0m" +#define COLOR_RED "\033[31m" // cell value 4 +#define COLOR_ORANGE "\033[31m" // cell value 3 +#define COLOR_YELLOW "\033[31m" // cell value 2 +#define COLOR_WHITE "\033[31m" // cell value 1 + +int positions[HEIGHT][WIDTH]; +int new_positions[HEIGHT][WIDTH]; + +int + + void + init_grid(); +void draw_new_positions(); +void render(); + +int main() { + // gets terminal window size + struct winsize w; + ioctl(STDOUT_FILENO, TIOCGWINSZ, &w); + + printf("starting abellian sandpile simulation\n"); + init_grid(); + printf("\ninitialized grid"); + return 0; +} + +void init_grid() { + for (int i = 0; i < HEIGHT; i++) { + for (int j = 0; j < WIDTH; j++) { + printf(" "); + + // prints a X around the borders + if (j = (WIDTH - 1)) { + printf("|"); + } + } + } +} -- cgit v1.2.3