Git Product home page Git Product logo

ot-harjoitustyo's Introduction

Roguelike

Tämä on ohjelmistotekniikka-kurssin harjoitustyö keväälle 2019.

Harjoitustyön aiheena on yksinkertainen Roguelike-pelimoottori. Projekti toteutetaan Javalla.

Dokumentaatio

Käyttöohje

Vaatimusmäärittely

Arkkitehtuurikuvaus

Työtuntikirjanpito

Testaus

Releaset

Viikko 5 Loppupalautus

Komentorivitoiminnot

Testaus

Testit suoritetaan komennolla

mvn test

Testikattavuusraportti luodaan komennolla

mvn jacoco:report

Kattavuusraporttia voi tarkastella avaamalla selaimella tiedosto target/site/jacoco/index.html

JavaDoc

JavaDoc generoidaan komennolla

mvn javadoc:javadoc

JavaDocia voi tarkastella avaamalla selaimella tiedosto target/site/apidocs/index.html

Checkstyle

Tiedoston .checkstyle.xml määrittelemät tarkistukset suoritetaan komennolla

 mvn jxr:jxr checkstyle:checkstyle

Mahdolliset virheilmoitukset selviävät avaamalla selaimella tiedosto target/site/checkstyle.html

ot-harjoitustyo's People

Contributors

toukkeli avatar

Watchers

James Cloos avatar  avatar

ot-harjoitustyo's Issues

Koodikatselmointi

Latasin projektisi Sunnuntaina 28. Huhtikuuta 2019 klo 20:23:12
Aluksi pahoittelut, etten ole tehnyt tätä aikaisemmin. En tiedä, saako tästä enää pisteitä, mutta annan mielelläni palautetta toisen työstä.

Ensivaikutelma reposta
Luin aluksi läpi vaatimusmäärittelyn. pelinäkymä oli avattu hyvin ja rogueliket tuntevalle oli selvää, mitä tuleman pitää. Avasin arkkitehtuurikuvaus -asiakirjan huomatakseni sen olevan varustettu vain rikkinäisellä linkillä. Löysin "kuvat" kansiosta sekvenssikaavion jonka avulla aloin tutkailemaan koodiasi.

Kommenttini koodista
Koodi on selkeästi kirjoitettua eikä mitään ylimääräistä näytä jääneen pyörimään oman ripeän silmäilyni perusteella. Olet eriyttänyt erinomaisesti single-responsibility periaatteen mukaisesti luokat omiksi asioikseen, pakkausrakenne oli myös looginen. Uskon, että tapasi käyttää perintää luokissasi vastaa pelisuunnittelun hyviä perusteita, hyvä! Lisäksi, ENUM:n käyttö on asia jonka toivoisin ymmärtäväni yhtä hyvin, kuin miten sinä sen vaikutat hallitsevan.

Kommenttini pelistä
Käynnistin pelin sekä komentoriviltä että Netbeansista. On aina innostavaa saada mahdollisuus vaikuttaa hahmoonsa, vaikkakin vain nimen muodossa, hyvä. Pelin alettua etsin käyttöohjeen käsiini jotta pääsisin pelaamaan peliä niin kuin sitä on tarkoitettu pelattavan. Käyttöohjeessa olisi voinut lukea, mikä komento ohjaa mihinkin suuntaan, vaikka toki, koodista logiikan lukieassani ymmärsin numpad-asettelun. Käytin itse läppärini ainoata vaihtoehtoa eli numeroriviä joka aiheutti välillä sekaannusta liikkumiseen.

Muut huomiot
Mainitsit määrittelydokumentissa, että pelaajan hp ja pelattava taso näkyy pelissä. En itse nähnyt näitä lukuja. Tehtyjen toimien raportointi toimi muuten hyvin. Pelin lataaminenkaan ei toiminut. En löytänyt bugeja syötteeseen tai esim. seinien läpäisyyn liittyen, hyvä! Rappuset toimivat ilmoitetulla tavalla.

Luin kehitysideasi, ne olivat järkeviä. Nykymuodossaan pelin jännitys mudostui minulle liikkumisen rytmittämisestä niin, että sain minimoitua vihollisten aiheuttaman vahingon. Jännitystä ja tekemistä on siis hyvä saada enemmän. Värilliset kirjaimet osoittamaan erilaisia vihollisia ja/tai aarteita voisi olla yksi helppo tapa tuomaan lisää näyttävyyttä. Vaikutat kokeneelta ohjelmoijalta sillä koodin rakenne ja tehokkuus oli miellyttävää katsottavaa.

Toivon, että jatkat pelin kehittämistä kirjoittamasi määrittelydokumentin mukaisesti!

Yt.
Akseli
thumbs up

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.