hirsipuu
Class Tasot

java.lang.Object
  extended by hirsipuu.Tasot

public class Tasot
extends java.lang.Object

Luokka tasojen kokoelman mallintamiseksi. Tasot osaa palauttaa pyydetyn lukum????r??n tasoja tulostettavana merkkijonona sek?? lukea tietonsa tiedostosta tasot.dat.

Version:
0.9, 22.4.2008
Author:
Anna-Leena Latvala, Toni Purontaka

Field Summary
private static java.lang.String POLKU
           
private  java.util.Map<java.lang.Integer,Taso> tasot
           
 
Constructor Summary
Tasot()
          Alustaa tasot defaulttitiedostosta.
Tasot(java.lang.String polku)
          Alustaa tasot tiedostosta polussa "polku".
 
Method Summary
 java.lang.String annaVihje(int taso)
          Palauttaa tasoa vastaaavan vihjesanan / aihealueen, jos taso on olemassa.
 int koko()
          Antaa tasojen lukum??r?n.
private  void lisaaTaso(java.lang.String s)
          Lis?? tietorakenteeseen uuden pelaajan.
 void lisaaTiedostosta(java.lang.String polku)
          Lukee tiedostosta polussa "polku" tasojen tiedot ja luo kokoelman taso-olioita.
static void main(java.lang.String[] args)
          Testip??ohjelma.
 java.lang.String tulostus(int n)
          Palauttaa merkkijonona n ensimm?isen tason tiedot, tai jos n on suurempi kuin tasojen m??r?, niin palautetaan kaikki tasot.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

tasot

private java.util.Map<java.lang.Integer,Taso> tasot

POLKU

private static final java.lang.String POLKU
See Also:
Constant Field Values
Constructor Detail

Tasot

public Tasot()
Alustaa tasot defaulttitiedostosta.


Tasot

public Tasot(java.lang.String polku)
Alustaa tasot tiedostosta polussa "polku".

Method Detail

lisaaTaso

private void lisaaTaso(java.lang.String s)
Lis?? tietorakenteeseen uuden pelaajan.

Parameters:
s - rivi, josta pelaajan tiedot parsitaan. Jos s alkaa ";", tulkitaan kommentiksi.

lisaaTiedostosta

public final void lisaaTiedostosta(java.lang.String polku)
Lukee tiedostosta polussa "polku" tasojen tiedot ja luo kokoelman taso-olioita. Tiedostosta on l?ydytt?v? taso 1 ja kaikki tasot sen ja suurimman numeron v?lilt?; mik?li tiedosto on ep?kelpo, heitet??n poikkeus (tai ainakin tullaan my?hemmin heitt?m??n!)

Example:
 #THROWS IOException
 #import java.io.IOException;
 #import fi.jyu.mit.ohj2.VertaaTiedosto;
  VertaaTiedosto.kirjoitaTiedosto("testitasoja.txt",
      "1 | kissoja\n"+
      "2 | koiria\n"+
      "3 | hevosia");
  String tulos ="(1) kissoja\n(2) koiria\n(3) hevosia\n";  
  Tasot tasot = new Tasot("testitasoja.txt");
  tasot.tulostus(3) === tulos;
  VertaaTiedosto.tuhoaTiedosto("testitasoja.txt");
 

annaVihje

public java.lang.String annaVihje(int taso)
Palauttaa tasoa vastaaavan vihjesanan / aihealueen, jos taso on olemassa. Muutoin palauttaa null.

Parameters:
taso - pyydetyn tason numero
Returns:
tason aihealue merkkijonona

tulostus

public java.lang.String tulostus(int n)
Palauttaa merkkijonona n ensimm?isen tason tiedot, tai jos n on suurempi kuin tasojen m??r?, niin palautetaan kaikki tasot.

Parameters:
n - tulosteeseen sis?llytett?vien tasojen lkm
Returns:
merkkijono, jossa tasojen tiedot rivitettyn?.
Example:
 Tasot kokoelma = new Tasot();
 kokoelma.tulostus(2) === "(1) El?imet\n(2) Alkuaineet\n";  
 

koko

public int koko()
Antaa tasojen lukum??r?n.

Returns:
tasojen lukum??r?n
Example:
 Tasot kokoelma = new Tasot();
 kokoelma.koko() === 2;  
 

main

public static void main(java.lang.String[] args)
Testip??ohjelma.

Parameters:
args - ei k?yt?ss?