2009. március 20., péntek

Labor feladat

A mai feladatban mindharom az oran tanult mintat alkalmazni kell.

1.) Hozzatok létre 4 kicsi képet, bmp-t amivel csak akartok. Mondjuk 16x16-ost, ami jólesik.

2.) Az alkalmazás egy String alapján létrehoz egy hierarchikus adatstruktúrát, és ezt bejárva, ez alapján rak össze képet az apró képekből.

- Legyen egy ablak, amin van felül 3 gomb, alatta egy üres terület, ahová lehet rajzolni. Itt jelenjen meg az elkészült kép.

- Kapjon egy String-et, amiben az 'a', 'b', 'c', 'd','(' és ')' karakterek szerepelnek, valami ilyesmi: "c(aaabd(a(bbbc(add(a(dd(adca)d)b(ccc)c(aaa))d))))". Ez határozza meg az adatstruktúrát. Fontos, hogy csak egy gyökere legyen!
- Az 'a', 'b', 'c', 'd' betűkhöz tartoznak a képek. A struktúrát a Flyweigth minta felhasználásával implementáljátok! Legyen egy gyár, ami tárolja a képeket és létrehoz belőlük flyweigth objektumokat, amiknek x és y koordinátái vannak, de a képre csak referenciát tárolnak. A koordináták keződértéke legyen 0! (Ezeket majd a stratégia állítja be.)
- A String alapján építse fel a program a megfelelő adatstruktúrát. (Ez tulajdonképpen a Composite és a Builder minták használata)

- Készítsatek el egy Iteratort az adatstruktúrához. Ehhez használhatjátok a JDK Iterator interface-ét és a Composite implementálhatja az Iterable interface-t.

- Készítsetek el 3 Stratégiát arra, hogy milyen módon jelenítse meg a fát!
- Legyen Pre és Postorder, lehet vízszintesen, föntről lefele, vagy lentről fölfele, balról, vagy jobbról kezde, középről kezdve, stb. A lehetőségek tárháza végtelen :)
- A stratégia használja az Iteratort, ő állítsa be az elemek X, Y koordinátáit.

A 3 gomb egy-egy stratégiát jelent. Ezeket Group-ba érdemes rendezni, hogy egyszerre csak egy lehessen benyomva. Gombynomásra rajolzja ki a megfelelő stratégiával elrendezett képeket a gombok alatti területre!

Jó munkát!

Plusz pont, ha ki lehet menteni a képet!

Nincsenek megjegyzések:

Megjegyzés küldése