Merge branch 'queues' into 'master'
Queues See merge request mhart/DancingDroids!23
This commit is contained in:
commit
08557961a1
@ -8,3 +8,4 @@ edition = "2018"
|
|||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
clap = "2.33.3"
|
clap = "2.33.3"
|
||||||
|
queues = "1.1.0"
|
||||||
|
14
src/main.rs
14
src/main.rs
@ -1,4 +1,5 @@
|
|||||||
use clap::{App, Arg};
|
use clap::{App, Arg};
|
||||||
|
use queues::*;
|
||||||
use std::fs;
|
use std::fs;
|
||||||
use std::io;
|
use std::io;
|
||||||
|
|
||||||
@ -23,6 +24,10 @@ impl World {
|
|||||||
Orientation::W => '←',
|
Orientation::W => '←',
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
/// Check if a position is free.
|
||||||
|
fn empty_position(&mut self, p: Position) -> bool {
|
||||||
|
self.map[(p.x * p.y) as usize] == '.'
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Struct to store robot position.
|
/// Struct to store robot position.
|
||||||
@ -37,6 +42,7 @@ struct Robot {
|
|||||||
id: u32,
|
id: u32,
|
||||||
o: Orientation,
|
o: Orientation,
|
||||||
p: Position,
|
p: Position,
|
||||||
|
q: Queue<char>,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Robot {
|
impl Robot {
|
||||||
@ -68,19 +74,19 @@ impl Robot {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
/// Apply North orientation to the robot.
|
/// Apply North orientation to the robot.
|
||||||
fn to_north(&mut self) {
|
fn turn_north(&mut self) {
|
||||||
self.o = Orientation::N
|
self.o = Orientation::N
|
||||||
}
|
}
|
||||||
/// Apply South orientation to the robot.
|
/// Apply South orientation to the robot.
|
||||||
fn to_south(&mut self) {
|
fn turn_south(&mut self) {
|
||||||
self.o = Orientation::S
|
self.o = Orientation::S
|
||||||
}
|
}
|
||||||
/// Apply East orientation to the robot.
|
/// Apply East orientation to the robot.
|
||||||
fn to_east(&mut self) {
|
fn turn_east(&mut self) {
|
||||||
self.o = Orientation::E
|
self.o = Orientation::E
|
||||||
}
|
}
|
||||||
/// Apply West orientation to the robot.
|
/// Apply West orientation to the robot.
|
||||||
fn to_west(&mut self) {
|
fn turn_west(&mut self) {
|
||||||
self.o = Orientation::W
|
self.o = Orientation::W
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user