Saturday 19 February 2011

OOP vs. Sutasten Kustu

Taas on tullut aika purkaa tunteita.

Ankaran googlailun ja Dream In Coden tutkailun jälkeen löysin lopulta tutoriaalin jota olen MEMAPperiin etsinyt koko edeltäneen viikon ajan: kuvapintatutoriaalin jommalle kummalle käytössä olevalle tavukoodiympäristölle (Java ja .NET). Tällä kertaa onnellinen tutoriaaliympäristö oli C#. Koska elämä ei ole koskaan liian helppoa, WPF-kirjastoihin tottuneelle lapselle lätkäistiin eteen WinForms-only - kirjastoja käyttävä tutoriaali. Noh, yleissivistystä kannattaa aina laajentaa ja toimivan tutoriaalin hyödyntäminen on aina fiksumpaa kuin tuloksettomalta vaikuttava kuuklailu.

Väänsin tutoriaalin pohjalta eilen harjoitusdemon, jossa sai hiirellä kääntää valkosia pikseleitä mustiksi piirtopinnalta, ja jonka formilla oli nappi josta painamalla piirtopinnalle liitettiin nuolikuva ja neljännes tästä nuolikuvasta. Sanoisin että demo toimi ihan mukavasti :P

Tänään, aamusella, aloitin sitten vakavissani toteuttamaan MEMAPperia C#ksi. Päivän saldoksi tuli 200 riviä logiikkaa ja formi täynnä omeletteja. Kaikki toteutettu yhden ja saman luokan sisään. Päivän kääntyessää kohti iltaa, alkoi olla jo hieman vaikeuksia erottaa että pitäisikö tilesetistä valittu tile piirtää nykyinen_tile_pintaan, nykyinen_tile_bmphen, nykyinen_tile_palkkiin, vai minne. Eikä koodi muuten toiminut enää :)

Tämä edustaa otsikossa mainituista koodaustavoista jälkimmäistä. Huomisen tultua minun pitäisi suunnitella joku järkevähkö pattern jolla erottaa formin toteutus ja syvempi ohjelmalogiikka omiksi luokikseen. Logiikkapuolelle voisi änkeä jonkun listan tai muun kokoelman joka sisältää tilesetin yksittäiset tilet, ja noista piirtoproseduureista voisi yrittää ottaa vielä enemmän selvää.

Njoo, huomisen juttuja. Nyt lopultakin tutimaan

No comments:

Post a Comment