Depois de 200 dias a viajar no espaço e a comer cereais finalmente chegou ao Marte. Hora de pousar, finalmente!
O módulo está no piloto-automático e tudo que tem que fazer é dar uma olhada
e dizer ao módulo onde pousar. O módulo deve pousar numa área plana
se quiser ficar inteiro. Indica ao módulo onde pousar a modificar a função
getLandingZone
de forma que retorne um
[!java|scala]Segment
a representar a área da 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 dos métodos [!java]double [/!]x()[!scala]:Double[/!]
e
[!java]double [/!]y()[!scala]:Double[/!]
dele.
Para determinar para qual área retornar, precisa chamar
[!java]List<Point>
[/!]getGround()[!scala]List[Point][/!]
, que retorna os vértices do
perfil do solo como uma lista de [!python]tuples (x,y)[/!]
[!java|scala]Point
s[/!].
Mais um detalhe: a sua função deve retornar uma área plana válida em qualquer situação, não apenas para a atualmente vista. Isto é porque não vai ser testado apenas neste mundo, mas também naquele do exercício anterior. Como sempre, pode ver os outros mundos existentes com a combobox apropriada.
Tenha um bom pouso! Não se esqueça de vestir seu traje espacial quando for sair.