add initial data
This commit is contained in:
commit
c4e841b4bc
43 files changed
+5284
No files matched your search
Generated
+7
@@ -0,0 +1,7 @@
|
||||
# This file is automatically @generated by Cargo.
|
||||
# It is not intended for manual editing.
|
||||
version = 3
|
||||
|
||||
[[package]]
|
||||
name = "aoc02"
|
||||
version = "0.1.0"
|
||||
@@ -0,0 +1,8 @@
|
||||
[package]
|
||||
name = "aoc02"
|
||||
version = "0.1.0"
|
||||
edition = "2018"
|
||||
|
||||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||
|
||||
[dependencies]
|
||||
+1000
@@ -0,0 +1,1000 @@
|
||||
forward 7
|
||||
down 1
|
||||
forward 9
|
||||
forward 4
|
||||
forward 7
|
||||
down 8
|
||||
forward 9
|
||||
down 2
|
||||
forward 5
|
||||
down 3
|
||||
forward 5
|
||||
up 7
|
||||
forward 3
|
||||
down 7
|
||||
down 8
|
||||
up 2
|
||||
down 4
|
||||
down 7
|
||||
forward 1
|
||||
forward 9
|
||||
down 9
|
||||
forward 7
|
||||
forward 8
|
||||
up 9
|
||||
down 6
|
||||
down 7
|
||||
forward 1
|
||||
forward 5
|
||||
forward 3
|
||||
down 3
|
||||
down 4
|
||||
forward 1
|
||||
forward 1
|
||||
forward 7
|
||||
down 4
|
||||
forward 6
|
||||
forward 1
|
||||
forward 9
|
||||
forward 4
|
||||
forward 6
|
||||
forward 6
|
||||
down 5
|
||||
down 4
|
||||
down 8
|
||||
up 9
|
||||
up 9
|
||||
down 6
|
||||
down 6
|
||||
forward 4
|
||||
forward 1
|
||||
down 1
|
||||
forward 7
|
||||
down 1
|
||||
forward 3
|
||||
forward 7
|
||||
forward 3
|
||||
up 8
|
||||
down 7
|
||||
down 4
|
||||
forward 7
|
||||
forward 1
|
||||
forward 2
|
||||
down 1
|
||||
down 4
|
||||
up 2
|
||||
up 8
|
||||
forward 6
|
||||
forward 5
|
||||
down 9
|
||||
up 8
|
||||
forward 1
|
||||
up 9
|
||||
down 7
|
||||
forward 1
|
||||
forward 5
|
||||
up 1
|
||||
up 7
|
||||
down 1
|
||||
down 5
|
||||
forward 9
|
||||
down 5
|
||||
up 5
|
||||
forward 8
|
||||
forward 9
|
||||
down 8
|
||||
forward 1
|
||||
down 1
|
||||
forward 7
|
||||
down 8
|
||||
up 4
|
||||
forward 9
|
||||
up 1
|
||||
down 7
|
||||
forward 4
|
||||
up 8
|
||||
down 5
|
||||
down 2
|
||||
down 1
|
||||
forward 5
|
||||
forward 3
|
||||
up 5
|
||||
forward 6
|
||||
up 1
|
||||
up 6
|
||||
up 2
|
||||
up 6
|
||||
up 5
|
||||
down 6
|
||||
forward 5
|
||||
down 4
|
||||
forward 7
|
||||
up 5
|
||||
down 3
|
||||
forward 9
|
||||
down 5
|
||||
down 2
|
||||
up 2
|
||||
forward 2
|
||||
down 1
|
||||
up 3
|
||||
down 8
|
||||
forward 8
|
||||
down 8
|
||||
forward 6
|
||||
forward 4
|
||||
forward 7
|
||||
forward 6
|
||||
up 6
|
||||
down 4
|
||||
forward 7
|
||||
forward 9
|
||||
forward 2
|
||||
forward 5
|
||||
down 4
|
||||
forward 4
|
||||
forward 9
|
||||
forward 2
|
||||
down 2
|
||||
forward 8
|
||||
up 8
|
||||
forward 1
|
||||
down 6
|
||||
forward 5
|
||||
down 4
|
||||
down 4
|
||||
down 7
|
||||
down 5
|
||||
forward 7
|
||||
forward 7
|
||||
down 9
|
||||
up 9
|
||||
forward 4
|
||||
down 2
|
||||
forward 6
|
||||
down 4
|
||||
forward 8
|
||||
forward 4
|
||||
up 5
|
||||
forward 8
|
||||
down 2
|
||||
forward 8
|
||||
forward 6
|
||||
forward 9
|
||||
down 7
|
||||
forward 1
|
||||
forward 1
|
||||
forward 1
|
||||
down 3
|
||||
forward 2
|
||||
down 5
|
||||
forward 3
|
||||
forward 8
|
||||
forward 4
|
||||
forward 7
|
||||
forward 8
|
||||
up 7
|
||||
down 2
|
||||
up 7
|
||||
forward 4
|
||||
forward 7
|
||||
down 4
|
||||
down 7
|
||||
down 3
|
||||
down 8
|
||||
forward 2
|
||||
down 2
|
||||
forward 2
|
||||
down 6
|
||||
forward 2
|
||||
down 8
|
||||
forward 2
|
||||
forward 5
|
||||
down 5
|
||||
forward 4
|
||||
down 7
|
||||
up 8
|
||||
up 7
|
||||
down 2
|
||||
down 1
|
||||
forward 4
|
||||
down 2
|
||||
forward 9
|
||||
down 2
|
||||
down 2
|
||||
forward 7
|
||||
forward 3
|
||||
forward 6
|
||||
up 8
|
||||
up 7
|
||||
forward 1
|
||||
forward 3
|
||||
down 9
|
||||
down 1
|
||||
forward 8
|
||||
down 7
|
||||
up 8
|
||||
down 3
|
||||
up 4
|
||||
forward 9
|
||||
forward 6
|
||||
up 6
|
||||
up 4
|
||||
down 2
|
||||
down 4
|
||||
forward 7
|
||||
down 2
|
||||
down 9
|
||||
forward 1
|
||||
forward 9
|
||||
down 6
|
||||
forward 1
|
||||
down 8
|
||||
forward 9
|
||||
down 9
|
||||
down 6
|
||||
up 4
|
||||
forward 5
|
||||
up 9
|
||||
down 2
|
||||
forward 7
|
||||
down 1
|
||||
down 1
|
||||
down 7
|
||||
down 4
|
||||
down 1
|
||||
down 6
|
||||
forward 4
|
||||
forward 6
|
||||
up 1
|
||||
down 8
|
||||
down 4
|
||||
forward 1
|
||||
down 5
|
||||
down 4
|
||||
up 1
|
||||
down 9
|
||||
forward 1
|
||||
down 1
|
||||
up 8
|
||||
forward 8
|
||||
forward 8
|
||||
down 5
|
||||
down 2
|
||||
down 3
|
||||
forward 1
|
||||
down 1
|
||||
forward 3
|
||||
down 7
|
||||
forward 7
|
||||
forward 1
|
||||
forward 3
|
||||
forward 5
|
||||
forward 3
|
||||
down 8
|
||||
forward 1
|
||||
up 2
|
||||
up 3
|
||||
down 4
|
||||
down 4
|
||||
up 4
|
||||
down 4
|
||||
up 8
|
||||
down 8
|
||||
down 7
|
||||
down 6
|
||||
forward 5
|
||||
down 3
|
||||
forward 2
|
||||
up 9
|
||||
down 7
|
||||
forward 2
|
||||
down 1
|
||||
down 3
|
||||
down 7
|
||||
down 1
|
||||
forward 7
|
||||
down 2
|
||||
down 9
|
||||
down 7
|
||||
up 1
|
||||
down 5
|
||||
forward 7
|
||||
forward 2
|
||||
forward 7
|
||||
forward 3
|
||||
down 2
|
||||
down 8
|
||||
up 3
|
||||
down 3
|
||||
forward 3
|
||||
down 2
|
||||
up 7
|
||||
up 1
|
||||
forward 5
|
||||
down 6
|
||||
down 3
|
||||
forward 6
|
||||
forward 8
|
||||
forward 2
|
||||
down 9
|
||||
down 1
|
||||
down 1
|
||||
down 4
|
||||
forward 8
|
||||
down 3
|
||||
up 3
|
||||
up 4
|
||||
forward 3
|
||||
forward 7
|
||||
down 3
|
||||
up 6
|
||||
down 8
|
||||
up 4
|
||||
up 3
|
||||
forward 5
|
||||
down 9
|
||||
down 2
|
||||
forward 6
|
||||
forward 4
|
||||
up 6
|
||||
up 1
|
||||
forward 4
|
||||
forward 7
|
||||
forward 1
|
||||
forward 8
|
||||
forward 3
|
||||
forward 3
|
||||
forward 9
|
||||
forward 4
|
||||
forward 4
|
||||
forward 4
|
||||
forward 2
|
||||
forward 7
|
||||
down 8
|
||||
forward 5
|
||||
up 1
|
||||
forward 3
|
||||
forward 7
|
||||
down 3
|
||||
forward 7
|
||||
up 6
|
||||
forward 4
|
||||
up 2
|
||||
down 7
|
||||
down 4
|
||||
up 3
|
||||
up 7
|
||||
down 1
|
||||
forward 5
|
||||
up 7
|
||||
up 7
|
||||
down 7
|
||||
down 9
|
||||
down 7
|
||||
forward 5
|
||||
forward 7
|
||||
down 1
|
||||
down 5
|
||||
down 6
|
||||
forward 6
|
||||
up 7
|
||||
forward 7
|
||||
forward 6
|
||||
down 4
|
||||
down 3
|
||||
down 9
|
||||
up 5
|
||||
down 9
|
||||
down 3
|
||||
forward 8
|
||||
forward 1
|
||||
forward 5
|
||||
down 6
|
||||
forward 7
|
||||
down 7
|
||||
forward 8
|
||||
down 9
|
||||
up 1
|
||||
up 2
|
||||
forward 2
|
||||
down 4
|
||||
up 1
|
||||
forward 2
|
||||
forward 9
|
||||
down 8
|
||||
forward 3
|
||||
up 3
|
||||
up 3
|
||||
forward 3
|
||||
down 7
|
||||
down 5
|
||||
forward 2
|
||||
up 3
|
||||
forward 3
|
||||
forward 5
|
||||
up 5
|
||||
forward 3
|
||||
down 1
|
||||
down 3
|
||||
down 6
|
||||
down 1
|
||||
forward 7
|
||||
forward 6
|
||||
down 5
|
||||
down 2
|
||||
forward 7
|
||||
down 3
|
||||
forward 2
|
||||
forward 2
|
||||
forward 2
|
||||
down 1
|
||||
forward 4
|
||||
forward 5
|
||||
down 8
|
||||
up 8
|
||||
up 7
|
||||
down 7
|
||||
forward 9
|
||||
down 8
|
||||
forward 1
|
||||
forward 6
|
||||
up 3
|
||||
forward 8
|
||||
up 9
|
||||
down 6
|
||||
down 9
|
||||
up 4
|
||||
down 1
|
||||
forward 1
|
||||
up 7
|
||||
down 4
|
||||
forward 7
|
||||
forward 4
|
||||
down 2
|
||||
forward 3
|
||||
forward 4
|
||||
down 7
|
||||
forward 5
|
||||
up 8
|
||||
down 9
|
||||
down 3
|
||||
forward 3
|
||||
forward 8
|
||||
down 7
|
||||
forward 1
|
||||
up 7
|
||||
down 7
|
||||
forward 7
|
||||
down 9
|
||||
down 6
|
||||
down 3
|
||||
down 1
|
||||
up 5
|
||||
up 6
|
||||
forward 8
|
||||
down 8
|
||||
up 1
|
||||
forward 6
|
||||
up 2
|
||||
down 6
|
||||
down 7
|
||||
down 5
|
||||
forward 7
|
||||
up 3
|
||||
up 6
|
||||
down 3
|
||||
up 9
|
||||
forward 9
|
||||
down 2
|
||||
down 4
|
||||
up 2
|
||||
forward 7
|
||||
down 7
|
||||
up 4
|
||||
forward 2
|
||||
down 4
|
||||
forward 7
|
||||
up 9
|
||||
forward 4
|
||||
forward 9
|
||||
down 8
|
||||
up 2
|
||||
up 2
|
||||
forward 2
|
||||
up 8
|
||||
forward 1
|
||||
forward 8
|
||||
forward 8
|
||||
down 9
|
||||
forward 6
|
||||
up 1
|
||||
down 3
|
||||
down 4
|
||||
down 6
|
||||
forward 6
|
||||
up 6
|
||||
down 2
|
||||
down 1
|
||||
down 1
|
||||
forward 9
|
||||
forward 2
|
||||
down 7
|
||||
down 8
|
||||
down 6
|
||||
down 3
|
||||
forward 1
|
||||
up 6
|
||||
up 4
|
||||
forward 3
|
||||
down 1
|
||||
forward 6
|
||||
down 8
|
||||
forward 6
|
||||
forward 5
|
||||
down 3
|
||||
down 5
|
||||
up 2
|
||||
down 7
|
||||
forward 8
|
||||
down 8
|
||||
up 3
|
||||
down 4
|
||||
down 3
|
||||
down 4
|
||||
up 9
|
||||
up 6
|
||||
forward 5
|
||||
forward 8
|
||||
down 8
|
||||
forward 1
|
||||
forward 8
|
||||
down 1
|
||||
down 3
|
||||
down 4
|
||||
down 6
|
||||
forward 3
|
||||
down 8
|
||||
down 9
|
||||
down 3
|
||||
forward 3
|
||||
forward 2
|
||||
forward 2
|
||||
down 1
|
||||
up 7
|
||||
down 6
|
||||
up 2
|
||||
down 9
|
||||
down 4
|
||||
down 3
|
||||
down 5
|
||||
down 4
|
||||
forward 4
|
||||
up 8
|
||||
forward 1
|
||||
down 9
|
||||
down 3
|
||||
down 3
|
||||
down 8
|
||||
down 5
|
||||
up 6
|
||||
up 5
|
||||
down 7
|
||||
down 3
|
||||
down 7
|
||||
forward 1
|
||||
up 5
|
||||
down 1
|
||||
forward 1
|
||||
down 7
|
||||
down 9
|
||||
down 3
|
||||
forward 1
|
||||
forward 7
|
||||
down 8
|
||||
forward 5
|
||||
up 5
|
||||
forward 2
|
||||
down 6
|
||||
forward 2
|
||||
down 2
|
||||
forward 2
|
||||
up 7
|
||||
down 2
|
||||
down 5
|
||||
down 2
|
||||
forward 7
|
||||
forward 2
|
||||
forward 4
|
||||
down 2
|
||||
down 7
|
||||
down 6
|
||||
forward 9
|
||||
down 8
|
||||
down 3
|
||||
down 6
|
||||
forward 7
|
||||
down 3
|
||||
down 4
|
||||
down 7
|
||||
down 7
|
||||
down 1
|
||||
up 8
|
||||
up 7
|
||||
up 6
|
||||
down 8
|
||||
up 8
|
||||
forward 8
|
||||
down 2
|
||||
down 4
|
||||
forward 7
|
||||
forward 4
|
||||
down 5
|
||||
down 4
|
||||
down 3
|
||||
forward 6
|
||||
up 9
|
||||
down 1
|
||||
down 3
|
||||
down 4
|
||||
down 7
|
||||
up 3
|
||||
up 4
|
||||
forward 1
|
||||
up 4
|
||||
down 9
|
||||
up 4
|
||||
up 3
|
||||
down 1
|
||||
down 2
|
||||
forward 5
|
||||
up 4
|
||||
down 1
|
||||
down 4
|
||||
down 8
|
||||
down 1
|
||||
up 6
|
||||
down 6
|
||||
forward 8
|
||||
forward 7
|
||||
down 5
|
||||
down 6
|
||||
down 5
|
||||
down 6
|
||||
down 9
|
||||
forward 6
|
||||
down 6
|
||||
down 7
|
||||
forward 3
|
||||
down 2
|
||||
down 9
|
||||
up 2
|
||||
down 6
|
||||
forward 2
|
||||
forward 6
|
||||
forward 4
|
||||
down 4
|
||||
forward 8
|
||||
forward 2
|
||||
forward 7
|
||||
forward 4
|
||||
down 9
|
||||
forward 6
|
||||
down 6
|
||||
forward 1
|
||||
down 4
|
||||
down 5
|
||||
forward 5
|
||||
up 5
|
||||
forward 7
|
||||
up 2
|
||||
down 9
|
||||
forward 9
|
||||
down 9
|
||||
forward 9
|
||||
forward 3
|
||||
forward 7
|
||||
forward 5
|
||||
forward 1
|
||||
down 5
|
||||
forward 5
|
||||
down 3
|
||||
down 2
|
||||
up 9
|
||||
down 7
|
||||
down 2
|
||||
forward 3
|
||||
down 8
|
||||
down 6
|
||||
down 7
|
||||
up 5
|
||||
up 9
|
||||
down 6
|
||||
down 8
|
||||
down 5
|
||||
down 8
|
||||
forward 4
|
||||
forward 5
|
||||
down 2
|
||||
down 1
|
||||
forward 6
|
||||
down 6
|
||||
forward 9
|
||||
forward 2
|
||||
forward 1
|
||||
down 3
|
||||
forward 8
|
||||
forward 6
|
||||
up 7
|
||||
forward 5
|
||||
down 4
|
||||
up 7
|
||||
down 6
|
||||
down 3
|
||||
up 8
|
||||
forward 5
|
||||
forward 5
|
||||
down 1
|
||||
down 7
|
||||
forward 2
|
||||
down 5
|
||||
forward 3
|
||||
forward 6
|
||||
forward 6
|
||||
up 5
|
||||
down 4
|
||||
down 2
|
||||
forward 7
|
||||
up 8
|
||||
forward 5
|
||||
up 7
|
||||
forward 6
|
||||
forward 6
|
||||
forward 6
|
||||
up 7
|
||||
down 1
|
||||
down 4
|
||||
down 4
|
||||
forward 5
|
||||
down 5
|
||||
up 7
|
||||
down 7
|
||||
forward 8
|
||||
down 6
|
||||
down 2
|
||||
forward 3
|
||||
down 8
|
||||
up 3
|
||||
down 2
|
||||
forward 7
|
||||
down 1
|
||||
forward 3
|
||||
up 1
|
||||
up 4
|
||||
down 4
|
||||
up 6
|
||||
down 1
|
||||
down 2
|
||||
forward 9
|
||||
up 8
|
||||
forward 3
|
||||
down 2
|
||||
forward 3
|
||||
down 7
|
||||
up 6
|
||||
forward 9
|
||||
down 3
|
||||
down 9
|
||||
up 5
|
||||
down 9
|
||||
down 6
|
||||
forward 8
|
||||
forward 5
|
||||
down 8
|
||||
forward 5
|
||||
forward 9
|
||||
up 1
|
||||
down 3
|
||||
up 2
|
||||
down 1
|
||||
down 2
|
||||
down 8
|
||||
forward 9
|
||||
forward 9
|
||||
down 7
|
||||
down 7
|
||||
down 5
|
||||
down 1
|
||||
down 7
|
||||
up 1
|
||||
up 1
|
||||
forward 8
|
||||
down 6
|
||||
up 8
|
||||
down 7
|
||||
down 1
|
||||
forward 1
|
||||
forward 4
|
||||
down 9
|
||||
up 2
|
||||
down 6
|
||||
forward 2
|
||||
down 4
|
||||
forward 7
|
||||
up 8
|
||||
down 3
|
||||
forward 9
|
||||
down 7
|
||||
up 7
|
||||
down 6
|
||||
down 9
|
||||
down 2
|
||||
up 7
|
||||
down 3
|
||||
down 9
|
||||
forward 7
|
||||
down 7
|
||||
up 6
|
||||
down 5
|
||||
down 4
|
||||
up 1
|
||||
down 1
|
||||
up 7
|
||||
up 9
|
||||
down 1
|
||||
forward 6
|
||||
forward 3
|
||||
down 5
|
||||
down 1
|
||||
up 8
|
||||
forward 9
|
||||
forward 6
|
||||
down 1
|
||||
up 3
|
||||
down 2
|
||||
forward 3
|
||||
up 6
|
||||
down 5
|
||||
down 3
|
||||
up 7
|
||||
down 8
|
||||
down 5
|
||||
down 3
|
||||
forward 6
|
||||
up 8
|
||||
down 4
|
||||
forward 3
|
||||
forward 5
|
||||
forward 9
|
||||
forward 1
|
||||
up 4
|
||||
forward 8
|
||||
forward 9
|
||||
forward 1
|
||||
up 9
|
||||
up 4
|
||||
forward 4
|
||||
forward 4
|
||||
forward 8
|
||||
up 5
|
||||
up 2
|
||||
down 7
|
||||
down 4
|
||||
up 5
|
||||
down 5
|
||||
forward 6
|
||||
up 8
|
||||
down 5
|
||||
down 7
|
||||
down 3
|
||||
up 2
|
||||
up 2
|
||||
forward 3
|
||||
forward 5
|
||||
forward 1
|
||||
forward 9
|
||||
forward 1
|
||||
down 2
|
||||
down 2
|
||||
up 6
|
||||
up 6
|
||||
down 5
|
||||
down 3
|
||||
down 4
|
||||
forward 4
|
||||
down 6
|
||||
up 6
|
||||
forward 8
|
||||
down 9
|
||||
forward 2
|
||||
forward 6
|
||||
down 7
|
||||
forward 3
|
||||
down 2
|
||||
down 5
|
||||
up 3
|
||||
forward 6
|
||||
forward 7
|
||||
forward 3
|
||||
forward 4
|
||||
down 9
|
||||
up 9
|
||||
forward 7
|
||||
down 8
|
||||
forward 1
|
||||
down 2
|
||||
up 5
|
||||
up 9
|
||||
forward 8
|
||||
up 5
|
||||
forward 7
|
||||
up 6
|
||||
forward 9
|
||||
down 6
|
||||
forward 4
|
||||
down 4
|
||||
forward 7
|
||||
up 8
|
||||
down 8
|
||||
down 7
|
||||
down 9
|
||||
up 1
|
||||
down 5
|
||||
forward 6
|
||||
down 9
|
||||
down 2
|
||||
down 2
|
||||
down 6
|
||||
down 6
|
||||
forward 8
|
||||
forward 5
|
||||
up 7
|
||||
forward 9
|
||||
forward 3
|
||||
forward 8
|
||||
forward 8
|
||||
down 7
|
||||
up 1
|
||||
down 4
|
||||
forward 7
|
||||
up 5
|
||||
down 9
|
||||
down 7
|
||||
forward 8
|
||||
down 3
|
||||
up 2
|
||||
down 7
|
||||
forward 3
|
||||
up 8
|
||||
forward 4
|
||||
up 2
|
||||
forward 1
|
||||
forward 4
|
||||
forward 5
|
||||
forward 3
|
||||
forward 6
|
||||
down 9
|
||||
up 7
|
||||
forward 7
|
||||
up 6
|
||||
down 2
|
||||
down 5
|
||||
forward 2
|
||||
forward 8
|
||||
down 3
|
||||
forward 6
|
||||
down 6
|
||||
forward 4
|
||||
up 3
|
||||
forward 3
|
||||
down 4
|
||||
up 3
|
||||
forward 6
|
||||
forward 7
|
||||
down 5
|
||||
forward 5
|
||||
down 9
|
||||
forward 7
|
||||
down 5
|
||||
down 6
|
||||
forward 9
|
||||
@@ -0,0 +1,77 @@
|
||||
trait Move {
|
||||
fn single_command(&mut self, direction: Direction, amount: i32);
|
||||
fn multiple_commands(&mut self, sequence_of_movements: Vec<(Direction, i32)>);
|
||||
fn result(&mut self) -> i32;
|
||||
}
|
||||
|
||||
#[derive(Debug)]
|
||||
struct Submarine{
|
||||
horizontal: i32,
|
||||
depth: i32,
|
||||
aim: i32,
|
||||
}
|
||||
|
||||
impl Move for Submarine {
|
||||
fn single_command(&mut self, direction: Direction, amount: i32) {
|
||||
println!("{:?} {}", direction, amount);
|
||||
if direction == Direction::Down {
|
||||
self.aim += amount;
|
||||
} else if direction == Direction::Up {
|
||||
self.aim -= amount;
|
||||
} else if direction == Direction::Forward {
|
||||
self.horizontal += amount;
|
||||
self.depth += self.aim * amount;
|
||||
}
|
||||
}
|
||||
|
||||
fn multiple_commands(&mut self, sequence_of_movements: Vec<(Direction, i32)>) {
|
||||
for (direction, amount) in sequence_of_movements {
|
||||
println!("{:#?}", self);
|
||||
self.single_command(direction, amount);
|
||||
}
|
||||
}
|
||||
|
||||
fn result(&mut self) -> i32 {
|
||||
return self.horizontal * self.depth
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Debug, PartialEq)]
|
||||
enum Direction{
|
||||
Down,
|
||||
Up,
|
||||
Forward,
|
||||
Unknown,
|
||||
}
|
||||
|
||||
fn main() {
|
||||
let sequence_of_movements = read_sequence_of_movements("data.txt");
|
||||
let mut submarine = Submarine{ horizontal: 0, depth: 0, aim: 0};
|
||||
submarine.multiple_commands(sequence_of_movements);
|
||||
println!("result: {}", submarine.result());
|
||||
}
|
||||
|
||||
|
||||
fn read_sequence_of_movements(filename: &str) -> Vec<(Direction, i32)> {
|
||||
let data = std::fs::read_to_string(filename).unwrap();
|
||||
let mut sequence_of_movements: Vec<(Direction, i32)> = Vec::new();
|
||||
for line in data.lines() {
|
||||
let direction = line.split(" ")
|
||||
.nth(0)
|
||||
.unwrap();
|
||||
let direction_actual = match direction {
|
||||
"down" => Direction::Down,
|
||||
"up" => Direction::Up,
|
||||
"forward" => Direction::Forward,
|
||||
_ => Direction::Unknown,
|
||||
};
|
||||
let amount = line.split(" ")
|
||||
.nth(1)
|
||||
.unwrap()
|
||||
.parse::<i32>()
|
||||
.unwrap();
|
||||
sequence_of_movements.push((direction_actual, amount))
|
||||
}
|
||||
return sequence_of_movements
|
||||
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
forward 5
|
||||
down 5
|
||||
forward 8
|
||||
up 3
|
||||
down 8
|
||||
forward 2
|
||||
Reference in new issue
Block a user