From 6c05a5accff2055ddac64504571e52d945bcd372 Mon Sep 17 00:00:00 2001 From: Sebastiano Tronto Date: Sat, 28 Oct 2023 10:19:36 +0200 Subject: Do not use D for drslice --- src/alg.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'src/alg.c') diff --git a/src/alg.c b/src/alg.c index 2b5b93f..6a16d9a 100644 --- a/src/alg.c +++ b/src/alg.c @@ -6,6 +6,7 @@ static bool allowed_HTM(Move m); static bool allowed_URF(Move m); static bool allowed_eofb(Move m); static bool allowed_drud(Move m); +static bool allowed_drud_noD(Move m); static bool allowed_htr(Move m); static bool allowed_next_HTM(Move l2, Move l1, Move m); static int axis(Move m); @@ -45,6 +46,12 @@ moveset_drud = { .allowed_next = allowed_next_HTM, }; +Moveset +moveset_drud_noD = { + .allowed = allowed_drud_noD, + .allowed_next = allowed_next_HTM, +}; + Moveset moveset_htr = { .allowed = allowed_htr, @@ -57,6 +64,7 @@ static Moveset * all_ms[] = { &moveset_URF, &moveset_eofb, &moveset_drud, + &moveset_drud_noD, &moveset_htr, }; @@ -94,6 +102,15 @@ allowed_drud(Move m) ((b == R || b == L || b == F || b == B) && m == b + 1); } +static bool +allowed_drud_noD(Move m) +{ + Move b = base_move(m); + + return b == U || + ((b == R || b == L || b == F || b == B) && m == b + 1); +} + static bool allowed_htr(Move m) { -- cgit v1.3