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

Koodikatselmointi 2 #2

Open
thomsva opened this issue Oct 7, 2017 · 0 comments
Open

Koodikatselmointi 2 #2

thomsva opened this issue Oct 7, 2017 · 0 comments

Comments

@thomsva
Copy link

thomsva commented Oct 7, 2017

Hieno idea toteuttaa kivi-sakset-paperi peli tässä kurssissa!

Tiedot luetto githubista 7.10.2017 klo 21:30.

Dokumentaatio ei ole päivittynyt Githubiin, kuten Readme.md tiedostossa mainitaan. Itse huomaan, kun olen tutustumassa projektiin, että kattava dokumentaatio kyllä helpottaisi aiheeseen perehtymistä. Koska olen vähän epävarma ohjelman suunnitellusta toiminnasta, on riski, että palautteeni ei osu ihan asian ytimeen. Esitän tässä kuitenkin vähän ideoita ja ajatuksia.

Tietosisältöä vastaavat luokat tehty (model) ja perusasiat ovat selvästikin aika pitkällä.

Dokumentaatiosta puuttuu playergame taulun tarkempi kuvaus. Ymmärtäisin, että ”picked” -kenttä tarkoittaa valintaa (kivi/sakset tai paperi). Kun kaikki pelaajat ovat valinneet voidaan ratkaista mahdollinen voittaja.

Minulle ei ihan ole auennut, miten ja missä vaiheessa on tarkoitus ratkaista pelin voittaja. Jos peli toimii, kuten yllä olen olettanut, olisi voittaja ratkaistavissa heti kun viimeinen pelaaja on valintansa tehnyt. Silloin voittajan ratkaiseminen voisi liittää suoraan addPlayerToGame() funktioon. Testataan oliko pelaaja viimeinen, jos oli peli lopetetaan ja määritellään voittaja. Voi olla, että sinulla on jo oma toisenlainen ajatus siitä, miten peli päätetään.

Playerstats taulukko sisältää tilastoja peleistä, esim. voitot, häviöt yms. Tietorakenteesta tuli mieleen sellainen mahdollisuus, että voittoja ei taltioitaisi ollenkaan. Voittojen määrä olisi selvitettävissä SQL kyselyllä suoraan Playergame taulukosta. Tämä voisi olisi tietosisällön normalisoinnin kannalta hieno ratkaisu, sillä voitot/häviöt ovat suoraan riippuvaisia playergame taukukon tiedosta. Tiedon haku erillisestä playerstats taulukosta voi toki olla nopeampaa ja helpompaa.

Player luokalle on toteutettu CRUD nelikko modelissa. En testannut toimiiko esim. uuden pelaajan rekisteröityminen käyttöliittymän kautta, mutta vaikuttaa siltä, että se voisi olla jo toiminnassa ja käytössä.

Yritän vielä löytää miten pelin voittaja ratkaistaan. TrueGameObject luokassa on returnGameResultAsNumber() funktio, jossa verrataan valintoja. Funktion sisältö ei kuitenkaan tunnista muuta kuin tasapeliä tässä vaiheessa. Mahdollisesti tämä luokka on vain jokin testi- tai malliluokka.

Muita huomioita minulla ei tässä vaiheessa ole. On mielenkiintoista seurata millainen tästä tulee!

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