#include "ctap.h"
void pcheck(struct HL_astar *p, int x1, int y1, int x2, int y2, int expect) {
- int from, to, dist;
+ struct HL_hex from, to;
+ int dist;
- from = HL_cantor_xy(x1,y1);
- to = HL_cantor_xy(x2,y2);
+ from = HL_hex_xy(x1,y1);
+ to = HL_hex_xy(x2,y2);
// HL_astar_clear(p);
}
/* make hex 55 missing */
-int neighbor55(int hex, int dir) {
- int neighbor;
-
- do {
- neighbor = HL_adjacent_hex(hex, dir++);
- } while (neighbor == HL_cantor_xy(5,5));
-
- return neighbor;
+int neighbor55(struct HL_hex hex, int dir, struct HL_hex *n) {
+ int valid;
+ struct HL_hex nh;
+
+ valid = HL_adjhexp(hex, dir, &nh);
+ if (valid && nh.x == 5 && nh.y == 5) {
+ valid = 0;
+ }
+ if (valid && n) {
+ *n = nh;
+ }
+
+ return valid;
+
+ return 1;
}
int main(void) {