Ilpolainen / IpinTetris

0 stars 0 forks source link

Koodikatselmointi #1

Closed hekazu closed 4 years ago

hekazu commented 8 years ago

Projekti ladattu maanantaina 1.2.2016 klo 14.20 aikoihin

Ilpolainen commented 8 years ago

Moi!

Kyllä se muutakin teki, mutta palat oli ulkona kuvasta ja ne piti itse ohjata näppäimistöltä kuvaan, kun en ollut vielä tehnyt gamelooppia, jolla automaattisesti tiputella paloja alas. Oon ite varsin samaa mieltä luokkajaosta, ja käyttiksen refactorointi on seuraavaksi työn alla, kunhan saan selville Swingin toimintaperiaatteita. Testit oli mulla kaikki kunnossa, siis ne mitä olin ehtinyt tehdä. En tiiä, miksei sulla toiminut. Mä tsekkaan ne copypastet. Rotaatio on tällä hetkellä toteutettu pikkuisen höllmösti, kun se ois voinut tehdä matriisikertolaskulla, mutta tossa manuaalihommassakin on etunsa.

Nyt mun peli pyörii jo tetriksen tapaan, mutta meinaan tosissaan selkeyttää sitä, tehdä testit ja sitten vaan kehitellä toiminnallisuutta, konfigurointeja, alkuvalikkoa ja tietenkin niitä helvetin testejä ja kaiken maailman päiväkirjoja ja muuta hömpötystä.

Kiitos hyvästä palautteesta!

T: Ilmari

  1. helmikuuta 2016 klo 15.32 Henri Peurasaari notifications@github.com kirjoitti:

Projekti ladattu maanantaina 1.2.2016 klo 14.20 aikoihin

  • Käyttöliittymä näyttäisi kasautuvan onnistuneesti kun pääohjelman ajaa. Muuta se ei teekkään, mutta pääasiahan oli ettei homma kaadu projektia ajaessa.
  • Piecejen suhteen käytössä on abstrakti luokka. Copypastea sitä perivissä luokissa voi vähentää, sillä niillähän on perintäsyistä jo olemassa kyseiset metodit.
  • PieceGeneratorissa voisi käyttää Switchiä ennemmin kuin if ketjutusta, itse ainakin tykkään sen ulkonäöstä enemmän.
  • Itsellä semmoiset 16 testiä ei toimi. Oletan että tämä "on tarkoituskin" ja ohjelmaa toteutetaan TDD malliin, mutta jos ne tekopäässä toimivat voi kyseessä olla ongelma yhteensopivuuden kanssa muilla laitteilla.
  • Packagejako ei valitettavasti selkeä minulle, nimet tuntuvat olevan niin lähellä toisiaan että esimerkiksi gameenginen ja gamelogicin voisi laittaa saman katon alle, enkä ole satavarma ettei utilities sopisi interfacen alaisuuteen, mutta kyseessä voi myös olla se etten ole tottunut sovelluskehittäjä enkä siksi vain ymmärrä tarkemman jaon nuansseja.
  • Tykkään siitä miten olet toteuttanut Piecet Blockeina, asettuvat varmaan paremmin aloilleen seuraavan palan vuoron koittaessa ja posituvat helpommin rivien hajotessa.

— Reply to this email directly or view it on GitHub https://github.com/Ilpolainen/IpinTetris/issues/1.

Ilpolainen commented 8 years ago

Hop!

Jostain syystä mä en pysty suoraan käyttämään mun abstractin luokan "Piece" implementoituja komentoja. Eli tavallaan menee ihan hukkaan se abstracti luokka, sillä siitä johdetut varsinaiset luokat herjaavat, jos en Overrideta niitä ja siitä sitten tulee sitä copypastea.

Mistähän johtuis?.

  1. helmikuuta 2016 klo 21.13 Ilmari Pohjola pohjolanilmari@gmail.com kirjoitti:

Moi!

Kyllä se muutakin teki, mutta palat oli ulkona kuvasta ja ne piti itse ohjata näppäimistöltä kuvaan, kun en ollut vielä tehnyt gamelooppia, jolla automaattisesti tiputella paloja alas. Oon ite varsin samaa mieltä luokkajaosta, ja käyttiksen refactorointi on seuraavaksi työn alla, kunhan saan selville Swingin toimintaperiaatteita. Testit oli mulla kaikki kunnossa, siis ne mitä olin ehtinyt tehdä. En tiiä, miksei sulla toiminut. Mä tsekkaan ne copypastet. Rotaatio on tällä hetkellä toteutettu pikkuisen höllmösti, kun se ois voinut tehdä matriisikertolaskulla, mutta tossa manuaalihommassakin on etunsa.

Nyt mun peli pyörii jo tetriksen tapaan, mutta meinaan tosissaan selkeyttää sitä, tehdä testit ja sitten vaan kehitellä toiminnallisuutta, konfigurointeja, alkuvalikkoa ja tietenkin niitä helvetin testejä ja kaiken maailman päiväkirjoja ja muuta hömpötystä.

Kiitos hyvästä palautteesta!

T: Ilmari

  1. helmikuuta 2016 klo 15.32 Henri Peurasaari notifications@github.com kirjoitti:

Projekti ladattu maanantaina 1.2.2016 klo 14.20 aikoihin

  • Käyttöliittymä näyttäisi kasautuvan onnistuneesti kun pääohjelman ajaa. Muuta se ei teekkään, mutta pääasiahan oli ettei homma kaadu projektia ajaessa.
  • Piecejen suhteen käytössä on abstrakti luokka. Copypastea sitä perivissä luokissa voi vähentää, sillä niillähän on perintäsyistä jo olemassa kyseiset metodit.
  • PieceGeneratorissa voisi käyttää Switchiä ennemmin kuin if ketjutusta, itse ainakin tykkään sen ulkonäöstä enemmän.
  • Itsellä semmoiset 16 testiä ei toimi. Oletan että tämä "on tarkoituskin" ja ohjelmaa toteutetaan TDD malliin, mutta jos ne tekopäässä toimivat voi kyseessä olla ongelma yhteensopivuuden kanssa muilla laitteilla.
  • Packagejako ei valitettavasti selkeä minulle, nimet tuntuvat olevan niin lähellä toisiaan että esimerkiksi gameenginen ja gamelogicin voisi laittaa saman katon alle, enkä ole satavarma ettei utilities sopisi interfacen alaisuuteen, mutta kyseessä voi myös olla se etten ole tottunut sovelluskehittäjä enkä siksi vain ymmärrä tarkemman jaon nuansseja.
  • Tykkään siitä miten olet toteuttanut Piecet Blockeina, asettuvat varmaan paremmin aloilleen seuraavan palan vuoron koittaessa ja posituvat helpommin rivien hajotessa.

— Reply to this email directly or view it on GitHub https://github.com/Ilpolainen/IpinTetris/issues/1.

Ilpolainen commented 8 years ago

Joo siis se ongelma tulee siitä block-taulukosta. Abstractin luokan konstruktorissa luodaan taulukko, jonka blockien koordinaatit täytyy joten ilmaista. Kun ne eroavat varsinaisista luokista, taulokon blockien läpikäynti ja niiden siirtely ei onnistukaan. Mikä nyt eteen? Miten voisin paketoida sen, että huolimatta koordinaateista, mun luokat pystyisivät käyttämään abstractin luokan kutsuja (esim. moveDown). Pistän nyt kaikki implementoinnit takaisin copypastena, mutta voit esim. koittaa poistamalla yhden näistä implementoinneista jostakin luokasta ja sitten kutsua sitä mainissa. Tulee null-pointer.

  1. helmikuuta 2016 klo 17.19 Ilmari Pohjola pohjolanilmari@gmail.com kirjoitti:

Hop!

Jostain syystä mä en pysty suoraan käyttämään mun abstractin luokan "Piece" implementoituja komentoja. Eli tavallaan menee ihan hukkaan se abstracti luokka, sillä siitä johdetut varsinaiset luokat herjaavat, jos en Overrideta niitä ja siitä sitten tulee sitä copypastea.

Mistähän johtuis?.

  1. helmikuuta 2016 klo 21.13 Ilmari Pohjola pohjolanilmari@gmail.com kirjoitti:

Moi!

Kyllä se muutakin teki, mutta palat oli ulkona kuvasta ja ne piti itse ohjata näppäimistöltä kuvaan, kun en ollut vielä tehnyt gamelooppia, jolla automaattisesti tiputella paloja alas. Oon ite varsin samaa mieltä luokkajaosta, ja käyttiksen refactorointi on seuraavaksi työn alla, kunhan saan selville Swingin toimintaperiaatteita. Testit oli mulla kaikki kunnossa, siis ne mitä olin ehtinyt tehdä. En tiiä, miksei sulla toiminut. Mä tsekkaan ne copypastet. Rotaatio on tällä hetkellä toteutettu pikkuisen höllmösti, kun se ois voinut tehdä matriisikertolaskulla, mutta tossa manuaalihommassakin on etunsa.

Nyt mun peli pyörii jo tetriksen tapaan, mutta meinaan tosissaan selkeyttää sitä, tehdä testit ja sitten vaan kehitellä toiminnallisuutta, konfigurointeja, alkuvalikkoa ja tietenkin niitä helvetin testejä ja kaiken maailman päiväkirjoja ja muuta hömpötystä.

Kiitos hyvästä palautteesta!

T: Ilmari

  1. helmikuuta 2016 klo 15.32 Henri Peurasaari notifications@github.com kirjoitti:

Projekti ladattu maanantaina 1.2.2016 klo 14.20 aikoihin

  • Käyttöliittymä näyttäisi kasautuvan onnistuneesti kun pääohjelman ajaa. Muuta se ei teekkään, mutta pääasiahan oli ettei homma kaadu projektia ajaessa.
  • Piecejen suhteen käytössä on abstrakti luokka. Copypastea sitä perivissä luokissa voi vähentää, sillä niillähän on perintäsyistä jo olemassa kyseiset metodit.
  • PieceGeneratorissa voisi käyttää Switchiä ennemmin kuin if ketjutusta, itse ainakin tykkään sen ulkonäöstä enemmän.
  • Itsellä semmoiset 16 testiä ei toimi. Oletan että tämä "on tarkoituskin" ja ohjelmaa toteutetaan TDD malliin, mutta jos ne tekopäässä toimivat voi kyseessä olla ongelma yhteensopivuuden kanssa muilla laitteilla.
  • Packagejako ei valitettavasti selkeä minulle, nimet tuntuvat olevan niin lähellä toisiaan että esimerkiksi gameenginen ja gamelogicin voisi laittaa saman katon alle, enkä ole satavarma ettei utilities sopisi interfacen alaisuuteen, mutta kyseessä voi myös olla se etten ole tottunut sovelluskehittäjä enkä siksi vain ymmärrä tarkemman jaon nuansseja.
  • Tykkään siitä miten olet toteuttanut Piecet Blockeina, asettuvat varmaan paremmin aloilleen seuraavan palan vuoron koittaessa ja posituvat helpommin rivien hajotessa.

— Reply to this email directly or view it on GitHub https://github.com/Ilpolainen/IpinTetris/issues/1.