heh
Diffstat (limited to 'src/util.rs')
| -rw-r--r-- | src/util.rs | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/util.rs b/src/util.rs index 90aa057..00b8f7a 100644 --- a/src/util.rs +++ b/src/util.rs @@ -2186,3 +2186,17 @@ pub mod python { } pub(crate) use eval; } + +pub mod hexagon { + use atools::prelude::*; + pub const n: [i64; 2] = [0, -1]; + pub const ne: [i64; 2] = [1, -1]; + pub const se: [i64; 2] = [1, 0]; + pub const s: [i64; 2] = [0, 1]; + pub const sw: [i64; 2] = [-1, 1]; + pub const nw: [i64; 2] = [-1, 0]; + pub fn distance(a: [i64; 2], b: [i64; 2]) -> i64 { + let [q, r] = a.asub(b); + ((q).abs() + (q + r).abs() + (r).abs()) / 2 + } +} |