From d8136c2ff432390edb994348cd55426305e597df Mon Sep 17 00:00:00 2001 From: Bearmine Date: Wed, 28 May 2025 17:03:20 -0500 Subject: [PATCH] Format code --- day_04/src/crossword.rs | 78 ++++++++++++++++++++++++++++++++++------- day_04/src/main.rs | 16 ++++----- 2 files changed, 74 insertions(+), 20 deletions(-) diff --git a/day_04/src/crossword.rs b/day_04/src/crossword.rs index 50833a8..06e3dc1 100644 --- a/day_04/src/crossword.rs +++ b/day_04/src/crossword.rs @@ -4,8 +4,6 @@ use std::fs::File; use std::io::{BufReader, prelude::*}; use std::num; - - #[derive(Debug)] pub struct Crossword { data: Vec>, @@ -25,8 +23,8 @@ impl<'a> WordPuller<'a> { let mut word = String::new(); for i in 0..num_of_letters { - let x= self.x as isize + (i as isize * self.direction.0); - let y= self.y as isize + (i as isize * self.direction.1); + let x = self.x as isize + (i as isize * self.direction.0); + let y = self.y as isize + (i as isize * self.direction.1); word.push(self.crossword.data[x as usize][y as usize]); } @@ -69,14 +67,70 @@ impl Crossword { self.height } - pub fn n(&self, x: usize, y: usize) -> WordPuller { WordPuller {x, y, direction:(-1, 0), crossword: self}} - pub fn ne(&self, x: usize, y: usize) -> WordPuller { WordPuller {x, y, direction:(-1, 1), crossword: self}} - pub fn e(&self, x: usize, y: usize) -> WordPuller { WordPuller {x, y, direction:(0, 1), crossword: self}} - pub fn se(&self, x: usize, y: usize) -> WordPuller { WordPuller {x, y, direction:(1, 1), crossword: self}} - pub fn s(&self, x: usize, y: usize) -> WordPuller { WordPuller {x, y, direction:(1, 0), crossword: self}} - pub fn sw(&self, x: usize, y: usize) -> WordPuller { WordPuller {x, y, direction:(1, -1), crossword: self}} - pub fn w(&self, x: usize, y: usize) -> WordPuller { WordPuller {x, y, direction:(0, -1), crossword: self}} - pub fn nw(&self, x: usize, y: usize) -> WordPuller { WordPuller {x, y, direction:(-1, -1), crossword: self}} + pub fn n(&self, x: usize, y: usize) -> WordPuller { + WordPuller { + x, + y, + direction: (-1, 0), + crossword: self, + } + } + pub fn ne(&self, x: usize, y: usize) -> WordPuller { + WordPuller { + x, + y, + direction: (-1, 1), + crossword: self, + } + } + pub fn e(&self, x: usize, y: usize) -> WordPuller { + WordPuller { + x, + y, + direction: (0, 1), + crossword: self, + } + } + pub fn se(&self, x: usize, y: usize) -> WordPuller { + WordPuller { + x, + y, + direction: (1, 1), + crossword: self, + } + } + pub fn s(&self, x: usize, y: usize) -> WordPuller { + WordPuller { + x, + y, + direction: (1, 0), + crossword: self, + } + } + pub fn sw(&self, x: usize, y: usize) -> WordPuller { + WordPuller { + x, + y, + direction: (1, -1), + crossword: self, + } + } + pub fn w(&self, x: usize, y: usize) -> WordPuller { + WordPuller { + x, + y, + direction: (0, -1), + crossword: self, + } + } + pub fn nw(&self, x: usize, y: usize) -> WordPuller { + WordPuller { + x, + y, + direction: (-1, -1), + crossword: self, + } + } } impl Display for Crossword { diff --git a/day_04/src/main.rs b/day_04/src/main.rs index 27bb464..39dd291 100644 --- a/day_04/src/main.rs +++ b/day_04/src/main.rs @@ -24,14 +24,14 @@ fn main() -> Result<(), Box> { let crossword = Crossword::new(File::open(input_file_string)?)?; println!("{}", crossword); - println!("n: {}", crossword.n(3,3).take(4)); - println!("ne: {}", crossword.ne(3,3).take(4)); - println!("e: {}", crossword.e(3,3).take(4)); - println!("se: {}", crossword.se(3,3).take(4)); - println!("s: {}", crossword.s(3,3).take(4)); - println!("sw: {}", crossword.sw(3,3).take(4)); - println!("w: {}", crossword.w(3,3).take(4)); - println!("nw: {}", crossword.nw(3,3).take(4)); + println!("n: {}", crossword.n(3, 3).take(4)); + println!("ne: {}", crossword.ne(3, 3).take(4)); + println!("e: {}", crossword.e(3, 3).take(4)); + println!("se: {}", crossword.se(3, 3).take(4)); + println!("s: {}", crossword.s(3, 3).take(4)); + println!("sw: {}", crossword.sw(3, 3).take(4)); + println!("w: {}", crossword.w(3, 3).take(4)); + println!("nw: {}", crossword.nw(3, 3).take(4)); Ok(()) }