Problem statement: https://github.com/ioof-holdings/recruitment/wiki/Robot-Challenge
Run npm install to install dependencies
Run npm run test to run the tests. The test would run in watch mode.
Run npm run linter to check for linter errors and warnings.
Usage: npm start and input commands on prompt
PLACE X,Y,F
MOVE
LEFT
RIGHT
REPORT
example:
PLACE 0,0,NORTH
LEFT
REPORT
npm run start .\automation\inputs.txt
####Understanding application structure
- index.ts is root of the application.
- enums defines enums for commands and robot movements.
- interfaces defines blueprint for robots movement and postion on board.
- movements handler for robot movements and commands on board.
- robotPlayer defines robot player and control movement on board.
- simulator defines all the rules for simulation.
- table initialises table top with defined values.
- constraints set position boundaries.
The following resources detail how the configurations in this repo were determined:
ToDo:
- Support multiple robots.
- Board columns and rows can be set with user input.
- Graphical user interface