Format code
This commit is contained in:
@@ -4,8 +4,6 @@ use std::fs::File;
|
|||||||
use std::io::{BufReader, prelude::*};
|
use std::io::{BufReader, prelude::*};
|
||||||
use std::num;
|
use std::num;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#[derive(Debug)]
|
#[derive(Debug)]
|
||||||
pub struct Crossword {
|
pub struct Crossword {
|
||||||
data: Vec<Vec<char>>,
|
data: Vec<Vec<char>>,
|
||||||
@@ -25,8 +23,8 @@ impl<'a> WordPuller<'a> {
|
|||||||
let mut word = String::new();
|
let mut word = String::new();
|
||||||
|
|
||||||
for i in 0..num_of_letters {
|
for i in 0..num_of_letters {
|
||||||
let x= self.x as isize + (i as isize * self.direction.0);
|
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 y = self.y as isize + (i as isize * self.direction.1);
|
||||||
word.push(self.crossword.data[x as usize][y as usize]);
|
word.push(self.crossword.data[x as usize][y as usize]);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -69,14 +67,70 @@ impl Crossword {
|
|||||||
self.height
|
self.height
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn n(&self, x: usize, y: usize) -> WordPuller { WordPuller {x, y, direction:(-1, 0), crossword: self}}
|
pub fn n(&self, x: usize, y: usize) -> WordPuller {
|
||||||
pub fn ne(&self, x: usize, y: usize) -> WordPuller { WordPuller {x, y, direction:(-1, 1), crossword: self}}
|
WordPuller {
|
||||||
pub fn e(&self, x: usize, y: usize) -> WordPuller { WordPuller {x, y, direction:(0, 1), crossword: self}}
|
x,
|
||||||
pub fn se(&self, x: usize, y: usize) -> WordPuller { WordPuller {x, y, direction:(1, 1), crossword: self}}
|
y,
|
||||||
pub fn s(&self, x: usize, y: usize) -> WordPuller { WordPuller {x, y, direction:(1, 0), crossword: self}}
|
direction: (-1, 0),
|
||||||
pub fn sw(&self, x: usize, y: usize) -> WordPuller { WordPuller {x, y, direction:(1, -1), crossword: self}}
|
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 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 {
|
impl Display for Crossword {
|
||||||
|
|||||||
@@ -24,14 +24,14 @@ fn main() -> Result<(), Box<dyn Error>> {
|
|||||||
let crossword = Crossword::new(File::open(input_file_string)?)?;
|
let crossword = Crossword::new(File::open(input_file_string)?)?;
|
||||||
|
|
||||||
println!("{}", crossword);
|
println!("{}", crossword);
|
||||||
println!("n: {}", crossword.n(3,3).take(4));
|
println!("n: {}", crossword.n(3, 3).take(4));
|
||||||
println!("ne: {}", crossword.ne(3,3).take(4));
|
println!("ne: {}", crossword.ne(3, 3).take(4));
|
||||||
println!("e: {}", crossword.e(3,3).take(4));
|
println!("e: {}", crossword.e(3, 3).take(4));
|
||||||
println!("se: {}", crossword.se(3,3).take(4));
|
println!("se: {}", crossword.se(3, 3).take(4));
|
||||||
println!("s: {}", crossword.s(3,3).take(4));
|
println!("s: {}", crossword.s(3, 3).take(4));
|
||||||
println!("sw: {}", crossword.sw(3,3).take(4));
|
println!("sw: {}", crossword.sw(3, 3).take(4));
|
||||||
println!("w: {}", crossword.w(3,3).take(4));
|
println!("w: {}", crossword.w(3, 3).take(4));
|
||||||
println!("nw: {}", crossword.nw(3,3).take(4));
|
println!("nw: {}", crossword.nw(3, 3).take(4));
|
||||||
|
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user