Kurs Rozwoju w Pythonie
Rozdział 8
>
Poziom 5
Cel
Użyj funkcji niestandardowej, która przechodzi przez pole, sadząc i podlewając uprawy.
Pole ma kilka drzew, które trzeba posadzić, złap torbę zawierającą nasiona, a następnie uzupełnij wodę przy studni. Użyj funkcji niestandardowej z słownikiem, aby przejść przez pole, posadzić i podlać nasiona.
Zdobądź torbę z nasionami, która zapewni Ci następujące nasiona drzew w słowniku: "orange : 3" , "pear : 4" , "apple : 3" , "peach : 2" . Idź do oświetlonego oznaczenia X obok studni i użyj funkcji collect(), aby zgromadzić wodę, w ten sposób: player.collect("water") .
Gdy zbierzesz wszystkie niezbędne materiały, utwórz funkcję niestandardową o nazwie sow_field używającą nasion i wody do sadzenia i nawadniania pola. Funkcja niestandardowa przyjmuje trzy (3) argumenty, są to: tree , loops i direction . Korzystając z tych argumentów, funkcja wykona pętlę for do nawadniania pola.
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)
Pierwszy argument, tree to nazwa klucza używana w słowniku, są to "orange" , "pear" , "apple" i "peach" . Wybierz odpowiednią nazwę podczas sadzenia.
Kolejny argument to loops, który określa liczbę cykli, przez które chcesz, aby funkcja była wykonywana. Jest to równe liczbie nasion każdego typu na polu. Ostatnim argumentem jest direction, to "left" i "right" , wybierz kierunek, w którym chcesz, aby gracz się poruszał podczas wykonywania funkcji.
Przejdź do najbardziej wysuniętej na północ części mapy po zebraniu wody i użyj funkcji niestandardowej, w ten sposób: sow_field("orange", 3, "right") . Zrób to dla wszystkich nasion drzew, aby ukończyć poziom.