Úlohy kategórie PP (profiprogramátor)

V Baltíkovom svete nastáva Obdobie vlády veľkého JA. Najvyšší čarodejník veľký Saruman začal vydávať príkazy, ktoré ničia pokoj v krajine. Ak všetkých ovládne, môže ublížiť aj nášmu svetu. Baltík sa musí pripraviť na obranu, prípadne spoločný boj obyvateľov jeho sveta o slobodu a dobro. Pomôžte Baltíkovi! Pošlite nám programy tých uloh, ktoré dokážete hoci len čiastočne vyriešiť. Vy získate body do Bitboja, novú hru pre kamarátov a spoločne sa nám možno podarí Baltíka zachrániť.

1. úloha ( 150 bodov)

Vytvorte program na učenie sa zaklínadiel a tvaru pohybu kúzelníckou paličkou: V 4 rohoch obrazovky budú 4 oblasti (veľkost približne 3 políčka vedľa seba). Orámujte ich obdĺžnikom, napíšte do týchto oblastí účinok 4 zaklínadiel: neviditeľnosť, zdvojenie, premena, presun. Po kliknutí myšou do niektorej oblasti sa objaví namiesto účinku zvoleného zaklínadla čarovné (zaklínacie) slovo -vymyslite ho. V strede obrazovky sa vykreslí tvar pohybu kúzelníckou paličkou:
zneviditeľnenie - kruh,
zdvojenie - elipsa,
premena - štvorec,
presun - obdĺžnik.
Útvary majú mať hrúbku čiary 15 a farbu žltú
PS: Môžeš vymyslieť aj ďaľšie kúzla, umiestniť ich názvy po obvode Baltíkovho územia a vymyslieť im tvary pohybu kúzelnickej paličky

2. úloha (150 bodov)

Je dôležité naučiť sa brániť nevítaným návštevám. Vytvorte program, v ktorom zo Sarumanovho hradu do Baltíkovho vyletí lietadlo (Lietadlo -predmety 8101,8102. Hrady sú vysoké 8 políčok, označené nápismi Saruman, Baltík). Za Baltíkovým hradom sa lietadlo zastaví a vyskočí z neho Saruman - parašutista. Ak na ňho niekto klikne myšou skôr ako dopadne na zem, vypíše sa nápis: "Odčaroval si Sarumana.", inak Baltíkov hrad vybuchne. Po stlačení ľubovolnej klávesy program skončí

3. úloha (150 bodov)

Došlo k najhoršiemu. Saruman začaroval Baltíka na medveďa. Vytvorte program, v ktorom medveď ovládaný z klávesnice šípkami blúdi po Sarumanovom lese (V lese je aspoň 20 stromov a medveď nemôže stúpiť na strom). Pridajte do programu možnosť záchrany pre Baltíka. Ak niekto stlačí klávesu P, objaví sa na náhodnom mieste princezná. Ak sa medveďovi podarí počas 15 krokov dostať ku princezne, pobozká jú (objaví sa nápis "cmuk") a premení sa na Baltíka. Baltík princezne vyčaruje aspoň 5 kvetov (alebo čo vás napadne) a program skončí. Ak sa medveď nestihol dostať k princezne, po 15 medveďových krokoch princezna zmizne, medveď znova blúdi a čaká na záchranu v podobe klávesy P.

4. úloha (250 bodov)

Baltík musí brániť územie pred Sarumanovým útokom: Baltík je ochrancom celého ľavého okraja svojej obrazovky. Saruman poslal na Baltíka 15 magických gúľ. Gule, ktoré vylietavajú od pravého okraja obrazovky rovnomerne sa približujú k ľavému Baltíkom stráženému okraju. Baltík musí všetky zachytiť. Počet zachytených gúľ sa zobrazuje v pravom hornom rohu obrazovky. Nová guľa vyletí vždy až Baltík predošlú zachytí. Ak ju nezachytí vybuchne a program končí. Dôležité je, že nová guľa sa objaví na náhodnom mieste pravého okraja obrazovky a pri každom kroku (políčku) môže ale nemusí (opäť je to náhodné) zmeniť smer. Ak guľa v predošlom kroku letela priamo, môže pokračovať priamo, šikmo hore alebo šikmo dole. Ak letela šikmo hore, môže pokračovať šikmo hore alebo priamo, ak letela šikmo dole, môže pokračovať šikmo dole alebo priamo k ľavému okraju obrazovky. Prvý pohyb gule môže byť akýkoľvek, posledný pohyb, ktorým sa guľa dostáva na ľavý okraj, môže byť len priamy.

10. úloha (100-300 )

Pošli nám program (animáciu, príbeh, hru) o tom, čo si predstavuješ, že sa dialo v Baltíkove

Pošli svoju úlohu

V názve súboru uveď svoj nick-prezývku na bitlande číslo úlohy a kategóriu. Súbor môže mať príponou bpr,bzip alebo zip. Napríklad: Saxana_4P.bpr

$maxsize) { printf("CHYBA: Súbor $_POST[soubor]_name má väčšiu veľkosť ako stanovená maximálna veľkosť súboru, ktorá je $ms kB."); $ok=0; } if($ok&&file_exists($s)) { printf("CHYBA: Súbor $_POST[soubor]_name už existuje. Nemôžete pridať súbor s rovnakým menom."); $ok=0; } if ($ok) { if(!(copy($_POST[soubor],$s))) printf("CHYBA: Súbor $_POST[soubor]_name nemohol by5 skopírovaný. Kontaktujte správcu."); else { chmod($s,0644); printf("\"školník\"

Súbor $_POST[soubor]_name bol úspešne odoslaný školníkovi Rubíkovi.
Keď sa vráti z nemenovaného hypermarketu, pridá vám body do Bitboja

"); } } } } ?>