05 - Kreslenie s premennými
Last updated
Last updated
Na rozbeh si dáme jednu úlohu, ktorá rekapituluje predošlú lekciu.
Vytvorte skeč, v ktorom sú vykreslené dva štvorce so stranou 100
a sú umiestnené tak, že sa dotýkajú rohmi. Farby štvorcov si vyberte sami. Pozadie okna nastavte na tmavosivé:
Tento skeč si nezatvárajte. Radšej si ho uložte. Ešte sa k nemu vrátime.
Vytvorte nový skeč a skopírujte si do neho tento kód:
Doplňte kód v poslednom riadku (nahraďte otázniky) tak, aby program vykreslil štvorec so stranou 100
:
Vytvorte nový skeč, ktorý bude používať premenné x
, y
, sirka
, vyska
a s ich použitím nakreslí obdĺžnik, ktorý začína na súradniciach x
,y
a má rozmery sirka
,vyska
. Farbu si vyberte akú chcete.
Napríklad pre tieto hodnoty premenných:
Nakreslí toto:
Vytvorte nový skeč, ktorý bude mať premenné x
, y
a dlzka
. Pomocou týchto premenných nakreslí žltý štvorec, ktorý začína na súradniciach x
,y
a má dĺžku strany dlzka
.
Program nech vykreslí ešte aj červený štvorec, ktorý bude nalepený na žltom:
Funguje vám program správne aj keď zmeníte hodnotu premennej dlzka
? Po jej zmene by mali mať štvorce inú veľkosť, ale stále by mali byť k sebe prilepené:
Ak sa stalo, že pri inej dlzke
alebo pri iných hodnotách x
a y
už nie sú k sebe prilepené, tak váš program nie je správny. Opravte ho.
Vráťme sa teraz k programu z Úlohy 1:
Program ste mali napísaný s pomocou konkrétnych čísel. Nahraďte teraz súradnice prvého štvorca premennými x
a y
. Dĺžku strany, ktorá bola predtým 100, nahraďte premennou dlzka
. Vylaďte program tak, aby fungoval pre rôzne hodnoty x
, y
a dlzka
.To znamená, že štvorce sa stále budú dotýkať v rohu:
Príkaz rect
dostáva od nás v parametroch súradnice ľavého horného rohu. Ale čo ak chceme kresliť obdĺžnik alebo štvorec od stredu?
Teraz budete kresliť štvorec, ktorý má stred v súradniciach x
,y
a jeho strany majú dĺžku 100
. Aby ste taký štvorec mohli vykresliť príkazom rect
, musíte v programe vypočítať súradnice ľavého horného rohu, lebo to od nás očakáva príkaz rect
.
Vytvorte taký program. Bude mať premenné x
a y
, ktoré predstavujú pozíciu stredu štvorca. Dĺžku nemusíte vyjadrovať premennou, bude to 100
. Toto by vykreslil pre x=150
a y=50
:
Na základe predošlého programu vytvorte program, ktorý vykreslí tri takto sústredené štvorce. Všetky majú spoločný stred v bode x
,y
a postupne sa zmenšujú. Červený má dĺžku strany 100
, modrý 60
a biely 20
.
Bude váš skeč fungovať správne, aj keď napríklad zväčšíte hodnotu x
o 17 a hodnotu y
o 29? Ak nie, opravte si program.
Vymyslite (podobne ako v Úlohe 6) program, ktorý kreslí obdĺžnik so stredom v x
,y
, ale teraz pridáme premennú sirka
pre šírku obdĺžnika a premennú vyska
pre výšku obdĺžnika. Otestujte si svoj program na rôznych hodnotách týchto premenných.
Napíšte skeč, ktorý bude kresliť hlavu robota. Hlava je obdĺžniková a sú na nej dve hranaté oči a jedny hranaté ústa. Je to dosť hranatý robot. Stred hlavy je v súradniciach x
a y
. Veľkosť hlavy, očí a úst je na vás. Len si overte, že sa robot nerozsype, keď zmeníte hodnoty x
a y
.
Ak sa nudíš, môžeš sa pohrať so zaoblením rohov (piaty až ôsmy parameter v príkaze rect
) a vyrobiť Bendera. Ako sa robí zaoblenie rohov nájdeš v dokumentácii k príkazu rect
.
Päť farebných štvorcov leží tesne vedľa seba na jednej podložke. Veľkosti strán sú postupne 100
, 80
, 60
, 40
a 20
. Napíšte skeč, ktorý ich vykreslí tak, že v premenných x
a y
sú súradnice ľavého dolného rohu prvého štvorca. Ostatné štvorce sú na seba nalepené a zarovnané na spodnú hranu.
A samozrejme: vyskúšajte, či váš program funguje aj ak pomeníte hodnoty x
a y
.
x=100
, y=70
, sirka=200
, vyska=50
x=50
, y=50
, dlzka=100
.x=50
, y=50
, dlzka=20
.x=75
, y=20
, dlzka=40
rect( ? , ? , 100, 100)
?x=150
, y=50
.
(Rozmery okna sú možno u vás iné).x=150
, y=50
.x=167
, y=79
.x=100
, y=120
, sirka=200
, vyska=100
.x=
50, y=120
, sirka=20
, vyska=200
.x=200
,y=150
x=400
,y=250
x=30
, y=250