Another shared library update
This commit is contained in:
parent
61ca75696d
commit
1d6ff7705e
@ -18,6 +18,10 @@ impl<T> Grid<T> {
|
|||||||
self.vec.len()
|
self.vec.len()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub fn is_empty(&self) -> bool {
|
||||||
|
self.vec.is_empty()
|
||||||
|
}
|
||||||
|
|
||||||
pub fn num_cols(&self) -> usize {
|
pub fn num_cols(&self) -> usize {
|
||||||
self.width
|
self.width
|
||||||
}
|
}
|
||||||
|
@ -2,6 +2,25 @@ pub mod grid;
|
|||||||
pub mod enums;
|
pub mod enums;
|
||||||
|
|
||||||
pub use grid::*;
|
pub use grid::*;
|
||||||
|
pub use enums::*;
|
||||||
|
|
||||||
|
#[derive(Debug, Default, Copy, Clone, Eq, Hash, PartialEq)]
|
||||||
|
pub struct Location {
|
||||||
|
pub x: isize,
|
||||||
|
pub y: isize,
|
||||||
|
}
|
||||||
|
|
||||||
|
impl Location {
|
||||||
|
pub fn new(x: isize, y: isize) -> Self {
|
||||||
|
Location { x, y }
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn get_distance(self, other: Self) -> f64 {
|
||||||
|
let squares = (other.x - self.x).pow(2) + (other.y - self.y).pow(2);
|
||||||
|
|
||||||
|
(squares as f64).sqrt()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
#[macro_export]
|
#[macro_export]
|
||||||
macro_rules! deref {
|
macro_rules! deref {
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
use std::collections::HashSet;
|
use std::collections::HashSet;
|
||||||
use aoc_shared::enums::*;
|
use aoc_shared::{Location, Direction};
|
||||||
use aoc_shared::enums::Direction::*;
|
use aoc_shared::Direction::*;
|
||||||
|
|
||||||
struct Move {
|
struct Move {
|
||||||
dir: Direction,
|
dir: Direction,
|
||||||
@ -24,24 +24,6 @@ impl Move {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Debug, Default, Copy, Clone, Eq, Hash, PartialEq)]
|
|
||||||
struct Location {
|
|
||||||
x: isize,
|
|
||||||
y: isize,
|
|
||||||
}
|
|
||||||
|
|
||||||
impl Location {
|
|
||||||
fn new(x: isize, y: isize) -> Self {
|
|
||||||
Location { x, y }
|
|
||||||
}
|
|
||||||
|
|
||||||
fn get_distance(self, other: Self) -> f64 {
|
|
||||||
let squares = (other.x - self.x).pow(2) + (other.y - self.y).pow(2);
|
|
||||||
|
|
||||||
(squares as f64).sqrt()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// ---------------------------------------------------------------------------
|
// ---------------------------------------------------------------------------
|
||||||
|
|
||||||
#[derive(Debug, Default)]
|
#[derive(Debug, Default)]
|
||||||
@ -97,8 +79,6 @@ impl Rope {
|
|||||||
for i in 1..self.knot_count {
|
for i in 1..self.knot_count {
|
||||||
self.move_knot(i, i - 1);
|
self.move_knot(i, i - 1);
|
||||||
}
|
}
|
||||||
// self.head = to;
|
|
||||||
// self.head_visited.insert(to);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user