summaryrefslogtreecommitdiff
path: root/src/puzzles/puzzle.h
blob: 8f7ef0d7045739f2d89938a2411140f92fbeebe7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include <stddef.h>

#ifndef PUZZLE_H

typedef struct {
    // TODO: figure it out
    char *LuaSnippet;
    char *ExpectedOutput;
} Test;

typedef struct {
    char *Name;
    char *Description;

    /// The tests that are accessible for an end user
    size_t PublicTestC;
    Test *PublicTests;

    size_t PrivateTestC;
    Test *PrivateTests;
} Puzzle;

// TODO
void ReadPuzzleFromFile(const char *path);

void FreePuzzle(Puzzle *self);
/// A prebuilt puzzle. Used for debuging
Puzzle *GetTestPuzzle();

#define PUZZLE_H
#endif // PUZZLE_H