Chapter 15 - Loop in a loop

Przed włączeniem komputerów lub w trakcie przedstaw dzieciom historię związaną z dzisiejszym tematem, zwracając uwagę na kluczowe słówka po angielsku.

Story

Have you ever flown in a helicopter? A helicopter can hover in place, giving you the opportunity to look at landscapes or land in hard-to-reach places. The flight is often noisy and eventful, but the view from the window is breathtaking!

Czy leciałeś kiedyś helikopterem? Helikopter może zawisnąć w miejscu, co daje możliwość przyjrzenia się krajobrazom lub lądowania w trudno dostępnych miejscach. Lot jest często głośny i pełen wrażeń, ale widok z okna zapiera dech w piersiach!

Create new world

  1. Kliknij Singleplayer → Create New World → Create New World.
  2. Po wejściu na świat kliknij literkę T na klawiaturze, aby otworzyć okno czatu.
Info

When we have two related parts of the program that need to repeat, we use a loop inside another loop. For example, we want the turtle to go around in circles. We need an outer loop, specifying how many times the turtle should turn, and an inner loop, specifying how many times it should move forward.

Kiedy mamy dwa powiązane ze sobą fragmenty programu, które muszą się powtarzać, korzystamy z pętli umieszczonej w innej pętli. Na przykład chcemy, aby żółwik chodził w kółko. Potrzebujemy pętli zewnętrznej, określającej ile razy żółwik ma skręcać oraz pętli wewnętrznej, określającej ile razy ma ruszyć się do przodu.

Czego się dzisiaj nauczysz?

Nauczysz się umieszczać pętlę wewnątrz innej pętli. Dowiesz się czym różni się pętla zewnętrzna od wewnętrznej i jak dobrać odpowiednie liczby do każdej z nich, żeby żółwik zbudował wybrany kształt lub przeszedł określoną trasę.

Podejdź lub przenieś się do zadania korzystając z książki. Przy każdym zadaniu stań na złotej płytce naciskowej, aby nie przeszkodzić żółwikowi w wykonywaniu programu. Kliknij tabliczkę prawym przyciskiem myszy, aby postawić żółwika.


Task 1

Zadaniem żółwika jest wyjęcie 6 bloków ze skrzynki po lewej stronie oddalonej o 4 bloki. Żółwik powinien dotrzeć do skrzynki po wyznaczonej ścieżce.

Postaw żółwika, klikając tabliczkę z napisem Task 1, prawym przyciskiem myszy.

for n = 1, 2 do
	for n = 1, 4 do
		turtle.forward()
	end
	turtle.turnLeft()
end
for n = 1, 6 do
	turtle.suck()
end

Task 2

Zadaniem żółwika jest wyznaczenie miejsca do lądowania dla helikopterów. Miejsce to ma wielkość 13/13 bloków.

for n = 1, 4 do
	for n = 1, 12 do
		turtle.back()
		turtle.select(1)
		turtle.placeDown()
		turtle.select(2)
		turtle.place()
	end
	turtle.turnLeft()
end
Korzystając z pętli w pętli musimy wiedzieć jaki będzie efekt końcowy. W tym przypadku będzie wyznaczone miejsce w kształcie kwadratu. Kwadrat ma 4 boki, co określamy w pętli zewnętrznej. Każdy bok ma 13 bloków długości, ale na początku żółwik będzie stał na pierwszym bloku, dlatego w pętli wpisujemy 12 razy. Obrót jest umieszczony w pętli zewnętrznej, ale już poza pętlą wewnętrzną, co oznacza, że żółwik obróci się 4 razy, a nie 12.

Task 3

Żółwik zbuduje kolorową podłogę o szerokości 8 bloków, ale nie wiadomo jakiej długości.

while true do
	for n = 1, 8 do
		turtle.back()
		turtle.select(math.random(4))
		turtle.placeDown()
	end
	turtle.turnRight()
	turtle.forward()
	turtle.turnLeft()
	for n = 1, 8 do
		turtle.forward()
	end
end

Zadanie kreatywne

Znajdź w tym miejscu złotą płytkę naciskową, dzięki której otrzymasz tryb kreatywny. Spróbuj wcisnąć przycisk w jej pobliżu.
English Polski
to hover zawisnąć, unosić się
hard-to-reach trudno dostępne
breathtaking zapierające dech
to go around in circles chodzić w kółko
inner wewnętrzne
outer zewnętrzne