Python fejlesztési kurzus
Fejezet
>
Szint
Szótárak használata
Egyéni függvények szótárak használatával
Cél
Használj egy egyedi függvényt, amely végigiterál a mezőn, és ülteti, valamint locsolja a növényeket.
A mezőn több fa várja az ültetést, vedd fel a magokat tartalmazó zsákot, majd töltsd újra a vizet a kútnál. Használj egy egyedi függvényt egy szótárral, hogy végigiterálj a mezőn, és ültess, majd locsold a magokat.
Vedd fel a magokat tartalmazó zsákot, amely a következő fa magokat biztosítja egy szótárban: "orange : 3" , "pear : 4" , "apple : 3" , "peach : 2". Menj a kútnál lévő fénylő X jelzéshez, és használd a collect() függvényt a víz összegyűjtéséhez, így: player.collect("water") .
Miután összegyűjtötted az összes szükséges anyagot, hozz létre egy sow_field nevű egyedi függvényt, amely a magokat és a vizet használva ülteti és öntözi a mezőt. Az egyedi függvény három (3) argumentumot fog elfogadni, ezek: tree, loops és direction. Ezeket az argumentumokat használva a függvény egy for ciklust hajt végre a mező öntözéséhez.
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)
Az első argumentum, a tree a szótárban használt kulcs neve, ezek: "orange", "pear", "apple" és "peach". Válaszd a megfelelő nevet ültetéskor.
A következő argumentum a loops, amely meghatározza, hány ciklust szeretnél, hogy a függvény ismételjen. Ez megegyezik a mezőn található magok számával minden egyes típussal. Az utolsó argumentum a direction, ezek: "left" és "right", válaszd ki, melyik irányba szeretnéd, hogy a játékos mozogjon a függvény ciklusainak végrehajtása során.
Menj a térkép legfelső részébe, miután összegyűjtötted a vizet, és használd az egyedi függvényt, így: sow_field("orange", 3, "right"). Ezt tedd meg az összes fa mag esetében a szint befejezéséhez.