## Módulo lunar

Neste universo você pilota um módulo lunar. Em cada passo da simulação você recebe a posição, velocidade, ângulo e potência do módulo e deve enviar um comando ajustando o ângulo e a potência.

## Funções fornecidas

    [!java|c]double [/!]getX()[!scala]:Double[/!]
    [!java|c]double [/!]getY()[!scala]:Double[/!]

Obter (Get) as posições X e Y do módulo.

    [!java|c]double [/!]getVelocidadeX()[!scala]:Double[/!]
    [!java|c]double [/!]getVelocidadeY()[!scala]:Double[/!]

Obter a velocidade horizontal e vertical do módulo.

    [!java|c]double [/!]getÂngulo()[!scala]:Double[/!]
    [!java|c]void [/!]setÂnguloDesejado([!java|c]double [/!]ÂnguloDesejado[!scala]:Double[/!])

Obter ou ajustar o ângulo do módulo.
Um ângulo de 0° denota uma posição vertical onde a "cabeça" do módulo aponta para cima. Este é o ângulo que você deve pousar. Um ângulo positivo denota inclinação para a esquerda, um ângulo negativo denota inclinação para a direita. Você não pode inclinar mais que ±90°, e o ângulo pode sofrer uma variação de no máximo ±5° em cada passo.

    [!java|c]int [/!]getImpulso()[!scala]:Int[/!]
    [!java|c]void [/!]setImpulsoDesejado([!java|c]int [/!]thrust[!scala]:Int[/!])

Obter ou ajustar a potência do módulo.
Você só pode aumentar ou diminuir a potência de 1 a cada passo. logo, se a potência atual é 2 e você pede 4, ela vai mudar para 3 no próximo passo. Se você pedir menos que 0 (ou, respectivamente, mais que 4), vai ser como se você tivesse pedido 0 (ou, respectivamente, 4).

    [!java|c]int [/!]getCombustível()[!scala]:Int[/!]

Obter o combustível restante no módulo. Em cada passo da simulação o módulo consome tantas unidades de combustível quanto a potência atual. Uma vez que você fique sem combustível você entra em queda livre. Portanto cuidado!

    [!java]List<Point> [/!]getChão()[! scala]:List[Point][/!]

Obter os vértices do perfil do solo da esquerda para a direita. [!java|scala]Você pode recuperar as coordenada X e Y de cada ponto com os métodos correspondentes do seu ponto: `p.x()` e `p.y()`.[/!] [!python]Cada ponto é uma array de de dois inteiros denotando respectivamente as coordenadas X e Y de cada ponto.[/!]