Write a robot simulator.
A robot factory's test facility needs a program to verify robot movements.
The robots have three possible movements:
- turn right
- turn left
- advance
Robots are placed on a hypothetical infinite grid, facing a particular direction (north, east, south, or west) at a set of {x,y} coordinates, e.g., {3,8}, with coordinates increasing to the north and east.
The robot then receives a number of instructions, at which point the testing facility verifies the robot's new position, and in which direction it is pointing.
- The letter-string "RAALAL" means:
- Turn right
- Advance twice
- Turn left
- Advance once
- Turn left yet again
- Say a robot starts at {7, 3} facing north. Then running this stream of instructions should leave it at {9, 4} facing west.
Go through the setup instructions for JavaScript to install the necessary dependencies:
http://exercism.io/languages/javascript/installation
The provided test suite uses Jasmine. You can install it by opening a terminal window and running the following command:
npm install -g jasmineRun the test suite from the exercise directory with:
jasmine robot-simulator.spec.jsIn many test suites all but the first test have been marked "pending".
Once you get a test passing, activate the next one by changing xit to it.
Inspired by an interview question at a famous company.
It's possible to submit an incomplete solution so you can see how others have completed the exercise.