Codificação para Iniciantes com Blocos
Capítulo
>
Nível
Listas Avançadas e Estruturas de Dados
Percorrendo Listas
Objetivo
Recupere todos os materiais no campo e faça o inventário de todos os itens coletados antes de guardá-los em contêineres específicos.
Uma tempestade destruiu o posto avançado próximo à ponte, espalhando os materiais por toda parte; tenho certeza de que esses materiais poderão ser usados mais tarde. Faça o inventário de cada um dos objetos que você recolher e guarde-os no depósito do outro lado da ponte.
Primeiro, colete todos os destroços espalhados no campo, que são: "branches", "boulders" e "planks". Depois de coletar todos os itens, coloque-os em uma estrutura de lista aninhada (dicionário) denominada materials e adicione os três (3) nomes dos materiais e suas quantidades utilizando o bloco set dict value.
Depois que tudo estiver dentro da estrutura de lista aninhada, dirija-se à marca de X clara e faça o inventário de todos os materiais que você coletou utilizando o bloco for each in dictionary com a função speak. Esse bloco especial de loop permite iterar sobre estruturas de lista aninhadas (dicionários) fornecendo duas variáveis: uma para a chave (name) e outra para o valor (number).
Utilize o bloco for each in dictionary com as variáveis name e number, e o dicionário materials. Dentro do loop, use o bloco speak com um bloco text join para combinar "Havia ", a variável number, " ", a variável name e " coletados".
Após realizar o inventário, dirija-se às marcas de X escuras e armazene os materiais que você coletou na estrutura de lista aninhada dentro de contêineres utilizando o bloco place. Use o bloco get dict value para acessar cada material, como get dict value com materials e a chave "branches", e então conecte-o ao bloco place. Existem três (3) marcas de X escuras; no contêiner à esquerda, coloque os "branches", no contêiner do meio, coloque os "boulders" e no contêiner à direita, coloque os "planks". Guarde tudo na posição correta para completar o nível.