ollikehy / collectorgame Goto Github PK
View Code? Open in Web Editor NEWJavalabran työ
Javalabran työ
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
korvaamatta tällä:
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.
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ä!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.