Curso de Desenvolvimento em Python
Capítulo
>
Nível
Usando Dicionários
Funções personalizadas usando dicionários
Objetivo
Use uma função personalizada que percorre o campo, plantando e regando as plantações.
O campo tem várias árvores que precisam ser plantadas, pegue a bolsa contendo sementes e depois reabasteça sua água no poço. Use uma função personalizada com um dicionário para percorrer o campo, plantar e regar as sementes.
Pegue o saco de sementes, que lhe dará as seguintes sementes de árvores em um dicionário: "laranja: 3", "pera: 4", "maçã: 3", "pêssego: 2". Ande até a marca X luminosa ao lado do poço e use a função collect() para reunir água, assim: player.collect("water").
Depois de coletar todos os materiais necessários, crie uma função personalizada chamada sow_field usando as sementes e a água para plantar e irrigar o campo. A função personalizada aceitará três (3) argumentos, sendo eles: tree, loops e direction. Usando esses argumentos, a função personalizada executará um loop for para irrigar o campo.
def sow_field(tree,loops,direction):
for x in range(loops):
if direction == "right":
player.move_forward(2)
player.turn_left()
player.plant(seeds,tree)
player.water()
player.turn_right()
player.move_forward()
if direction == "left":
player.move_forward()
player.turn_right()
player.plant(seeds,tree)
player.water()
player.turn_left()
player.move_forward(2)
O primeiro argumento, tree, é o nome da chave usada no dicionário, sendo eles: "laranja", "pera", "maçã" e "pêssego". Selecione o nome apropriado ao plantar.
O próximo argumento é loops e determina o número de ciclos que você deseja que a função execute. Isso é igual ao número de sementes de cada tipo no campo. O último argumento é a direção, sendo "left" e "right", escolha em qual direção você gostaria que o jogador se movesse ao executar a função.
Dirija-se à parte mais alta do mapa após coletar a água e use a função personalizada, assim: sow_field("laranja", 3, "right"). Faça isso para todas as sementes de árvore para completar o nível.