← Vissza a feladatokhoz
2021 · Döntő / Harmadik forduló · 7–8. évfolyam3. feladat30 pont

Térbeli mozaik

eljárás aláírás (:param1 :param2)derékszög (90, -90, 270)szabályos háromszög (120, 60)szabályos n-szög (360/n)előre :paramhátra :paramelőre :param*vmielőre :param/vmikitöltés (tölt)sorminta – egyszerű elmozdulásmozaikismétlés – fix számúismétlés – paramétertől függőelágazás – hakülönben [][]885

Készítsd el az elem(méret,szín1,szín2,szín3), a sor(db,méret,szín1,szín2,szín3), valamint a mozaik(sordb,db,méret,szín1,szín2,szín3) eljárásokat az alábbi ábrák szerint! A kitöltésekhez a szürke különböző árnyalatait használtuk, hogy úgy látszódjon, mintha az egyes felületek árnyékba borulnának, másokat pedig több fény ér. Más színeket is használhatsz, de az ábrán a következők voltak: [10 10 10], [100 100 100], [200 200 200].

elem(50,(200,200,200),(10,10,10), (100,100,100))

sor(5,30, (200,200,200),(10,10,10), (100,100,100))

mozaik(10,5,30, (200,200,200),(10,10,10), (100,100,100))

Hivatalos megoldás (HTML)

Készítsd el az elem(méret,szín1,szín2,szín3), a sor(db,méret,szín1,szín2,szín3), valamint a mozaik(sordb,db,méret,szín1,szín2,szín3) eljárásokat az alábbi ábrák szerint! A kitöltésekhez a szürke különböző árnyalatait használtuk, hogy úgy látszódjon, mintha az egyes felületek árnyékba borulnának, másokat pedig több fény ér. Más színeket is használhatsz, de az ábrán a következők voltak: [10 10 10], [100 100 100], [200 200 200].

elem(50,
(200,200,200),(10,10,10), (100,100,100))

sor(5,30,
(200,200,200),
(10,10,10), (100,100,100))

mozaik(10,5,30,
(200,200,200),
(10,10,10),
(100,100,100))

Ha az alapelem kész, utána már a sokásos sor és mozaik eljárás következhet, de a sorok egymáshoz képest kicsit elcsúsztatva.

eljárás mozaik :sdb :db :méret :szín1 :szín2 :szín3
ha :sdb>0
[tollatfel
hakülönben mod :sdb 2 = 0
[jobbra 60 előre :méret/4*5 balra 60]
[balra 60 előre :méret/4*5 jobbra 60]
tollatle
sor :db :méret :szín1 :szín2 :szín3
mozaik :sdb-1 :db :méret :szín1 :szín2 :szín3
]
vége

eljárás sor :db :méret :szín1 :szín2 :szín3
ismétlés :db [elem :méret :szín1 :szín2 :szín3
tollatfel balra 60 hátra :méret/4*5 jobbra 120
előre :méret/4*5 balra 60 tollatle]
tollatfel
ismétlés :db [jobbra 60 hátra :méret/4*5 balra 120
előre :méret/4*5 jobbra 60]
tollatle
vége

eljárás elem :méret :szín1 :szín2 :szín3
oldal :méret 1 :szín2
oldal :méret -1 :szín3
tollatfel előre :méret/4 balra 60 előre :méret jobbra 60
tollatle
felso :méret :szín1 :szín2 :szín3
tollatfel balra 120 hátra :méret jobbra 60 hátra :méret/4
tollatle
vége

eljárás oldal :méret :irány :szín
előre :méret/4 jobbra 60*:irány előre :méret
jobbra 120*:irány előre :méret/4 jobbra 60*:irány
előre :méret/4*3 balra 60*:irány e :méret/4 jobbra 120*:irány
előre :méret/4 jobbra 60*:irány
tollatfel jobbra 60*:irány előre :méret/8 töltőszín! :szín
tölt hátra :méret/8 balra 60*:irány tollatle
vége

eljárás felso :méret :szín1 :szín2 :szín3
jobbra 60 tollatle rombuszperem :méret :szín1
tollatfel előre :méret/4 jobbra 60 előre :méret/4 balra 60
előre :méret/2 jobbra 120 tollatle
előre :méret/2
tollatfel balra 210 előre :méret /8 töltőszín! :szín2 tölt
hátra :méret/8 jobbra 60 előre :méret/8 töltőszín! :szín3
tölt hátra :méret/8 balra 90 előre :méret/4*3
jobbra 120 hátra :méret/4 tollatle
vége

eljárás rombuszperem :méret :szín
rombusz :méret
tollatfel előre :méret/4 jobbra 60 előre :méret/4 balra 60
tollatle
rombusz :méret/2
tollatfel jobbra 60 hátra :méret/4 balra 60 hátra :méret/4
jobbra 30 előre :méret/8 töltőszín! :szín tölt
hátra :méret/8 balra 30 tollatle
vége

eljárás rombusz :méret
ismétlés 2 [előre :méret jobbra 60 előre :méret jobbra 120]
vége

elem

A. elem alakja jó 4 pont

B. elem paraméterrel méretezhető 2 pont

C. elem oldalai különböző színűek; paraméterekkel adottak 2+2 pont

Sor

D. sor egy sorban rajzol ki elemeket; az ábra szerint 2+2 pont

E. elemek darabszáma; mérete; színei paraméterezhetőek 2+2+2 pont

Mozaik

F. párhuzamos sorokból áll 2 pont

G. a mozaik kitölti a síkot az ábra szerint 2 pont

H. paraméteres a darabszámokkal, mérettel, színekkel 2+2+2 pont