Merge branch 'pub-robot' into 'master'

pub-issues

See merge request mhart/DancingDroids!34
This commit is contained in:
Martin HART 2020-10-29 08:37:20 +01:00
commit 1fff4677cf
1 changed files with 9 additions and 9 deletions

View File

@ -1,19 +1,19 @@
/// A Robot *aka droid* is represented here. /// A Robot *aka droid* is represented here.
/// Each robot must have a unique id. /// Each robot must have a unique id.
pub struct Robot { pub struct Robot {
id: u32, pub id: u32,
o: Orientation, pub o: Orientation,
p: Position, pub p: Position,
i: Vec<char>, i: Vec<char>,
} }
impl Robot { impl Robot {
/// Create new `Robot` with given id, `Orientation`, `Position` and instructions. /// Create new `Robot` with given id, `Orientation`, `Position` and instructions.
fn new(id: u32, o: Orientation, p: Position, i: Vec<char>) -> Robot { pub fn new(id: u32, o: Orientation, p: Position, i: Vec<char>) -> Robot {
Robot { id, o, p, i } Robot { id, o, p, i }
} }
/// Apply given instruction to a `Robot`. /// Apply given instruction to a `Robot`.
fn execute_instruction(&mut self) { pub fn execute_instruction(&mut self) {
match self.i.pop() { match self.i.pop() {
Some(instruction) => match instruction { Some(instruction) => match instruction {
'L' => match self.o { 'L' => match self.o {
@ -42,7 +42,7 @@ impl Robot {
} }
/// Enum to store all possible orientations. /// Enum to store all possible orientations.
enum Orientation { pub enum Orientation {
N, N,
E, E,
S, S,
@ -51,9 +51,9 @@ enum Orientation {
/// Struct to store robot position. /// Struct to store robot position.
#[derive(PartialEq, Eq, Hash)] #[derive(PartialEq, Eq, Hash)]
struct Position { pub struct Position {
x: i32, pub x: i32,
y: i32, pub y: i32,
} }
#[cfg(test)] #[cfg(test)]