pub-issues

This commit is contained in:
Volodymyr Patuta 2020-10-28 21:38:30 +01:00
parent 7c935269f5
commit 83cbb0094e

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)]