From 1f3a5ac38e1499768f1a21a18d4c2e96e10ada9a Mon Sep 17 00:00:00 2001 From: JasterV Date: Thu, 2 Dec 2021 23:32:09 +0100 Subject: [PATCH] implements new fn --- day2/src/main.rs | 8 ++------ day2/src/models/submarines.rs | 22 +++++++++++++++++++--- 2 files changed, 21 insertions(+), 9 deletions(-) diff --git a/day2/src/main.rs b/day2/src/main.rs index 5060232..0c36028 100644 --- a/day2/src/main.rs +++ b/day2/src/main.rs @@ -9,12 +9,8 @@ use std::path::Path; static INPUT_PATH: &str = "input.txt"; fn main() -> Result<()> { - let submarine_v1 = SubmarineV1 { xcord: 0, depth: 0 }; - let submarine_v2 = SubmarineV2 { - xcord: 0, - depth: 0, - aim: 0, - }; + let submarine_v1 = SubmarineV1::new(); + let submarine_v2 = SubmarineV2::new(); let commands = read_commands(INPUT_PATH)?; let submarine_v1 = apply_commands(submarine_v1, &commands); diff --git a/day2/src/models/submarines.rs b/day2/src/models/submarines.rs index 4c155cc..117eafa 100644 --- a/day2/src/models/submarines.rs +++ b/day2/src/models/submarines.rs @@ -15,6 +15,12 @@ pub struct SubmarineV1 { pub depth: i32, } +impl SubmarineV1 { + pub fn new() -> Self { + SubmarineV1 { xcord: 0, depth: 0 } + } +} + impl Submarine for SubmarineV1 { fn forward(self, unit: i32) -> Self { SubmarineV1 { @@ -48,9 +54,19 @@ impl Submarine for SubmarineV1 { #[derive(Debug, Clone, Copy)] pub struct SubmarineV2 { - pub xcord: i32, - pub depth: i32, - pub aim: i32, + xcord: i32, + depth: i32, + aim: i32, +} + +impl SubmarineV2 { + pub fn new() -> Self { + Self { + xcord: 0, + depth: 0, + aim: 0, + } + } } impl Submarine for SubmarineV2 {