Taygeta é uma interface de linha de comando que implementa uma variação do desafio Mars Rover, utilizando a linguagem JAVA.
- JAVA 18 - Linguagem de programação (JDK 18).
- Apache Maven 3.8.6 - Gerenciador de dependências.
- IntelliJ - IDE para desenvolvimento.
- Docker - Serviço de virtualização.
Para executar o projeto é necessário gerar o artefato .jar, uma forma de executar essa ação no linux é utilizando o comando:
mvn package
Este comando irá gerar um .jar de nome Taygeta-cli-1.0-SNAPSHOT.jar
, para executar este artefato basta utilizar o comando:
java -jar Taygeta-cli-1.0-SNAPSHOT.jar
Para executar este projeto no docker, basta utilizar o seguinte comando para gerar uma imagem deste projeto:
docker build -t taygeta --build-arg JAR_FILE=Taygeta-cli-1.0-SNAPSHOT .
Este comando irá gerar uma imagem com o nome taygeta
, para visualizar o projeto no contêiner basta utilizar o comando:
docker run -it --rm taygeta
Comando | Definição |
---|---|
add-planet |
Adicionar novo planeta |
add-probe |
Adicionar sonda a um planeta existente |
move-probe |
Mover sonda existente |
list all ou list total |
Listar todos os planetas e suas respectivas sondas |
list planets ou list planet |
Listar todos os planetas |
list probes ou list probe |
Listar todas as sondas |
undo |
Desfazer comando atual |
help ou ? |
Exibir lista de comandos |
exit |
Encerrar o programa |
Para adicionar um planeta é necessário utilizar o comando add-planet
e inserir a altura e largura
do retângulo que representa a área deste planeta, utilizando o caractere x como delimitador (exemplo: 10x10
).
Para adicionar uma sonda a um planeta previamente cadastrado é necessário utilizar o comando add-probe
, este comando irá solicitar o ID do planeta, coordenada x, coordenada y e o ponto cardeal em inglês ou português.
Para mover uma sonda previamente cadastrada é necessário usar o comando move-probe
, este comando irá solicitar o ID do planeta, ID da sonda que será movimentada e a sequência de movimentos:
M
-> Mover a sonda uma unidade de área para frenteL
-> Virar a sonda para a esquerda (90 graus)R
-> Virar a sonda para a direita (90 graus)
Observação: se algum destes movimentos resultar em uma colisão o comando é cancelado.
Os comandos list
exibem informações sobre as sondas e planetas cadastrados.
Utilize o comando help
ou ?
para exibir uma lista com todos os comandos disponíveis.
Utilize o comando undo
para desfazer o comando atual ou caso queira encerrar a aplicação utilize o comando exit
.
Minhas Informações de contato 📬