Skip to content

Commit 29f6958

Browse files
author
alutskevich
committed
Step 6: update documentation
1 parent 108ec75 commit 29f6958

File tree

2 files changed

+44
-5
lines changed

2 files changed

+44
-5
lines changed

README.md

Lines changed: 43 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,47 @@
1-
# Requirements:
1+
## Specification
2+
A squad of robotic rovers is to be landed by NASA on a plateau on Mars.
3+
This plateau, which is curiously rectangular, must be navigated by the rovers so that their on
4+
board cameras can get a complete view of the surrounding terrain to send back to Earth.
5+
A rover's position is represented by a combination of an x and y co-ordinates and a letter
6+
representing one of the four cardinal compass points. The plateau is divided up into a grid to
7+
simplify navigation. An example position might be 0, 0, N, which means the rover is in the
8+
bottom left corner and facing North.
9+
In order to control a rover, NASA sends a simple string of letters. The possible letters are 'L', 'R'
10+
and 'M'. 'L' and 'R' makes the rover spin 90 degrees left or right respectively, without moving
11+
from its current spot.
12+
'M' means move forward one grid point, and maintain the same heading.
13+
Assume that the square directly North from (x, y) is (x, y+1).
14+
\
15+
\
16+
**Input:**\
17+
The first line of input is the upper-right coordinates of the plateau, the lower-left coordinates are
18+
assumed to be 0,0.
19+
The rest of the input is information pertaining to the rovers that have been deployed. Each rover
20+
has two lines of input. The first line gives the rover's position, and the second line is a series of
21+
instructions telling the rover how to explore the plateau.
22+
The position is made up of two integers and a letter separated by spaces, corresponding to the
23+
x and y co-ordinates and the rover's orientation.
24+
Each rover will be finished sequentially, which means that the second rover won't start to move
25+
until the first one has finished moving.
26+
\
27+
\
28+
**Output:**\
29+
The output for each rover should be its final co-ordinates and heading
30+
31+
32+
## Requirements:
233
- php 8.1
34+
- Ubuntu. Sorry for this requirement, but I did not use docker\vagrant in this task and did not run on Windows CLI.
335

4-
# Setup
36+
## Setup
537
1. Run `php composer.phar install`
638

7-
# Check NASA rovers` position
8-
To check position of NASA rovers position run command from console: `php bin/console app:nasa-rovers`
39+
## About command
40+
To check position of NASA rovers position run command from console: `php bin/console app:nasa-rovers`.
41+
\
42+
Command will ask you to write top-right coordinates (`5 5` for example) and then will ask to write rovers start positions and lists of actions.
43+
\
44+
To finish enter rovers information you should press `Ctrl+D` buttons combination.
45+
46+
## About tests
47+
To run tests use composer command: `php composer.phar tests`

src/Command/NasaRoversCommand.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@ protected function execute(
107107
}
108108

109109
foreach ($rovers as $roverInformation) {
110-
$output->write('Moving rover...');
110+
$output->write("\nMoving rover...");
111111
$rover = $this->nasaRoverService->process($roverInformation);
112112

113113
try {

0 commit comments

Comments
 (0)