ugrás a tartalomhoz

Archívum - Jún 22, 2012

A lepattanó labdák kapcsán (OOP)

eddig bírtam szó nélkül · 2012. Jún. 22. (P), 22.04
Mikor megláttam morocztamás topikját, az első reakcióm az volt, hogy ha már Python, akkor miért nem OOP?
Nem akarok beleszemetelni a témájába, ezért inkább áthozom önálló topikba: ha van egy ilyen, bár nem webes, de egyszerűnek látszó feladvány, hogy néhány golyót kell mozgatni egy 2D-s, grafikus felületen, ezt hogy lehetne objektumokra bontani?
A feladat egyszerűnek tűnik, nem kell semmiféle különösebb fizikával foglalkozni. A mozgó "golyók" (nevezzük inkább korongnak, mivel 2D) véletlenszerű irányba mozognak azonos sebességgel. Ütközéskor a mozgás irányát 180fokkal megfordítom. Hogy melyik irányt (x v. y tengely) az mondjuk attól függ, hogy a korong kerületének mely pontján történt az ütközés.

Már a kiindulásnál elakadtam: a Tiszta kódban azt olvastam, hogy egy osztályról úgy lehet legegyszerűbben eldönteni, megfelel-e a SRP-nek, hogy leírom néhány szóban a feladatát. Amennyiben a leírásban megjelenik legalább egy "és", akkor az az osztály biztosan nem felel meg neki. Sajnos amit el tudok képzelni, azzal nem jön össze.
Egy osztály/objektum lenne a tábla, amin a korongok mozognak.
Ennek van mérete, színe és...
Két feladata: részben konténer jellegű objektum, amelynek egyik feladata a korongok "tárolása", másik feladata a megjelenítés. Máris egy "és" kapcsolat(??? ezen az osztályon/objektumon nem sokat gondolkodtam, számomra a lényeg a Korong osztály lenne)

Másik osztály a Korong nevű, amely a korongokat modellezné.
Ennek vannak olyan tulajdonságai, hogy szín, aktuális pozíció, valamilyen formában tárolva a mozgás iránya. Eddig OK.
És vannak feladatai... Többesszám??? Akkor ez eleve nem lesz jó. De... lehet, hogy mégis, csak én értelmezem rosszul a SRP-t?

Python egymásról lepattanó labdák

morocztamas · 2012. Jún. 22. (P), 14.44
Egy Python alkalmazás készítése során akadt gondom. Nem pont a nyelvvel, inkább a feladat megoldással. A lényeg, hogy a labdáknak egymásról vissza kellene pattanniuk, de nem nagyon csinálják, vagy ha igen, akkor is csak néha. Hogyan hozhatom helyre? Két labdánál tökéletesen működött még.

[colorer=python]# -*- coding:Utf-8 -*-
################################################################################
# Python program #
# Szerző: Mórocz Tamás, Budapest, 2012 #
# Liszensz: GPL #
# #
# Több színű labda mozog, amik egymásról és az oldalfalakról visszapattannak.

css betűk

Garpeer · 2012. Jún. 22. (P), 11.53
Üdv!

A Shapes of CSS nézegetése közben jött ötlet kicsit elburjánzott, de sikerült megalkotni az angol ABC-t CSS-sel.
Nem szép, de legalább nem jó semmire.
Esetleg valakinek ötlete, hogy az ékezeteket hogy lehetne megoldani?