From ec87f96ffec31c430b6058663ae831c1b3a29ff9 Mon Sep 17 00:00:00 2001 From: Sebastiano Tronto Date: Sat, 13 Apr 2024 17:15:42 +0200 Subject: Clean up --- cube.h | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'cube.h') diff --git a/cube.h b/cube.h index 5ef23a8..f2330b0 100644 --- a/cube.h +++ b/cube.h @@ -1,3 +1,19 @@ +typedef enum { + U, U2, U3, D, D2, D3, + R, R2, R3, L, L2, L3, + F, F2, F3, B, B2, B3 +} move_t; + +typedef enum { + UFr, ULr, UBr, URr, DFr, DLr, DBr, DRr, + RUr, RFr, RDr, RBr, LUr, LFr, LDr, LBr, + FUr, FRr, FDr, FLr, BUr, BRr, BDr, BLr, + + UFm, ULm, UBm, URm, DFm, DLm, DBm, DRm, + RUm, RFm, RDm, RBm, LUm, LFm, LDm, LBm, + FUm, FRm, FDm, FLm, BUm, BRm, BDm, BLm +} trans_t; + typedef struct { uint8_t corner[8]; uint8_t edge[12]; @@ -12,9 +28,17 @@ bool cube_equal(cube_t, cube_t); bool cube_error(cube_t); cube_t cube_compose(cube_t, cube_t); cube_t cube_inverse(cube_t); +cube_t cube_move(cube_t, move_t); +cube_t cube_transform(cube_t, trans_t); int64_t cube_coord_co(cube_t); int64_t cube_coord_eo(cube_t); cube_t cube_read(char *format, char *buf); void cube_write(char *format, cube_t cube, char *buf); +int cube_readmoves(char *, move_t *); +char *cube_movestr(move_t); +trans_t cube_readtrans(char *); +char *cube_transstr(trans_t); +move_t cube_inversemove(move_t); +trans_t cube_inversetrans(trans_t); -- cgit v1.3