Git Product home page Git Product logo

taygeta-cli's Introduction

Taygeta CLI

Taygeta Star

Taygeta é uma interface de linha de comando que implementa uma variação do desafio Mars Rover, utilizando a linguagem JAVA.

Ferramentas Utilizadas

Inicializaçã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

Docker

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

Lista de Comandos

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

Exemplos:

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).

add-planet

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.

add-probe

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 frente
  • L -> 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.

move-probe

Os comandos list exibem informações sobre as sondas e planetas cadastrados.

list-probe

Utilize o comando help ou ? para exibir uma lista com todos os comandos disponíveis.

help

Utilize o comando undo para desfazer o comando atual ou caso queira encerrar a aplicação utilize o comando exit.

undo



Minhas Informações de contato 📬

taygeta-cli's People

Contributors

andersonhsporto avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.