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