A little app to simulate every possible move in Connect Four.
1#include "../core.h"
2
3#include <stdio.h>
4#include <stdlib.h>
5#include <string.h>
6
7int main()
8{
9 init_core();
10
11 BoardState state;
12 init_board(state);
13
14 make_move_lookup_full(0, 5, state);
15 make_move_lookup_full(1, 0, state);
16 make_move_lookup_full(0, 6, state);
17 make_move_lookup_full(1, 6, state);
18 make_move_lookup_full(0, 0, state);
19 make_move_lookup_full(1, 3, state);
20 make_move_lookup_full(0, 4, state);
21 make_move_lookup_full(1, 1, state);
22 make_move_lookup_full(0, 3, state);
23 make_move_lookup_full(1, 4, state);
24 make_move_lookup_full(0, 5, state);
25 make_move_lookup_full(1, 5, state);
26 make_move_lookup_full(0, 4, state);
27 make_move_lookup_full(1, 5, state);
28 make_move_lookup_full(0, 3, state);
29 make_move_lookup_full(1, 0, state);
30 make_move_lookup_full(0, 1, state);
31 make_move_lookup_full(1, 1, state);
32
33 const char* correct_board =
34 "_1_2_3_4_5_6_7_\n"
35 "| | | | | | | |\n"
36 "| | | | | | | |\n"
37 "| | | | | |X| |\n"
38 "|X|X| |O|O|X| |\n"
39 "|O|O| |O|X|O|X|\n"
40 "|X|X| |X|O|O|O|\n"
41 "‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾\n";
42
43 char test_board[256];
44 sprint_board(state, test_board);
45
46 int result = strcmp(correct_board, test_board);
47 if (result != 0)
48 {
49 printf("Print board failed!\n");
50 printf("Expected:\n");
51 printf("%s", correct_board);
52 printf("Actual:\n");
53 printf("%s", test_board);
54 }
55
56 return result;
57}