Prijavi problem


Obeleži sve katergorije koje odgovaraju problemu

Još detalja - opišite nam problem


Uspešno ste prijavili problem!
Status problema i sve dodatne informacije možete pratiti klikom na link.
Nažalost nismo trenutno u mogućnosti da obradimo vaš zahtev.
Molimo vas da pokušate kasnije.

Programiranje grafike pomoću Pygame, priručnik za sedmi razred

Наизменично смењивање облика или боја

Жуто-зелени квадрати

Напиши програм који ширину екрану попуњава помоћу 10 квадратића, пет жутих и пет зелених, који се наизменично ређају почевши од жутог.

Пошто знамо укупан број квадрата и ширину целог екрана дуж око којег су они распоређени, ширину једног квадрата можемо једноставно израчунати дељењем укупне ширине бројем квадрата. Квадрате цртамо у петљи. Ако вредност бројачке променљиве почиње од 0, тада се координата x левог горњег темена i-тог квадрата може добити множењем ширине квадрата бројем i (заиста, ако је ширина квадрата \(a\), тада квадрати редом почињу на координатама \(0, a, 2 a, \ldots, (n-1)\cdot a\). Координата y горњег левог темена сваког квадрата се добија одузимањем половине висине квадрата од средине екрана (коју израчунавамо дељењем висине екрана са два). На тај начин се вертикално средиште квадрата налази на средини екрана. На крају, боју квадрата можемо одредити у зависности од парности редног броја квадрата који се црта. Када је бројач у петљи i паран (када му је вредност 0, 2, 4, 6 или 8, што можемо израчунати поређењем остатка при дељењу i % 2 са нулом) тада квадрат бојимо у жуто, а када је непаран (када му је вредност 1, 3, 5, 7 или 9), тада квадрат бојимо у зелено.

Још један начин да се наизменично мењају боје је да се уведе логичка променљива којом се означава да ли цртамо жути квадрат. У почетку је постављамо на вредност тачно, у сваком кораку петље јој мењамо истинитосну вредност (тако што је негирамо оператором not), а у телу петље боју одређујемо на основу те вредности, гранањем.

Приметимо да смо наредбом гранања (наредби if-else) само поставили боју, а да смо сам квадрат цртали независно, након гранања. Наиме, да смо у наредби гранања цртали квадрат, непотребно бисмо понављали кôд и тиме начинили програм тежим за одржавање.

Патент затварач

Напиши програм који исцртава шару која подсећа на патент-затварач (рајсфершлус, цибзар).