Depois de 200 dias viajando no espaço e comendo cereais você finalmente chegou em Marte. Hora de pousar, finalmente!
O módulo está no piloto-automático e tudo que você tem que fazer é dar
uma olhada e dizer ao módulo onde pousar. O módulo deve pousar numa
área plana se você quiser ficar inteiro. Você indica ao módulo
onde pousar modificando a função getLandingZone
de forma
que ela retorne um [!java|scala]Segment
representando a
área de sua escolha.
Um segmento é composto de dois Ponto
s, cada um deles
composto de dois double
s. Um segmento é construído com o
construtor Segment([!java]Point [/!]start[!scala]:Point[/!],
[!java]Point [/!]end[!scala]:Point[/!])
. Um ponto é construído
com o construtor Point([!java]double [/!]x[!scala]:Double[/!],
[!java]double [/!]y[!scala]:Double[/!])
. As coordenadas de um
ponto são acessíveis através de seus métodos [!java]double
[/!]x()[!scala]:Double[/!]
e [!java]double
[/!]y()[!scala]:Double[/!]
.
Para determinar para qual área retornar, você precisa chamar
[!java]List<Point>
[/!]getGround()[!scala]List[Point][/!]
, que retorna os vértices
do perfil do solo como uma lista de
[!java|scala]Point
s[/!] [!python]tuples (x,y)[/!].
Mais um detalhe: Sua função deve retornar uma área plana válida em qualquer situação, não apenas para a atualmente vista. Isto é por que ele não vai ser testado apenas neste mundo, mas também naquele do exercício anterior. Como sempre, você pode ver os outros mundo existentes com a combobox apropriada.
Tenha um bom pouso! Não esqueça de vestir se traje espacial quando for sair.