WebProg-2014/Gyakorlat6
(→Tégla rajzolás) |
|||
61. sor: | 61. sor: | ||
// Itt történik a rajzolás | // Itt történik a rajzolás | ||
+ | @Override | ||
public void paint(Graphics g) { | public void paint(Graphics g) { | ||
// Csak, hogy a 2D rajzolást használjuk | // Csak, hogy a 2D rajzolást használjuk |
A lap 2015. március 25., 09:27-kori változata
Tartalomjegyzék |
Ismétlés
Prímek adott számig
Egészítsétek ki a primes függvényt, ami egy List objektumban visszaadja a prímek listáját 0-tól a paraméterként kapott számig. Tehát, ha 10-et adunk át a függvénynek, akkor adja vissza a [2, 3, 5, 7] listát.
import java.util.ArrayList; import java.util.List; public class Prime { public static List<Integer> primes(int upperBound) { // TODO } public static void main(String[] args) { System.out.println(primes(100)); } }
Bemelegítõ feladatok
Ezekhez a feladatokhoz nagyon hasznos az elõadás ismerete: 6. elõadás
Tégla rajzolás
Módosítsuk úgy az alábbi kódot, hogy a kb a következõ ábrát kapjuk: teglak
import java.awt.Color; import java.awt.Frame; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; public class Teglak extends Frame { public static void main(String args[]) { new Teglak(); } public Teglak() { super("Teglak"); // Az ablak neve setSize(400, 200); // Ablakméret beállítása setVisible(true); // Enélkül nem látszana semmi // Ezzel most ne foglalkozzatok, arra felel, hogy // ha bezáródik az ablak, akkor minden felszabaduljon. addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { dispose(); System.exit(0); } }); } // Itt történik a rajzolás @Override public void paint(Graphics g) { // Csak, hogy a 2D rajzolást használjuk Graphics2D g2d = (Graphics2D) g.create(); g2d.setColor(Color.black); // Szín beállítása g2d.drawRect(50, 50, 50, 70); // Keret rajzolása g2d.setColor(Color.blue); g2d.fillRect(50, 50, 50, 70); // Kitöltés // Ezáltal a transzformációk visszaállnak a következõ rajzolásnál g2d.dispose(); } }
Kör(szelet)
Használva a Graphics2D fillArc és fillOval metódusait rajzoljatok körszeletet és kört.
Háromszög
Rajzoljatok egy háromszöget az elõadáson tanult GeneralPath osztályt használva. Írjátok a háromszögbe a 3-as számot a Graphics2D drawString metódusával.
Ház
Használjátok bármilyen rajzolási módot, hogy rajzoljatok egy minimalista (óvodás rajzolta) házat.
BattleSudoku
A kezdeti fájlokat itt találjátok: BattleSuduku.zip
- Az elsõ feladat, hogy egészítsétek ki a Game.java fájlt, hogy valami értelmes méretû ablak legyen.
Field
Hozzatok létre egy Field nevû osztályt a rendering csomagban. Implementálja a Drawable interface-t. A következõ adattagjai legyenek:
- int x: x koordinátája
- int y: y koordinátája
- int number: a szám ami rajta van
Opcionálisan a következõ static és final változók:
- int width: szélessége
- int height: magassága
Legyen konstruktora, ami a fenti 3 adatot kapja (x, y, number). A draw metódusa pedig rajzoljon ki egy négyzetet az adott pontban adott szélesség és magassággal, valamit írja bele a számot. Egy int String-é konvertálása:
Integer.toString(number)
GameBoard
- Egészítsétek ki az initBoard metódust, hogy a megfelelõ számú, megfelelõ elrendezésû mezõket hozza létre a drawables tömbbe. (A tömböt is létre kell hoznotok.) Használjátok a boardDimension konstanst.
- Végül egészítsétek ki a doDrawing metódust, hogy ki is rajzolja ezeket a rajzolható dolgokat.