Bug `uint8_t board[100]; ... for (uint8_t i = 1; i < 101; i++) { board[i] = i; }` attempts to access `board[100]` which is out of the valid 0 - 99 range. Better as ``` #define BOARD_SIZE 100 uint8_t board[BOARD_SIZE]; ... for (size_t i = 0; i < BOARD_SIZE; i++) { board[i] = i + 1; } ``` [Edit] Now I see this point lightly covered by [TrayMan](https://codereview.stackexchange.com/a/293605/29485). Moving answer to wiki.