Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Vertaisarviointi 2 #3

Open
monkeyvault opened this issue Aug 28, 2019 · 0 comments
Open

Vertaisarviointi 2 #3

monkeyvault opened this issue Aug 28, 2019 · 0 comments

Comments

@monkeyvault
Copy link

Repositorio kloonattu 28.9. klo. 15.50

Mielenkiintoinen aihe ja erittäin pätevä toteutus!

Määrittelydokumentti oli selkeä ja kattava. Suorituksen aikaiset konsolikäyttöliittymän ohjeet olivat myös hyvät.

PvP-pelistä oli tosin ohje, että ei kannata yrittää, mutta se vaikutti pikaisella testauksella kuitenkin toimivan.

Tekoälyn "ajatteluajan" vois tarkentaa tarkoittavan (ymmärtääkseni) sitä lukumäärää, montako kertaa ISMCTS-algoritmi suorittaa vuorolla, montako simulaatiota pelin tilanteesta ja päätöstä parhaalta vaikuttavista siirroista tehdään tms. Ennen koodin tarkastelua ajattelin, että aika tarkoittaa varmaan esim. millisekunteja.

Koodi on selkeää: muuttujat ja metodit on hyvin nimetty, ja vastuualueet eroteltu pääosin hyvin eri luokille ja metodeille. State-luokan findPossibleMelds() kohdalla voisi päätellä pituuden lisäksi myös metodin sisäisen kommentoinnin määrästä, että sitä voisi refaktoroida useammaksi metodiksi.

Kommentoitua debug-loggailu-koodia löytyy hieman luokista PlayGame ja ISMCTS. Mikäli loggailua vielä todennäköisesti tarvitaan, niin ei siinä mitään. Pisteet siitäkin, että mitän muuta mahdollisesti ylimääräistä en löytänytkään.

PvP-pelin logiikan voisi myös refaktoroida AIvsAI-pelin tavoin omaksi luokakseen. Layoff-loopin sisällä myös sisennyksen syvyys kasvaa aika suureksi.

Hakemistorakenne on pääosin erinomainen, mutta siltä osin vähän hankala, että pääohjelmaa ei ole sijoitettu ja nimetty kaikkein tavanomaisemmin. Voisi myös ehkä harkita, tarvitaanko sekä game-, että ui-kansiot, vai voisiko niiden sisältämät luokat laittaa saman hakemiston alle.

Mukavaa loppukurssia!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant