Informatika2-2016/Gyakorlat8
A MathWikiből
(Változatok közti eltérés)
(→Vászon) |
(→Bevezető feladatok) |
||
3. sor: | 3. sor: | ||
[http://www.math.bme.hu/~nyida/info2/e08_16i2.html 8. elõadás] | [http://www.math.bme.hu/~nyida/info2/e08_16i2.html 8. elõadás] | ||
− | = | + | = Feladatok = |
Nyissuk meg a Sypdert. | Nyissuk meg a Sypdert. | ||
== Alakzat == | == Alakzat == |
A lap 2016. április 6., 19:56-kori változata
Tartalomjegyzék |
Előadás
Feladatok
Nyissuk meg a Sypdert.
Alakzat
Írjunk egy Shape osztályt.
- Legyen x és y változója, ezek tárolják az alakzat pozícióját a síkon.
- Legyen egy move metódusa, aminek egyetlen v paramétere van, egy kételemű lista, a vektor, amivel el kell mozgatni az alakzatot.
Definiáljuk a Shape osztály leszármazottaiként az
- Ellipse ellipszis, legyen meg a kis- és nagytengelye (a,b)
- Rectangle téglalap, legyen meg az oldalak hossza (a,b)
osztályokat. Mindkét esetben a pozíciójuk a súlypontjukat jelentse. Írjunk mindkét osztályhoz egy area függvényt, ami kiszámítja az alakzat területét!
Definiáljuk az Ellipse osztály equation metódusát, ami kiírja az adott ellipszis egyenletét!
Vászon
Definiáljuk a Canvas (vászon) osztályt.
- Egyetlen tagváltozója legyen a shapes, ami alakzatok listáját tárolja.
- Oldjuk meg, hogy az osztályunk iterálható legyen! Ehhez definiáljuk az __iter__(self) metódust, valamit a next(self) metódust, ahogy az előadáson láttuk.
- Definiáljuk a crop metódust a következőképp: a bemeneti paraméter két pont koordinátája, ezek egy téglalap bal felső és jobb alsó pontjai. A függvény térjen vissza azon alakzatok listájával, amelyek a vásznon vannak és teljesen beleférnek az így definiált téglalapba