wiki:kesa2014/suunnitelmat/ronioksa
Last modified 4 years ago Last modified on 2014-06-07 10:45:52

6

Ohjelmointi 2 - 2014 -kurssin suunnitelma(vaihe 4)

Roope Oksanen (ronioksa@…)

1. Pelitilastot

Ohjelman tarkoitus on ylläpitää tilastoja useasta eri käyttäjän pelaamasta kilpahenkisestä pelistä/lajista.

1.1 Mitä tietoja tarvitaan?

  • Käyttäjän nimi
  • Pelin nimi
  • Tapahtuman nimi (tai yleisemmin tyyppi) jossa pelattiin (esim. jokin turnaus, netplaysessio)
  • Tulos kyseisestä tapahtumasta formaatissa W-L
  • Lisätietoa pelaamisesta (esim. millä pakalla pelattiin MTG:tä tai millä hahmolla Street Fighteria)
  • Milloin pelattiin

1.2 Mitä ominaisuuksia rekisteriltä halutaan?

  • Käyttäjän lisääminen
  • Pelien lisääminen
  • Tulosten lisääminen
  • Hakeminen päivämäärän/voittojen/lisätietojen perusteella
  • Tulosten hakeminen kriteereillä mitä/milloin pelattiin
  • Kokonaistuloksen/voittoprosentin laskeminen

1.3 Talletustiedostojen muoto

Ohjelman tiedot talletetaan seuraavanlaisiin tekstitiedostoihin:

tapahtumat.dat - relaatiokannan päätaulu

Tapahtumat
 Kenttien järjestys tiedostossa on seuraava:
pid| gid|Tapahtuma      |tulos   |lisätiedot |päivämäärä|
1  | 1  |GP Prague      |2-7     |Jund       |10.01.2014|
2  | 1  |WMCQ Jyväskylä |8-3     |Jund       |14.05.2013|
1  | 3  |Online Ranked  |0-20    |Sagat      |12.08.2012|

pelit.dat - pelit päänäkymään relaation avulla

 gid|pelit                    |
 1  |MTG                      |
 2  |Hearthstone              |
 3  |Street Fighter 4         |

kayttajat.dat - käyttäjät päänäkymään relaation avulla

 pid|käyttäjä                   |
 1  |Roope                      |
 2  |Erkki                      |

2. Ohjelman käyttö

2.1 Ohjelman käynnistys.

Ohjelma käynnistetään klikkaamalla pelitilastot.jar-ikonia tai antamalla komentoriviltä komento

java -jar pelitilastot.jar

2.2 Pääikkuna

Kun ohjelma on käynnistynyt on näkyvillä ohjelman pääikkuna:

https://svn.cc.jyu.fi/srv/svn/ohj2ht/k2014/ronioksa/trunk/kuvat/paaikkuna.png

Pääikkunassa on seuraava menurakenne:

Tiedosto          Muokkaa
========          ======= 
Avaa..            Lisää käyttäjä...
                  Poista käyttäjä 
                  Lisää peli..         
                  Poista peli  
                  Lisää tapahtuma
                  Poista tapahtuma
                 

2.3 Menutoiminnot yksityiskohtaisemmin

2.3.1 Avaa

Avaa uuden tiedoston.

2.3.2 Uusi käyttäjä

Antaa käyttäjälle syötettäväksi kentän, jonka avulla voidaan luoda uusi käyttäjänimi valittavaksi.

https://svn.cc.jyu.fi/srv/svn/ohj2ht/k2014/ronioksa/trunk/kuvat/lisaakayttaja.png

2.3.4 Poista käyttäjä

Antaa käyttäjän poistaa valittuna olevan käyttäjän.

2.3.3 Lisää peli

Antaa käyttäjälle syötettäväksi kentän jonka avulla voidaan luoda uusi peli valittavaksi.

https://svn.cc.jyu.fi/srv/svn/ohj2ht/k2014/ronioksa/trunk/kuvat/lisaapeli.png

2.3.5 Poista peli

Antaa käyttäjän poistaa pelin listasta.

2.3.6 Lisää tapahtuma

Antaa käyttäjän syöttää taulukkoon tietoja, joiden avulla jonkin pelin alle voidaan lisätä tapahtuma.

2.3.7 Poista tapahtuma

Antaa käyttäjän poistaa tapahtuman listasta.

3.0 Tietorakenteet

https://svn.cc.jyu.fi/srv/svn/ohj2ht/k2014/ronioksa/trunk/kuvat//pelitilastotrakenne.png

3.0 CRC - Kortit

Tapahtuma-luokka (tapahtuma)

|--------------------------------------------------------------------------|
| Luokan nimi: Tapahtuma                                    | Avustajat:   |
|---------------------------------------------------------------------------
| Vastuualueet:                                        |                   | 
|                                                      |                   | 
| (- ei tiedä peliTilastosta, eikä käyttöliittymästä)  |                   |
|  - tietää tapahtuman kentät (pid, gid,               |                   |
|    nimi, tulos, lisätiedot, päivämäärä)              |                   |
| - osaa tarkistaa tietyn kentän oikeellisuuden        |                   |
|   (syntaksin)                                        |                   | 
| - osaa muuttaa 11|1|GP Prague|2-7|Jund|10.01.2014|   |                   |
|    merkkijonon tapahtuman tiedoiksi                  |                   |
| - osaa antaa merkkijonona i:n kentän tiedot          |                   |
| - osaa laittaa merkkijonon i:neksi kentäksi          |                   |
|                                                      |                   | 
|                                                      |                   |
|                                                      |                   |
|                                                      |                   |
|---------------------------------------------------------------------------

Peli-luokka (Peli)

|--------------------------------------------------------------------------|
| Luokan nimi:   Peli                                  | Avustajat:        |
|---------------------------------------------------------------------------
| Vastuualueet:                                        |                   | 
|                                                      |                   | 
| (- ei tiedä peliTilastosta, eikä käyttöliittymästä)  |                   |
| - tietää pelien kentät (gid, nimi)                   |                   |
| - osaa tarkistaa tietyn kentän oikeellisuuden        |                   |
|   (syntaksin)                                        |                   | 
| - osaa muuttaa 1|MTH| - merkkijonon                  |                   |
|   pelin tiedoiksi                                    |                   |
| - osaa antaa merkkijonona i:n kentän tiedot          |                   |
| - osaa laittaa merkkijonon i:neksi kentäksi          |                   |
|                                                      |                   | 
|                                                      |                   | 
|                                                      |                   | 
|                                                      |                   | 
|                                                      |                   | 
|---------------------------------------------------------------------------

Kayttaja-luokka (Kayttaja)

|--------------------------------------------------------------------------|
| Luokan nimi:   Kayttaja                              | Avustajat:        |
|---------------------------------------------------------------------------
| Vastuualueet:                                        |                   | 
|                                                      |                   | 
| (- ei tiedä peliTilastosta, eikä käyttöliittymästä)  |                   |
| - tietää kayttajan kentät (pid, käyttäjä)            |                   |
| - osaa tarkistaa tietyn kentän oikeellisuuden        |                   |
|   (syntaksin)                                        |                   |
| - osaa muuttaa 1|Roope| - merkkijonon                |                   |
|   käyttäjän tiedoiksi                                |                   |
| - osaa antaa merkkijonona i:n kentän tiedot          |                   | 
| - osaa laittaa merkkijonon i:neksi kentäksi          |                   | 
|                                                      |                   | 
|                                                      |                   | 
|                                                      |                   | 
|                                                      |                   | 
|                                                      |                   | 
|---------------------------------------------------------------------------

PeliTilastot?-luokka (PeliTilastot?)

|--------------------------------------------------------------------------|
| Luokan nimi:   PeliTilastot                          | Avustajat:        |
|---------------------------------------------------------------------------
| Vastuualueet:                                        |                   |
|                                                      | - Tapahtumat      |
| - huolehtii Peli, Tapahtuma ja Käyttäjä - luokkien   | - Pelit           |
|   välisestä yhteistyöstä ja välittää näitä tietoja   | - Kayttajat       |
|   pyydettäessä                                       | - Tapahtuma       |
| - lukee ja kirjoittaa PeliTilastot tiedostoon        | - Peli            |
|   pyytämällä apua avustajiltaan                      | - Kayttaja        |
|                                                      |                   |
|                                                      |                   | 
|                                                      |                   |
|                                                      |                   | 
|                                                      |                   | 
|                                                      |                   | 
|                                                      |                   | 
|                                                      |                   | 
|---------------------------------------------------------------------------

Tapahtumat-luokka (Tapahtumat)

|--------------------------------------------------------------------------|
| Luokan nimi:   Tapahtumat                            | Avustajat:        |
|---------------------------------------------------------------------------
| Vastuualueet:                                        |                   |
|                                                      | - Tapahtuma       |
| - pitää yllä varsinaista tapahtumarekisteriä, eli    |                   |
    osaa                                               |                   |
|   lisätä ja poistaa tapahtuman                       |                   |
| - lukee ja kirjoittaa tapahtumien tiedostoon         |                   |
| - osaa etsiä ja lajitella                            |                   |
|                                                      |                   | 
|                                                      |                   | 
|                                                      |                   | 
|                                                      |                   |
|                                                      |                   | 
|                                                      |                   | 
|                                                      |                   | 
|                                                      |                   | 
|                                                      |                   |
|---------------------------------------------------------------------------

Pelit-luokka (Pelit)

|--------------------------------------------------------------------------|
| Luokan nimi:   Pelit                                 | Avustajat:        |
|---------------------------------------------------------------------------
| Vastuualueet:                                        |                   | 
|                                                      | - Peli            |
| - pitää yllä varsinaista pelirekisteriä, eli         |                   |
|   osaa lisätä ja poistaa pelin                       |                   |
| - lukee ja kirjoittaa pelien tiedostoon              |                   |
|                                                      |                   |
|                                                      |                   |
|                                                      |                   | 
|                                                      |                   |
|                                                      |                   | 
|                                                      |                   | 
|                                                      |                   | 
|                                                      |                   | 
|                                                      |                   |
|                                                      |                   | 
|---------------------------------------------------------------------------

Kayttajat-luokka (Kayttajat)

|--------------------------------------------------------------------------|
| Luokan nimi:  Kayttajat                              | Avustajat:        |
|---------------------------------------------------------------------------
| Vastuualueet:                                        |                   |
|                                                      | - Kayttaja        |
| - pitää yllä varsinaista käyttäjärekisteriä, eli     |                   |
|   osaa lisätä ja poistaa käyttäjän                   |                   |
| - lukee ja kirjoittaa käyttäjien tiedostoon          |                   |
|                                                      |                   |
|                                                      |                   | 
|                                                      |                   | 
|                                                      |                   | 
|                                                      |                   | 
|                                                      |                   | 
|                                                      |                   | 
|                                                      |                   | 
|                                                      |                   | 
|                                                      |                   | 
|---------------------------------------------------------------------------