Program Logomocja/Logo Komeniusz
Proszę o wytłumaczenie w jaki sposób mam napisać procedurę z załącznika. Wszystko po kolei, jak 5-letniemu dziecku, z uwzględnieniem szczegółów. Pilne, baaardzo proszę o pomoc..
" Life is not a problem to be solved but a reality to be experienced! "
© Copyright 2013 - 2024 KUDO.TIPS - All rights reserved.
Długość pnia jest stała (ustaliłem, że będzie to "200"). Mamy losowo wybrane: 3 lub 5 gałęzi, z każdej gałęzi: 3 lub 5 kwiatów, a z każdego kwiata: 3 lub 5 igieł. Proponuję zatem utworzyć 3 zmienne globalne: "a", "b" i "c".
przyp"a los[3 5]przyp"b los[3 5]przyp"c los[3 5]
Zmienna "a" określa ilość gałęzi, i ona będzie niezmienna do końca rysunku. Natomiast zmienna "b" - odpowiedzialna za ilość kwiatów, oraz zmienna "c" - odpowiedzialna za ilośc igieł, będzie zmieniana.
Następnie jest rysowanie pnia drzewa.
ws 200 np 200
W każdej ze zmiennych jest liczba losowo 3 lub 5. W zależności od tych zmiennych, następuje obrót o odpowiedni kąt, a następnie narysowanie elementów rysunku:
jeżeli :a=3[lw 60][lw 120]powtórz :a[
np 100 jeżeli :b=3[lw 60][lw 120]powtórz :b[
np 50 jeżeli :c=3[lw 60][lw 120]powtórz :c[
np 25 ws 25 pw 60]
Po narysowaniu igieł, a następnie kwiatów, musi nastąpić odwrót - również w zależności od wartości zmiennych:
jeżeli :c=3[lw 120][lw 180]ws 50 pw 60 przyp"c los[3 5]
]jeżeli :b=3[lw 120][lw 180]ws 100 pw 60 przyp"b los[3 5]]
W powyższym fragmencie kodu występują również kolejne przypisania zmiennym "b" oarz "c" - nowych wartości (3 lub 5) (ponieważ w każdej pętli - liczba kwiatów (b) oraz igieł (c) - zmienia się). Czyli to jest to: przyp"c los[3 5] i przyp"b los[3 5]
Ostatni etap, to skierowanie żółwia w kierunku północnym ("0"). Czyli:
jeżeli :a=3[lw 120][lw 180]
Procedura może zatem wyglądać następująco:
oto HIBERNAKUS
przyp"a los[3 5]przyp"b los[3 5]przyp"c los[3 5]
ws 200 np 200 jeżeli :a=3[lw 60][lw 120]powtórz :a[
np 100 jeżeli :b=3[lw 60][lw 120]powtórz :b[
np 50 jeżeli :c=3[lw 60][lw 120]powtórz :c[
np 25 ws 25 pw 60]jeżeli :c=3[lw 120][lw 180]ws 50 pw 60 przyp"c los[3 5]]
jeżeli :b=3[lw 120][lw 180]ws 100 pw 60 przyp"b los[3 5]]
jeżeli :a=3[lw 120][lw 180]
już
.
Kod ten działa w programie: "Logomocja Imagine".