Corso di Sviluppo Python
Capitolo
>
Livello
Utilizzo dei dizionari
Funzioni personalizzate utilizzando dizionari
Obiettivo
Utilizza una funzione personalizzata che cicla attraverso il campo, piantando e irrigando i raccolti.
Il campo ha diversi alberi che devono essere piantati, prendi il sacchetto contenente i semi e poi riempi l'acqua presso il pozzo. Usa una funzione personalizzata con un dizionario per ciclare attraverso il campo, pianta e annaffia i semi.
Prendi il sacchetto di semi che ti garantirà i seguenti semi per alberi in un dizionario: "orange : 3" , "pear : 4" , "apple : 3" , "peach : 2" . Cammina verso il segno luminoso a forma di X accanto al pozzo e usa la funzione collect() per raccogliere l'acqua, così: player.collect("water") .
Una volta raccolti tutti i materiali necessari, crea una funzione personalizzata chiamata sow_field utilizzando i semi e l'acqua per piantare e irrigare il campo. La funzione personalizzata prenderà tre (3) argomenti, ossia: tree, loops e direction. Utilizzando questi argomenti, la funzione personalizzata eseguirà un ciclo for per irrigare il 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)
Il primo argomento, tree, è il nome della chiave utilizzata nel dizionario, che sono "orange", "pear", "apple" e "peach". Seleziona il nome appropriato durante la piantagione.
Il prossimo argomento è loops, che determina il numero di cicli per cui desideri che la funzione si ripeta. Questo è uguale al numero di semi di ogni tipo nel campo.
L'ultimo argomento è direction, che può essere "left" o "right", scegli la direzione in cui desideri che il giocatore si muova durante il ciclo della funzione.
Vai nella parte più alta della mappa dopo aver raccolto l'acqua e usa la funzione personalizzata, così: sow_field("orange", 3, "right"). Fai questo per tutti i semi degli alberi per completare il livello.