EDIT: Đã bọc bản đồ ví dụ vào một khối mã để định dạng đúng.Tìm các láng giềng lân cận trên lưới lục giác
Ok, tôi đang cố gắng viết một thuật toán A * cực kỳ đơn giản trên lưới lục giác. Tôi hiểu, và có thể làm phần A *. Trong thực tế, A * của tôi hoạt động cho lưới vuông. Những gì tôi không thể quấn bộ não của tôi xung quanh là tìm hàng xóm với hình lục giác. Dưới đây là cách bố trí cho lưới điện heagonal
0101 0301
0201 0401
0102 0302
0202 0402
vv, vv
Vì vậy, những gì tôi cần giúp đỡ đang viết một lớp lục giác rằng, cho đó là tọa độ hex, có thể tạo ra một danh sách các nước láng giềng. Nó cần để có thể tạo ra hàng xóm mà sẽ 'rơi ra' lưới (như 0000 hoặc 2101 trong một lưới 20x20) bởi vì đó là cách A * của tôi theo dõi trên nhiều bản đồ đặt cạnh nhau. Vì vậy, thứ gì đó sẽ hoạt động với đoạn mã này:
hành tinh = Hex ('0214') in (planet.neighbors()) ['Hex 0213', 'Hex 0215', 'Hex 0115', 'Hex 0315 ',' Hex 0116 ',' Hex 0316 ']
tôi đã cung cấp một câu trả lời cho câu hỏi cùng này tìm thấy ở đây: http://stackoverflow.com/a/15524441/2135355 –