#include #include #include int main(int argc, char **argv) { reset_state(5); enum ACTION_RESULT res = try_place(0, 0x0001, STONE_FLAT); res = try_place(1, 0x0001, STONE_FLAT); const uint8_t d[1] = {1}; res = try_move(1, M_LEFT, 1, d); uint8_t location; enum STONE_VARIANT stone; enum PTN_PARSE_RESULT pr = parse_place(5, "Cb3", &location, &stone); printf("Place <%d>: stone %d at (%d,%d)\n",pr,stone,location%5,location/5); enum MOVE_DIRECTION direction; uint8_t steps; uint8_t drops[5]; pr = parse_move(5, "3c2+12", &location, &direction, &steps, drops); printf("Move <%d>: from (%d,%d) step %d sequence [%d,%d,%d,%d,%d]\n", pr,location%5,location/5, steps,drops[0],drops[1],drops[2],drops[3],drops[4]); char buf[10]; generate_move(5, 2+5*1, M_UP, 1, drops, buf); printf("Generated move: %s\n",buf); generate_place(5,1+5*2, STONE_CAPSTONE, buf); printf("Generated place: %s\n",buf); }