Codificação para Iniciantes com Blocos
Capítulo
>
Nível

Listas Avançadas e Estruturas de Dados
Funções com Listas Aninhadas

Objetivo

Use uma função personalizada que percorre o campo, plantando e regando as culturas.

O campo tem várias árvores que precisam ser plantadas, pegue o saco contendo sementes e, em seguida, reabasteça sua água no poço. Use uma função personalizada com uma estrutura de lista aninhada (dicionário) para percorrer o campo e plantar, depois regar as sementes.

Pegue o saco de sementes que fornecerá as seguintes sementes de árvore em uma estrutura de lista aninhada: "orange : 3", "pear : 4", "apple : 3", "peach : 2". Caminhe até o X iluminado próximo ao poço e use o bloco collect com "water" para coletar água.

Uma vez que você tenha coletado todos os materiais necessários, crie uma função personalizada chamada sow_field usando o bloco define function com três parâmetros: tree, loops e direction. Dentro da função, use um bloco de loop for com a variável x de 0 até loops - 1. Dentro do loop, use blocos if para verificar se direction é igual a "right" ou "left", e execute diferentes padrões de movimentação e plantio com base na direção.

O primeiro argumento, tree, é o nome da chave usada na estrutura de lista aninhada, sendo elas "orange", "pear", "apple" e "peach". Use o bloco plant com a variável seeds e o parâmetro tree como a chave.

O próximo argumento é loops e isso determina o número de ciclos para os quais você deseja que a função execute o loop. Isso é igual ao número de sementes de cada tipo no campo. O último argumento é direction, que pode ser "left" ou "right". Escolha para qual direção você gostaria que o jogador se deslocasse ao executar o loop da função.

Dirija-se à parte mais alta do mapa após coletar a água e use o bloco call function para chamar sow_field com "orange", 3 e "right" como argumentos. Faça isso para todas as sementes de árvore a fim de completar o nível.

Livro de Código