- Node installed on your system
npm install
Run jest tests with:
npm run test
npm run start- Follow the on-screen prompts to input values for warehouse and robot creation to set up the scenario
- Follow the on-screen prompts to provide commands to the robot to move it around the warehouse
- Utilises the inquirer package to provide a command line interface for the user to input values for the warehouse and robot creation, and to provide commands to the robot to move it around the warehouse.
- Scenario class to handle the creation of the CLI interface to setup both the warehouse and robot as well as moving the robot around the warehouse
- Warehouse class to handle the creation of the warehouse
- Generates a UUID to identify the warehouse to allow for potential future expansion to handle multiple warehouses
- Stores its width and height and allows public access to these values via getters
- Stores the locations of crates in the warehouse (with stringified coordinates as keys for easy collision detection)
- Robot class to handle the creation of the robot and to provide methods to move the robot around the warehouse and grab and drop crates. Errors if the robot is moved or installed outside the warehouse bounds
- Generates a UUID to identify the warehouse to allow for potential future expansion to handle multiple robots
- Stores its current location in terms of x and y coordinates
- Stores its warehouse's width and height
- Stores the crate it is currently holding
- Publicly reports its current location
- Capable of grabbing, moving and dropping crates
- Crate class to handle the creation of crates
- Generates a UUID to identify the warehouse to allow for potential future expansion to handle multiple crates
- Stores its current location in terms of x and y coordinates