You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
# string - ciąg znaków zaczynający się "
print "Hello_World
# integer
make "m 123
# float
make "x 1.5
make "y .99
# bool
if true [print "prawda]
while false [print "nigdy]
Zmienne
# deklaracja (nazwa to string)
make "zmienna 1+2
# odwołanie (dwukropek nazwa)
make "wieksza_zmienna :zmienna*2 # wieksza_zmienna = 6
make "wieksza_zmienna :wieksza_zmienna*2 # wieksza_zmienna = 12
if 2 = 2 [print "to_prawda]
if 2 != 1+1 [print "to_nieprawda]
ifelse :m>0 [print "to_wypisze] [print "tego_nie_wypisze]
do [print "wypisze_raz] while 2 >= :wieksza_zmienna
Dyrektywy
# if
if :x>:y [print "wypisze]
# ifelse
ifelse true [print "gdy_prawda] [print "gdy_falsz]
# while
while :m>0 [make "m :m-1 print "m]
until true [print "nieskonczona_petla]
# do while
do [print "raz] while false
do [print "raz] until false
# repeat
repeat 4 [fd 100 rt 90]
Funkcje
# definicja
to "nazwa_funkcji [lista_parametrów] body end
# funkcja rysująca prostokat o danych bokach
to "prostokat [:a,:b]
repeat 2 [
fd :a rt 90
fd :b rt 90
]
end
# funkcja bez parametrów
to "czesc []
print "czesc
end
# wywoływanie funkcji
nazwa_funkcji[wartości_parametrów]
prostokat[10,10*2]
czesc[]
Ruch żółwia i rysowanie
Komendy bezargumentowe
home - powrót do punktu (0,0)
pu, penup - podniesienie pisaka
pd, pendown - opuszczenie pisaka
st, showturtle - pokaż żółwia
ht, hideturtle - ukryj żółwia
clean - wyczyść tło (nie zmienia położenia żółwia)
cs, clearscreen, reset - wyczyść tło i zresteuj żółwia
Komendy jednoargumentowe
a. argument to wartość
fd, forward - do przodu
bk, backward - do tyłu
rt, right - obrót w prawo (w stopniach)
lt, left - obrót w lewo (w stopniach)
seth, setheading - ustaw skierowanie (w stopniach)
setx, sety - ustaw położenie w osi X lub Y
setpensize, petwidth, setpw - ustaw grubość pisaka
b. argument to string
setpc, setpencolor, setcolor - ustaw kolor pisaka
setbgcolor - ustaw kolor tła
przykłady:
fd 100
rt :kat
forward :x*100
setpc "black
setbgcolor "#ff0000
Komendy dwuargumentowe
setpos, setxy - ustaw pozycję XY
np.:
setxy [-100,:x*2]
Prędkość
użycie: speed wartość
tryby:
- wartość < 0 -- pominięcie rysowania każdego kroku, najszybsze
- wartość = 0 -- najszybsze rysowanie z widocznymi krokami
- wartość z przedziału (1,+inf) -- coraz wolniejszy ruch żółwia
2. Przykłady + wizualizacje
Trójkąt Sierpińskiego
to triangle [:side, :level]
if :level!=0 [
repeat 3 [
triangle[:side/2, :level-1] fd :side lt 120
]
]
end
speed -1
setpos[240,-220] seth -30 clean
triangle[500,7]