wiki:Kesä2013/suunnitelmat/jupejunt
Last modified 4 years ago Last modified on 2013-07-19 09:16:57

Ohjelmointi 2 - 2013 -kurssin esisuunnitelma (vaihe 1)

Jukka Juntti, Samuli Pänkäläinen, Jani Hantula

1. Pokedex

Ohjelman tarkoitus on auttaa tulevaa pokemonmestaria lukemaan ja tallettamaan tietoja kaikista 151 pokemonista.

1.1 Mitä tietoja tarvitaan

-nimi
-numero
-paino
-pituus
-luonnekuvaus
-taidot
-evoluutio
-tyyppi
-vahvuudet
-heikkoudet
-sieto
-immuuni

1.2 Mitä ominaisuuksia halutaan

-pokemonin lisääminen
-pokemonin poistaminen
-tietojen lisääminen
-tietojen muokkaaminen
-tietojen poistaminen
-pokemon haku

-nimen mukaan
-tyypin mukaan
-numeron mukaan
-taidon mukaan

-jne...

1.3 Talletustiedostojen muoto

Ohjelman tiedot tallennetaan seuraavasti tiedostoon:

pokemonit.data

/Pokemon data
/id nimi	 paino	pituus	luonne	         edellinen muoto	seuraava muoto	tyyppi	sieto		heikkous	immuuni	vahvuus		Lisätiedot
1 |Bulbasaur	|	|	|kasdä		|-		|2		|8,9	|2,3,9		|10,1,4		|	|7,3		|1.txt	
2 |Ivysaur	|	|	|asd		|1		|3		|8,9	|2,3,9		|10,1,4		|	|7,3		|2.txt
3 |Venusaur	|	|	|ei		|2		|		|8,9	|2,3,9		|10,1,4		|	|7,3		|	
4 |Squirtle	|	|	|asd		|		|5		|3	|3,10		|2,9		|	|7		|
5 |Wartortle	|	|	|aaasdä		|4		|		|3	|3,10		|2,9		|	|7		|
.
.
.¨


Pokemon tyypit tallennetaan tyypit.data

/pokemon tyypit
/id
1|	|maa
2|	|sähkö
3|	|vesi
4|	|lento
5|	|normaali
6|	|teräs
7|	|kivi
8|	|myrkky
9|	|ruoho
10|	|tuli
.
.
.jne



Lisätiedot tallentuvat omiin tekstitiedostoihinsa mallilla pokemonin-numero.txt sovelluksen alaiseen kansioon.

Pokemonien iskut ja taidot tallennetaan taidot.data

#|Name|Type|Category|Contest|PP|Power|Accuracy|Gen
1|Pound|Normal|Physical|Tough|35|40|100 %| I
2|Karate Chop*|Fighting|Physical|Tough|25|50|100 %| I
3|DoubleSlap|Normal|Physical|Tough|10|15|85 %| I
4|Comet Punch|Normal|Physical|Tough|15|18|85 %| I
5|Mega Punch|Normal|Physical|Tough|20|80|85 %| I
.
.
jne. näitä onki sitte varmaa tuhat

Taidot Relaatio (rivitunnus,taitoid,pokemonid,nykyinentaito-slot)

tid  	ttid  	ptid  	ntid 
1	|1	|1	|1
2	|2	|1	|2
3	|3	|1	|-
4	|4	|1	|-
5	|5	|1	|3
6	|6	|2	|1

Jokaisen pokemonin opittavat taidot tallennetaan lisätietojen tapaan 1.taito, 2.taito, jne.

opittavat taidot
lvl	ttid
1	|1
1	|5
1	|6
6	|20
9	|8

2. Ohjelman käyttö

2.1 Käynnistys

Ohjelma käynnistetään avaamalla Pokedex.jar klikkaamalla tai antamalla komentorivillä komento

java -jar Pokedex.jar

2.2 Pääikkuna

Kutakuinkin näin. Taitotiedot aukeavat omaan taulukkoon sivulle

https://svn.cc.jyu.fi/srv/svn/ohj2k13/jupejunt/kuvia/harj_paaikkuna.png

Poistamisen varmistusikkuna

https://svn.cc.jyu.fi/srv/svn/ohj2k13/jupejunt/kuvia/harj_poistodialogi.png

2.3 Menu tarkemmin

2.3.1 Lisää Avaa tietoruutuun kentät, joihin voi syöttää pokemonin tietoja.

2.3.2 Muokkaa Avaa tietoruutuu kentät, joihin tulee valitun pokemonin tiedot muokattavaksi.

2.3.3 Tallenna Tallentaa lisäämis tai muokkaamisvaiheessa kenttiit tehdyt muutokset.

2.3.4 Haku Hakuehdoksi valitaan yksi neljästä kentästä(eli siis näistä tietokentistä: nimi, numero, taito, tyyppi), jolloin syötetään hakusana ja ohjelma tuo kaikki osumat alla olevaan listaan, listattuna numerojärjestyksessä (eli pokemonin id:n mukaan)

2.3.5 Poista Poista napista ohjelma poistaa valitun pokemonin tiedot. Esittää ensin varmistusikkunan, jossa kyllä, tai ei nappi.

2.4 CRC-Kortit

2.4.1 Pokemonit

|------------------------------------------------------------------------|
| Luokan nimi:   Pokemonit                           | Avustajat:        |
|------------------------------------------------------------------------|
| Vastuualueet:                                      |                   |
|                                                    | -tyyppi           |
| - Ylläpitää tietoluokkia                           | -pokemontieto     |
|                                                    | -taidot         	 |
| - lukee ja kirjoittaa pokemonit tiedostoon         | -pokemonin taidot |
|   pyytämällä apua avustajiltaan                    |  		 |
| - Välittää tietoa käyttöliittymän ja tieto-        | 		         |
|   rakenteiden välillä                              |                   |
|                                                    |                   |
|                                                    |                   |
|                                                    |                   |
|                                                    |                   |
|                                                    |                   |
|                                                    |                   |
|-------------------------------------------------------------------------

2.4.2 Tyypit

|------------------------------------------------------------------------|
| Luokan nimi:   Tyypit                              | Avustajat:        |
|------------------------------------------------------------------------|
| Vastuualueet:                                      |                   |
|                                                    |                   |
| - Ylläpitää tietoa tyypeistä                       |                   |
|                                                    |                   |
|                                                    |                   |
|                                                    |                   |
|                                                    |                   |
|                                                    |                   |
|                                                    |                   |
|                                                    |                   |
|                                                    |                   |
|                                                    |                   |
|                                                    |                   |
|                                                    |                   |
|-------------------------------------------------------------------------

2.4.3 Pokemonin Taidot

|------------------------------------------------------------------------|
| Luokan nimi:   pokemonin taidot                    | Avustajat:        |
|------------------------------------------------------------------------|
| Vastuualueet:                                      |                   |
|                                                    |  merkkijono       |
| - Sisältää kaikki taidot                           |                   |
|                                                    |                   |
|                                                    |                   |
|                                                    |                   |
|                                                    |                   |
|                                                    |                   |
|                                                    |                   |
|                                                    |                   |
|                                                    |                   |
|                                                    |                   |
|                                                    |                   |
|                                                    |                   |
|-------------------------------------------------------------------------

2.4.4 Taidot

|------------------------------------------------------------------------|
| Luokan nimi:   taidot                              | Avustajat:        |
|------------------------------------------------------------------------|
| Vastuualueet:                                      |                   |
|                                                    |                   |
| - Ylläpitää taito - tietoluokkaa                   | -taito 	         |
|                                                    | -opittavat taidot |
| - lukee ja kirjoittaa taidot tiedostoon            |                   |
|   pyytämällä apua avustajiltaan                    |                   |
|                                                    |                   |
|                                                    |                   |
|                                                    |                   |
|                                                    |                   |
|                                                    |                   |
|                                                    |                   |
|                                                    |                   |
|                                                    |                   |
|-------------------------------------------------------------------------

2.4.5 Opittavat taidot

|------------------------------------------------------------------------|
| Luokan nimi:   Opittavat taidot                    | Avustajat:        |
|------------------------------------------------------------------------|
| Vastuualueet:                                      |                   |
|                                                    |                   |
| - Ylläpitää kaikkien pokemonien opittavat taidot   | merkkijonot       |
|                                                    |                   |
|                                                    |                   |
|                                                    |                   |
|                                                    |                   |
|                                                    |                   |
|                                                    |                   |
|                                                    |                   |
|                                                    |                   |
|                                                    |                   |
|                                                    |                   |
|-------------------------------------------------------------------------

2.4.6 taito

|---------------------------------------------------------------|
|Luokan nimi: Taito                       	|Avustajat:     |
|---------------------------------------------------------------|
|Vastuualueet:					|		|
|	-Pitää sisällään taitojen tiedot	|merkkijonot    |
|	                          		|		|
|		                        	|		|
|						|		|
|						|		|
|						|		|
|						|		|
|						|		|
|						|		|
|						|		|
|						|		|
|---------------------------------------------------------------|

2.4.7 Näyttö

|------------------------------------------------------------------------|
| Luokan nimi:   Näyttö                              | Avustajat:        |
|------------------------------------------------------------------------|
| Vastuualueet:                                      |                   |
|                                                    | - Pokedex         |
| - Tulostaa Pokedex luokan valitsemat tiedot        |                   |
|                                                    |                   |
|                                                    |                   |
|                                                    |                   |
|                                                    |                   |
|                                                    |                   |
|                                                    |                   |
|                                                    |                   |
|                                                    |                   |
|                                                    |                   |
|                                                    |                   |
|                                                    |                   |
|-------------------------------------------------------------------------,

2.4.8 Lisätiedot

|------------------------------------------------------------------------|
| Luokan nimi:   lisätiedot                          | Avustajat:        |
|------------------------------------------------------------------------|
| Vastuualueet:                                      |                   |
|                                                    |                   |
| - Ylläpitää vapaa tekstikenttä tietoluokka ja      |  merkkijonot      |
|   tallentaa sisällön omaan tiedostoonsa            |                   |
|                                                    |                   |
|                                                    |                   |
|                                                    |                   |
|                                                    |                   |
|                                                    |                   |
|                                                    |                   |
|                                                    |                   |
|                                                    |                   |
|                                                    |                   |
|                                                    |                   |
|-------------------------------------------------------------------------

2.4.9 Pokemontieto

|---------------------------------------------------------------|
|Luokan nimi: Pokemontieto                     	|Avustajat:     |
|---------------------------------------------------------------|
|Vastuualueet:					|		|
|						|   pokemon     |
|	- Ylläpitää pokemon tieto-olioiden      |               |
|         tietoja                 		|	        |
|	- Vastaa pokemonit oliolle		|		|
|	- Lukee pokemonit.data			|		|
|						|		|
|						|		|
|						|		|
|						|		|
|						|		|
|						|		|
|						|		|
|						|		|
|---------------------------------------------------------------|

2.4.10 pokemon

|---------------------------------------------------------------|
|Luokan nimi: pokemon                     	|Avustajat:     |
|---------------------------------------------------------------|
|Vastuualueet:					|		|
|						|merkkijonot    |
|	-pitää sisällään pokemonin tiedot	|		|
|						|		|
|						|		|
|						|		|
|						|		|
|						|		|
|						|		|
|						|		|
|						|		|
|---------------------------------------------------------------|

2.4.11 opittavataito

|---------------------------------------------------------------|
|Luokan nimi: opittavataito                    	|Avustajat:     |
|---------------------------------------------------------------|
|Vastuualueet:					|		|
|						|merkkijonot    |
|	-pitää sisällään pokemonin opittavien 	|		|
|	taitojen id:t sekä niihin tarvittavan	|		|
|	levelin					|		|
|						|		|
|						|		|
|						|		|
|						|		|
|						|		|
|						|		|
|---------------------------------------------------------------|

2.4.12 opittutaito

|---------------------------------------------------------------|
|Luokan nimi: opittutaito                    	|Avustajat:     |
|---------------------------------------------------------------|
|Vastuualueet:					|		|
|						|merkkijonot    |
|	-sisältää neljä paikkaa, jonne lisätä	|		|
|	kuhunkin yksi taitoID			|		|
|	-jokaista pokemonia kohden yksi 	|		|
|						|		|
|						|		|
|						|		|
|						|		|
|						|		|
|						|		|
|---------------------------------------------------------------|

2.4.13 tyyppi

|---------------------------------------------------------------|
|Luokan nimi: tyyppi                     	|Avustajat:     |
|---------------------------------------------------------------|
|Vastuualueet:					|		|
|						|merkkijonot    |
|	sisältää tyyppi ID:n ja tyypin nimen	|		|
|						|		|
|						|		|
|						|		|
|						|		|
|						|		|
|						|		|
|						|		|
|						|		|
|---------------------------------------------------------------|

2.5 Luokkarakennekuva

https://svn.cc.jyu.fi/srv/svn/ohj2k13/jupejunt/kuvia/Olijot.png

E: jupejunt 25.6.2013