WebProg-2014/Gyakorlat6

A MathWikiből
(Változatok közti eltérés)
 
(egy szerkesztő 3 közbeeső változata nincs mutatva)
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
87. sor: 88. sor:
  
 
Használjátok bármilyen rajzolási módot, hogy rajzoljatok egy minimalista (óvodás rajzolta) házat.
 
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: [http://math.bme.hu/~kkovacs/webprog2015/BattleSuduku.zip 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
 

A lap jelenlegi, 2015. április 1., 10:06-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.

Személyes eszközök