Class: MarsRover::Runner
- Inherits:
-
Object
- Object
- MarsRover::Runner
- Defined in:
- lib/mars_rover/runner.rb
Instance Attribute Summary collapse
-
#plateau ⇒ Object
Returns the value of attribute plateau.
-
#rovers ⇒ Object
Returns the value of attribute rovers.
Instance Method Summary collapse
-
#initialize(file_path) ⇒ Runner
constructor
A new instance of Runner.
Constructor Details
#initialize(file_path) ⇒ Runner
Returns a new instance of Runner.
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/mars_rover/runner.rb', line 6 def initialize(file_path) file = File.open(File.(file_path), 'r') output_file = File.open('ouput.txt', 'w') plateu_coordinates = file.readline.split(' ') @rovers = [] @plateau = MarsRover::Plateau.new(plateu_coordinates[0].to_i, plateu_coordinates[1].to_i) while !file.eof? rover_position_line = file.readline.split(' ') rover_command_line = file.readline.strip rover = MarsRover::Rover.new(rover_position_line[0].to_i, rover_position_line[1].to_i, rover_position_line[2], plateau) rover_command_line.each_char do |command| rover.run_command(command) end @rovers << rover output = "#{rover.x} #{rover.y} #{rover.direction}\n" output_file.write output puts output end end |
Instance Attribute Details
#plateau ⇒ Object
Returns the value of attribute plateau.
4 5 6 |
# File 'lib/mars_rover/runner.rb', line 4 def plateau @plateau end |
#rovers ⇒ Object
Returns the value of attribute rovers.
4 5 6 |
# File 'lib/mars_rover/runner.rb', line 4 def rovers @rovers end |