Wednesday 30 November 2011

Lentokonematka bussiterminaalista

Alkuun tehtävä. Etsikää kuvasta nörtti.

Vinkkinä ruotsista peräisin oleva Within Temptation - huppari.

Oikein. Allekirjoittanut oli hyvässä seurassa eilen Kampin anttilan edustalla ~10 tuntia. Se ei ollut mitään verrattuna siihen 24 tuntiin, mitä eräs siellä istui. Onnea ja kunnioitusta vaan Lindalle, jos tätä luet ja nimesi yhä muistan. Ensimmäiset tunnit menivät lähinnä DS:ää näpräten, mutta illan edetessä ja jonon kasvaessa, yhteisöllisyys vähitellen heräili. Kun anttila sulkeutui ja henkilökunta alkoi levittelemään Imaginaerum - aiheisia julisteita ja krääsää myymälään, ei kukaan enää jaksanut keskittyä omiin kirjoihinsa tai peleihinsä, vaan suurta hupia tuotti vinyylien kuvioinnin ihastelu ja julisteiden perään kuolaaminen.

Olen usein kuullut kysymykseen "Mitäs teitte siellä [jonkin kivan tapahtuman nimi]ssa?" vastattavan "Oltiin hartaita ja laulettiin virsiä". Noh, en tiedä täyttääkö sinfoninen suomimetalli aivan virsien määritelmän, mutta kun anttilan ulkopuolella järjestäjät laittoivat radio rockin soimaan, oli jono hyvin mukana. Poet&Pendulumin aikana en huomannut kuin jonon etuosassa elämää, mutta illan pimetessä, puoli yhdentoista jälkeen, koko jono huusi samoja säkeitä joita radiostakin tuli. Kolmea vaille puolenyön porukkani karjaisi "Three minutes and counting!", aiheuttaen lähinnä järjestyksenvalvojissa "Miksi minä?" - ilmeitä. En ainakaan huomannut paljon hassutusta huudasta, mutta toisaalta moni muukin asia lensi ohi tajuntani.

Minulla olisi kamera täynnä kuvia, mutta kuvat ovat tosiaan kamerassa. Katson jos jossain vaiheessa saan ne koneelle ja edes ne tänne julkaistua. Minun on pitänyt tässä syksyn aikana julkaista jotain Kemistä, Riksusta ja ruottista, mutta projektit ovat hieman jääneet.

Hyvää joulua, kansa. Muistakaa joulun olevan parhaimmillaan marraskuussa.

Monday 14 November 2011

Droidista iltaa

Ostin  viikko sitten tälläisen Samsung Gion ja olen siitä saakka kokeillut mihin tämä taipuu. Bloggausominaisuuksia ei voi kehua, sillä typotaajuus on turhan huima.

Wednesday 2 November 2011

Siirtelyalgoritmi

Ai mitenniin olen hiljainen? En varmaan ole! :P

Tänään, kun tunnilla opettaja kertoi kuinka Javan Collections- ja Arrays - luokat osaavat järjestellä kokoelmia olioiden ominaisuuksien mukaan melko.... helposti..., allekirjoittanut tutki pitkästä aikaa MEMAPPERia. Korjailin muutamia käyttöliittymäbugeja, jotka ovat jo pitkään häirinneet minua, ja säädin hiiren tajuamaan scrollbarien toiminnan. Kun väsyin tähän, aloin tutkia ensimmäistä kertaa tosi pitkään aikaan uusien ominaisuuksien toteuttamista. Toteutin sitten selection toolin, jolla käytännössä valitaan tilejä siirtelyä tai leikepöytäoperaatioita varten.

Tämän toteutus ei ollut mikään haastava. Projektiin uusi luokka, jonka lupaan implementoivan Tool - rajapinnan, jonka jälkeen kopioin luokkaan rakenteet, jotka varmistavat ettei sama tile saa Use() - kutsun kuin kerran hiirenpainikkeen ollessa pohjassa. Siihen päälle vielä samantyyppinen bool-taulukko, joka hitdatatoolin taustalta löytyy, ja tämän taulukon pohjalta pienet piirtorutiinilisät Layerpanelin paintComponent()iin.

Haastavampi kysymys on sitten, että miten Move - työkalu pitäisi toteuttaa, ja toisiko tämä tarpeen tuoda Kumoa - toiminto ohjelmaan. Kumoamisen voisi toteuttaa luomalla pinon key-val - pareja, joihin tallennettaisiin aina Tool.Close()a kutsuttaessa kopiot kartan tilaa ylläpitävistä listoista. Kumoa:n kutsuminen sitten poppaisi tilaa ylläpitävät listat pinon ylimmän olion mukaisiin tiloihin. Tämä listojen syväkopiointi saattaa helpottua, jos laitan linkin tähän keskusteluun.

Siirtelyalgoritmi vaatii myös hieman pohdintaa. Yksi vaihtoehto olisi hakea ensisijaisesti vasemmaisin ja toissijaisesti ylin valittu tile. Kun MoveTool.Use()a sitten kutsutaan, asetetaan tämä tile hiiren osoittamiin koordinaatteihin ja muut valitut tilet suhteessa tähän tileen (pidetään tile, joka on sijoitustileen nähden koordinaateissa 3,4 samoissa koordinaateissa sijoitustilen uusiin koordinaatteihin nähden).