summaryrefslogtreecommitdiff
path: root/include/tak.c
diff options
context:
space:
mode:
Diffstat (limited to 'include/tak.c')
-rw-r--r--include/tak.c21
1 files changed, 6 insertions, 15 deletions
diff --git a/include/tak.c b/include/tak.c
index 1970fca..6bb11ec 100644
--- a/include/tak.c
+++ b/include/tak.c
@@ -3,18 +3,11 @@
// -------------------------------------------------------------------
// Helpers
-#define NUM_SHIFT 4
#define NUM_INC (0x1<<NUM_SHIFT) // 0b00010000
#define NUM_MASK (0xF<<NUM_SHIFT) // 0b11110000
-#define STONE_MASK 0b00000011
#define DFS_MASK 0b00001100
#define USED_MASK 0b11110011
-#define STONE_AT(l) (celldat[(l)] & STONE_MASK)
-#define COUNT_AT(l) (celldat[(l)] >> NUM_SHIFT)
-
-#define THE_COORDS(x,y) ((x)+(y)*board_size)
-
// -------------------------------------------------------------------
// General state stuff
@@ -389,15 +382,13 @@ parse_move(const uint8_t board_size, char *ptn,
}
ptn++;
- // Handle the case '[1]<column><row><direction>' as
- // '1<column><row><direction>1' for convenience
+ // Handle the case 'n<column><row><direction>' as
+ // 'n<column><row><direction>n' for convenience, if n is omitted
+ // assume n = 1
if (*ptn == 0) {
- if (picked_up == 1) {
- *out_steps = 1;
- out_drops[0] = 1;
- } else {
- return PTN_INVALID;
- }
+ *out_steps = picked_up;
+ out_drops[0] = picked_up;
+ return PTN_VALID;
}
*out_steps = 0;