From eb1d51733209b08d711c98ce69eb92c4ee583640 Mon Sep 17 00:00:00 2001 From: orangerot Date: Tue, 14 Oct 2025 15:09:17 +0200 Subject: [PATCH] fix: add domino files --- domino.c | 12 ++++++++++++ domino.h | 23 +++++++++++++++++++++++ 2 files changed, 35 insertions(+) create mode 100644 domino.c create mode 100644 domino.h diff --git a/domino.c b/domino.c new file mode 100644 index 0000000..cdaa52d --- /dev/null +++ b/domino.c @@ -0,0 +1,12 @@ +#include +#include "domino.h" + +void bricks_append(struct bricks *bricks, struct brick brick) { + if (bricks->count+1 > bricks->capacity) { + if (bricks->capacity == 0) bricks->capacity = 256; + while (bricks->count+1 > bricks->capacity) bricks->capacity *= 2; + bricks->items.brick = realloc(bricks->items.brick, bricks->capacity * sizeof(*bricks->items.brick)); + } + bricks->items.brick[bricks->count++] = brick; +} + diff --git a/domino.h b/domino.h new file mode 100644 index 0000000..b08c332 --- /dev/null +++ b/domino.h @@ -0,0 +1,23 @@ +#include + +#ifndef DOMINO_H +#define DOMINO_H + +struct eye { + int x,y,val; +}; + +struct brick { + struct eye front, back; +}; + +struct bricks { + size_t capacity, count; + union {struct eye *eye; struct brick *brick;} items; +}; + +void bricks_append(struct bricks *bricks, struct brick brick); + +#endif // DOMINO_H + +