wiki:k2014/harjoitustyo
Last modified 4 years ago Last modified on 2014-03-24 15:18:06

Ohjelmointi 1 (kevät 2014) » Harjoitustyö

1. Tärkeimmät asiat

Kurssin SVN-repon osoite.

https://svn.cc.jyu.fi/srv/svn/ohj1-pelit

2. Yleistä harjoitustyöstä

Harjoitustyö...

  • on osa kurssisuoritusta ja arvioidaan asteikolla hyväksytty/hylätty. Harjoitustyö pitää olla hyväksytty ennen kuin kurssista voi saada arvosanan.
  • tehdään mielellään parityönä, mutta jos haluaa tehdä yksin niin sekin onnistuu. Paria voi kysellä esim kurssin postilistalta.
  • sisältää keskimääräisesti opiskelijaa kohti noin 30 tuntia työtä (ks. kurssin työmäärä). Parityönä tehtävän työn määrä on siis keskimäärin 60 tuntia. Paritöissä on pystyttävä esittämään kirjanpito siitä, mitä on tehty ja miten työ on jakautunut tekijöiden välillä.
  • on peli, mutta jos ehdottomasti et halua tehdä peliä, niin mikä tahansa pelimäinen ohjelma (opetusohjelma tms.) käy myös. Käy sellaisessa tapauksessa juttelemassa kurssin vetäjän kanssa.

3. Pelin suunnittelu

Ennen pelin toteuttamista tehdään suunnitelma. Suunnitelma tehdään wikiin ja kuva laitetaan versiohallintaan, ja suunnitelma hyväksytetään ohjaajalla ennen varsinaisen työn aloittamista. Varaa aika Korpista.

Jos et keksi, minkä tyylisen pelin haluaisit tehdä, katso esimerkkejä, millaisia pelejä Jypelillä voi tehdä.

Ohjaajat majailevat sovittuina aikoina 4. kerroksen OTE-solun avotilassa. Kysy virastomestareilta apua jos et löydä perille!

Lue ohjeet suunnitelman palauttamiseksi Wikiin. Suunnittelemattomia harjoitustöitä ei hyväksytä.

Suunnitelmassa pitää olla ainakin seuraavat asiat:

  1. Tekijöiden nimet
  2. Pelin nimi
  3. Pelaajien lukumäärä (1-4)
  4. Pelin taustatarina tai kuvaus pelin teemasta
  5. Pelin idea ja tavoitteet
  6. Hahmotelma pelistä (kuva tai kuvia paperilla käsin tai tietokoneella piirrettynä)
  7. Jonkinlainen kuvaus siitä, miten peli etenee
  8. Pelissä olevat oliot, niiden toiminnot ja missä suhteessa ne ovat toisiinsa
  9. Toteutuksen suunnitelma: mitä tekisin ja missä järjestyksessä? Millä aikataululla?

4. Vaatimukset

  • Harjoitustyön aihe on siis peli. Millainen peli, sen päättää jokainen itse. Huomaa, että peli voi olla myös ei-perinteinen; käytä mielikuvitustasi ja luovuuttasi.
  • Pelissä pitää tapahtua jotakin, eli ruudulla pitää tapahtua jotain järkevää. Harjoitustyön pääpaino ei kuitenkaan ole hienossa ulkoasussa.
  • Vähintään muutama aliohjelma Main:n ja Begin:n lisäksi
  • Joillekin aliohjelmille on vietävä parametrejä ja joidenkin on palautettava arvoja

4.1 Korppiin merkittävät kentät

Alla on tarkastettavien osa-alueiden lista, jonka ohjaajat tulevat tarkastamaan harjoitustyön esittelemisen yhteydessä. Jos ok niin merkintä tulee Korppiin.

  1. Nimi ja versio: Koodissa tekijän nimi ja versio (@author, @version)
  2. Kommentit: Kaikki luokat, aliohjelmat ja metodit ovat kommentoituja. Dokumenteissa kuvataan sitä, mitä aliohjelmat tekevät, ensisijaisesti ei sitä miten, se kommentoidaan itse koodin sisään jos tarvitsee.
    • Voit tarkistaa dokumentaatiosi: palauta itse kirjoittamasi harjoitustyön .cs-tiedosto (usein Begin()-aliohjelman sisältämä .cs-tiedosto) myös NettiDemoWWW:llä demoksi numero 15. Paina Päivitä index.html ja katso sitten minkälainen dokumentti syntyi työstäsi. Mieti kommentteja sen mukaan.
  3. Nimeäminen: Muuttujien ja aliohjelmien nimeäminen johdonmukaista ja loogista, noudattelee C#-kielelle sovittuja käytänteitä. Katso koodauskäytänteet.
  4. } + 2 tyhjää: Aliohjelmien loppusulun } jälkeen vähintään 1, enintään 2 tyhjää riviä
  5. Attribuutit oikein: Ei turhia attribuutteja
  6. Ei globaaleja: Ei globaaleja muuttujia. Jos jotain globaaleja arvoja tarvitaan, ne tehdään vakioilla (const).
  7. Ei toistoa: Ei turhaa toistoa, joka olisi voitu tehdä silmukoilla tai aliohjelmilla. Tämä koskee myös aliohjelmia.
  8. Taulukko: Käytetään taulukkoa tai listaa
  9. Silmukka: Ainakin yksi silmukka
  10. Toimii: Työ toimii ainakin merkittävältä osin (kaikkia suunnitelman osia ei tarvitse olla tehtynä).
  11. Ei turhia literaaleja: Koodissa ei numeerisia vakioita, tai merkkijonoja, joiden pitäisi olla const-määreellä. Suomennettuna: et siis saa tehdä koodia esim: (y < 18) jossa 18 on nyt väärin, sen tilalle muuttuja tai vakio.

5. Työn esittely ja hyväksyttäminen

  • Koko harkkatyön Solution viedään versionhallintapalvelimelle esimerkiksi TortoiseSVN:n (ohje NPO wikissä) avulla.
  • Töiden esittely tapahtuu myöhemmin sovittavien pelisääntöjen mukaan kuitenkin niin, että kaikki esittelevät. Harjoitustyön ei tarvitse vielä olla 100% valmis esittelytilaisuudessa - tarkoitus on antaa ja saada palautetta jotta vielä viimeisiä pikku viilauksia voidaan tehdä.
  • Varaa (yksin tai parisi kanssa) aika ohjaajalle, ja esittele harjoitustyösi. Näin voidaan varmistua että olet/olette todella itse tehneet pelin. Voit(te) esitellä pelisi myös ohjauksissa.
  • Työ on hyväksytettävä ohjaajilla viimeistään ennen deadlinea (ks. tämän sivun yläosa).

Attachments