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…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user