refactor puzzles into structs
This commit is contained in:
parent
cebb68f4c7
commit
00ef5ed60e
60
src/main.rs
60
src/main.rs
@ -3,28 +3,40 @@ mod aoc2022;
|
|||||||
|
|
||||||
use std::fs;
|
use std::fs;
|
||||||
|
|
||||||
fn main() {
|
struct Puzzle {
|
||||||
|
day: usize,
|
||||||
let input_day01 = fs::read_to_string("src/aoc2021/day01/input.txt").expect("Error on reading file.");
|
year: usize,
|
||||||
let result_day01_task1 = aoc2021::day01::task_one(&input_day01);
|
task_one: fn(&str) -> String,
|
||||||
let result_day01_task2 = aoc2021::day01::task_two(&input_day01);
|
task_two: fn(&str) -> String
|
||||||
println!("AOC2021 Day 01 \t Task 1: {},\t\tTask 2: {}", result_day01_task1, result_day01_task2);
|
}
|
||||||
|
|
||||||
let input_day02 = fs::read_to_string("src/aoc2021/day02/input.txt").expect("Error on reading file.");
|
impl Puzzle {
|
||||||
let result_day02_task1 = aoc2021::day02::task_one(&input_day02);
|
pub fn solve_and_print(&self) {
|
||||||
let result_day02_task2 = aoc2021::day02::task_two(&input_day02);
|
let file = format!("src/aoc{}/day{:02}/input.txt", self.year, self.day);
|
||||||
println!("AOC2021 Day 02 \t Task 1: {},\tTask 2: {}", result_day02_task1, result_day02_task2);
|
let input = fs::read_to_string(file).expect("Error on reading file.");
|
||||||
|
|
||||||
let input_day03 = fs::read_to_string("src/aoc2021/day03/input.txt").expect("Error on reading file.");
|
let task_one_result = (self.task_one)(&input);
|
||||||
let result_day03_task1 = aoc2021::day03::task_one(&input_day03);
|
let task_two_result = (self.task_two)(&input);
|
||||||
let result_day03_task2 = aoc2021::day03::task_two(&input_day03);
|
|
||||||
println!("AOC2021 Day 03 \t Task 1: {},\tTask 2: {}", result_day03_task1, result_day03_task2);
|
println!("AOC{} Day {:02} \t Task 1: {:15}\tTask 2: {}", self.year, self.day, task_one_result, task_two_result);
|
||||||
|
}
|
||||||
let input_day04 = fs::read_to_string("src/aoc2021/day04/input.txt").expect("Error on reading file.");
|
}
|
||||||
let result_day04_task1 = aoc2021::day04::task_one(&input_day04);
|
|
||||||
let result_day04_task2 = aoc2021::day04::task_two(&input_day04);
|
fn main() {
|
||||||
println!("AOC2021 Day 04 \t Task 1: {},\t\tTask 2: {}", result_day04_task1, result_day04_task2);
|
// AOC 2021
|
||||||
|
let mut puzzle = Puzzle { day: 1, year: 2021, task_one: aoc2021::day01::task_one, task_two: aoc2021::day01::task_two };
|
||||||
let input_d1 = fs::read_to_string("src/aoc2022/day01/input.txt").expect("Error on reading file.");
|
puzzle.solve_and_print();
|
||||||
println!("AOC2022 Day 01 \t Task 1: {},\t\tTask 2: {}", aoc2022::day01::task_one(&input_d1), aoc2022::day01::task_two(&input_d1));
|
|
||||||
|
puzzle = Puzzle { day: 2, year: 2021, task_one: aoc2021::day02::task_one, task_two: aoc2021::day02::task_two };
|
||||||
|
puzzle.solve_and_print();
|
||||||
|
|
||||||
|
puzzle = Puzzle { day: 3, year: 2021, task_one: aoc2021::day03::task_one, task_two: aoc2021::day03::task_two };
|
||||||
|
puzzle.solve_and_print();
|
||||||
|
|
||||||
|
puzzle = Puzzle { day: 4, year: 2021, task_one: aoc2021::day04::task_one, task_two: aoc2021::day04::task_two };
|
||||||
|
puzzle.solve_and_print();
|
||||||
|
|
||||||
|
// AOC 2022
|
||||||
|
puzzle = Puzzle { day: 1, year: 2022, task_one: aoc2022::day01::task_one, task_two: aoc2022::day01::task_two };
|
||||||
|
puzzle.solve_and_print();
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user