Najneskorší termín odovzdania: 26.10.2014 (nedeľa) o 21:00
Odovzdávané súbory: ZadanaKorytnacka.java, TrojuholnikovaPlocha.java
Cieľom tejto sady domácich zadaní je vytvoriť triedu ZadanaKorytnacka, ktorá rozširuje triedu Turtle a ktorá obsahuje nižšie predpísané metódy, a triedu TrojuholnikovaPlocha, ktorá rozširuje triedu WinPane.
Doplňujúce požiadavky:
Naučte korytnačky triedy ZadanaKorytnacka metódu emailovaAdresa, ktoré pre zadané meno a priezvisko zamestnanca UPJŠ vráti jeho e-mailovú adresu. E-mailová adresa zamestnanca UPJŠ má formát meno.priezvisko@upjs.sk, kde meno a priezvisko sú napísané malými písmenami. Meno a priezvisko osoby sa nachádzajú v parametri osoba a sú oddelené jednou medzerou.
Príklad:
emailovaAdresa("Janko HRASKO") = "janko.hrasko@upjs.sk"
emailovaAdresa("Peter Chemik") = "peter.chemik@upjs.sk"
emailovaAdresa("ALBERT MATEMATIK") = "albert.matematik@upjs.sk"
Tip: metóda toLowerCase triedy String
Základným prvkom HTML je značkovanie textu pomocou tagov. Tag je postupnosť znakov ohraničená znakmi < a >. Príklad textu s tagmi: Zakladnym prvkom <i>html</i> je <strong>tag</strong>.
Do triedy ZadanaKorytnacka pridajte metódu odstranTagy, ktorá vráti referenciu na novovytvorený reťazec, ktorý vznikne zo zadaného reťazca odstránením všetkých tagov.
Príklad:
odstranTagy("Zakladnym prvkom <strong>html</strong> je <b>tag</b>.") = "Zakladnym prvkom html je tag."
Existujú rôzne metódy, ako údaje „zmenšiť“ (kompresné algoritmy) alebo znemožniť ich prečítanie nežiadúcou osobou (šifrovacie algoritmy). V rámci tejto úlohy bude cieľom vytvoriť metódu, ktorá nepovolaným osobám trochu (ale naozaj iba trochu) sťaží prečítanie obsahu správy.
Do triedy ZadanaKorytnacka pridajte metódu zasifruj, ktorá zadaný reťazec transformuje na iný reťazec aplikovaním tzv. Jožkovho šifrovača. Nový reťazec zo zadaného reťazca vytvoríme preusporiadaním znakov. Prvý znak v novom reťazci bude prvý znak pôvodného reťazca, druhý znak v novom reťazci bude posledný znak pôvodného reťazca, tretí znak v novom reťazci bude druhý znak pôvodného reťazca, štvrtý znak v novom reťazci bude predposledný znak v pôvodnom reťazci, atď. Jednoducho nový reťazec vznikne striedavým pridávaním znakov zo začiatku reťazca a z konca reťazca, až kým sa „nestretneme“ v strede.
Príklady:
zasifruj("mama vari veceru") = "muarmeac evva ri"
zasifruj("ahoj svet") = "atheovjs "
Samotný kódovač nie je veľmi užitočný bez dekódovača. Do triedy ZadanaKorytnacka pridajte metódu desifruj, ktorá vráti dekódovaný reťazec, t.j. taký reťazec, ktorého zakódovaním dostaneme reťazec s rovnakým obsahom ako je parametrom referencovaný reťazec.
Má teda platiť, že s.equals(zasifruj(zakoduj(s)).
Naprogramujte triedu TrojuholnikovaPlocha rozšírujúcu triedu WinPane, ktorá klikaním do plochy bude kresliť body pospájané do trojuholníkov.
Každá trojica kliknutí do plochy vykreslí v ploche trojuholník s vrcholmi v bodoch kliknutia nasledovným spôsobom:
Farba vykresleného bodu je:
Alt,
Shift, a
Farba spojovacej čiary závisí od farby bodov, ktoré spája. Ak spájané body majú rovnakú farbu, ich spojnica má tiež túto farbu. Ak body majú rôznu farbu, spojnica má jednu z farieb modrá, zelená alebo červená, no táto farba sa musí líšiť od farby oboch bodov, ktoré spája. Spojnice nesmú prekrývať body, ktoré spájajú (viď obrázok).
