Skip to content

arvindmehra/mars-rover-ddd

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Mars Rover using Domain-Driven Design

About

The Purpose of this repo is

Develop an API that moves a rover around on a grid. You are given the initial starting point (x,y) of a rover and the direction (N,S,E,W) it is facing.

  • The rover receives a character array of commands.
  • Implement commands that move the rover forward/backward (f,b).
  • Implement commands that turn the rover left/right (l,r).
  • Implement wrapping from one edge of the grid to another. (planets are spheres after all)
  • Implement obstacle detection before each move to a new square.
  • Implement functionality to undo the command(s). If a given sequence of commands encounters an obstacle, the rover moves up to the last possible point and reports the obstacle.

Clone the repository and run.

Run

Go to the program directory and Run. This program use OptionParser to take inputs from CL.

ruby lib/mars_rover.rb --g 6602 --p 12W --c LFLFLFLFU

Type lib/mars_rover.rb --h for help.

To run specs

rspec

**NOTE: input file is included in the repository as rover_input.txt.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages