Git Product home page Git Product logo

collectorgame's People

Contributors

ollikehy avatar

collectorgame's Issues

Koodikatselmointi

Projekti haettu 03.02.2017 klo 15.58.

Hyvä aloitus projektille, selkeä ja hieno havainnekuva ja ymmärrettävä luokkakaavio. Aihekuvaus hyvin kirjoitettu, sillä ainakin itselle selvensi erittäin hyvin pelin ideaa mm. manuaalisen esineiden keräämisen osalta. Projekti selvästi kuitenkin vielä alussa, sillä toiminnallisuutta ei menua enempää vielä ollut tarjolla. Tässä siis muuten huomaamani parannusehdotukset:

  • Pit-raportti tyhjä, ja pom.xml tutkiessani huomasin, että konffauksesta jäänyt
    pitconffaus2
    korvaamatta tällä:
    pitconffaus
    josta luultavasti johtuen pit ei toimi. Kannattaa lukea kurssin tarjoama pit-ohje, joka hyvin selkeästi kertoo mitä tulee tehdä. Ohjeeseen pääsee tästä: https://github.com/javaLabra/Javalabra2017-3/blob/master/ohjeet/Maven-ja-PIT.md#raportit

  • Projektissa ei ole pakettijaottelua ollenkaan, vaan kaikki luokat ovat samassa paketissa. Tämä kannattaa korjata ihan vain selkeyden ja Clean code -periaatteiden takia.

  • Testeissä myös pakettijaottelu mukaan ja lisää testejä.

  • Player-luokan metodit movePlayerit voisi helposti tehdä yhdeksi metodiksi esimerkiksi enumia käyttäen. Tällä hetkellä hieman copy-pastemaista nähdä 4 liki identtistä metodia.

  • Menu on tällä hetkellä tekstimuotoinen, mutta kannattaa harkita swingillä tehdä klikattavan menun. Tällöin pelaajan ei tarvitsisi kirjoitella käskyjä avatakseen pelin.

Eli lisää toiminnallisuutta, copy-paste pois ja pakettijaottelu kuntoon + pitin konffaus kuntoon niin pitkälle jo pääsee.

Koodikatselmointi

Ladattu su 19.2. klo 21.44.

Luokat voisivat Clean code -periaatteiden mukaan ja selkeyttämiseksi olla jaettuina pakkauksiin, esimerkiksi pelinäkymäluokka Board ja valikko Menu yhdessä. Pakkauksiin jaon voisi sitten toteuttaa myös testiluokille.

Testiluokkia voisi laajentaa, esimerkiksi liikkumisen testaus voisi olla hyvä lisäys.

Vähän copy pastea koodissa, Player luokan liikkumisen neljä eri metodia ovat hyvin samankaltaiset.

Olisikohan jotain voinut jakaa vielä useimpiin luokkiin, jotta luokkien single responsibility toteutuisi paremmin? Board ja Player luokilla on kummallakin monenlaisia eri vastuita.

Koodissa on vähän sekaisin englantia ja suomea, suurin osa näyttää olevan englanniksi, mutta esimerkiksi Board-luokassa Player-tyyppinen luokkamuuttuja on nimetty ”hahmo” ja myös metodissa createMap on suomea seassa. Nämä voisi korjata.

Kun kokeilin peliä, liikkui hahmo myös seinien yli, vaikka koodia tutkiessani tulkitsin, että näin ei kuitenkaan olisi tarkoitus, vaan ainoastaan pisteiden tulisi vähentyä, kun yritetään liikkua seinän läpi? Tämä tietenkin voi johtua keskeneräisyydestä. Myös mietin, onko karttaa tarkastellessa tarkoitus, että hahmoa voi jo liikutella ja asioita keräillä? Kuvauksesta sain kuvan, että tarkoitus on, ettei peli vielä käynnisty. Muuten toimi hyvin peli, esimerkiksi asioiden keräily onnistui mainiosti!

Koodi on pääpiirteittäin selkeää ja melko helppolukuista, ja hyvällä mallilla näyttää olevan projektisi, hyvä!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.