diff options
| author | orangerot <orangerot@orangerot.dev> | 2025-10-14 15:09:17 +0200 |
|---|---|---|
| committer | orangerot <orangerot@orangerot.dev> | 2025-10-14 15:09:17 +0200 |
| commit | eb1d51733209b08d711c98ce69eb92c4ee583640 (patch) | |
| tree | aa2f256d0af3a6685780d6b158c8edf8202dece5 | |
| parent | e7bfbbc35c02711929575b5bbbd6f07c9f953fd4 (diff) | |
fix: add domino files
| -rw-r--r-- | domino.c | 12 | ||||
| -rw-r--r-- | domino.h | 23 |
2 files changed, 35 insertions, 0 deletions
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 <stdlib.h> +#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 <stddef.h> + +#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 + + |
