blob: 0e6efe001144fb9c1712a2af6b4581017c24608d (
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
32
33
34
35
36
37
38
39
40
41
|
#include <stdbool.h> // bool
#include <string.h> // atoi()
#include <stdlib.h> // EXIT_{FAILURE,SUCCESS}
#include <stdio.h>
#include "../libsok/sok.h"
#include "../text/util.h"
#include "../text/levels.h"
static void
solve_on_error(
const char * const err
) {
die("Error solving level: %s", err);
}
int main(int argc, char *argv[]) {
// init context
sok_ctx_t ctx;
sok_ctx_init(&ctx, NULL);
// walk levels
for (int i = 1; i < argc; i++) {
const size_t level_num = atoi(argv[i]);
// get level
const level_t *level = levels_get_level(level_num);
// load level
if (!sok_ctx_set_level(&ctx, level->data)) {
die("Couldn't load level %zu", level_num);
}
// solve level
if (!sok_solve(&ctx, solve_on_error)) {
die("Couldn't solve level");
}
}
// return success
return EXIT_SUCCESS;
}
|