hirsipuu
Class Peli

java.lang.Object
  extended by hirsipuu.Peli

public class Peli
extends java.lang.Object

Luokka peliin liittyvien yksityiskohtien toteuttamiseen. Peliolio tiet?? montako sanaa kysyt??n, montako v??r?? kirjainta sallitaan, mitk? kirjaimet (ja v??r?t kirjaimet) on jo yritetty, osaa antaa tulosteen arvattavalle sanalle siten, ett? vain arvatut merkit n?kyv?t ja arvuuttaa merkkej?, sek? osaa laskea pisteet v??rien arvausten perusteella tasolle.

Version:
0.5, 11.3.2008
Author:
Anna-Leena Latvala, Toni Purontaka

Field Summary
private  int kierroksenVaarat
           
private  java.lang.StringBuffer kirjaimet
           
private  int maxPisteet
           
private  int maxVaaria
           
private  java.lang.String sana
           
private  java.lang.StringBuffer sanatuloste
           
private  int sanojaOikein
           
private  int sanojenLkm
           
private  java.lang.StringBuffer vaarat
           
private  java.lang.StringBuffer valmis
           
 
Constructor Summary
Peli()
          Peruspelin parametrit?n konstruktori.
Peli(int sanat, int pisteet, int vaarat)
          Konstruktori, joka alustaa pelin attribuutit haluttuihin arvoihin.
 
Method Summary
 void alustaKierros()
          Alustaa v??rin ja oikein menneiden sanojen laskurit nolliksi.
 java.lang.String annaArvatut()
          Palauttaa kyseist? sanaa kohti arvattujen kirjainten merkkijonon.
 int annaPisteet()
          Palauttaa pelille pisteet hienostuneella pistelaskualgoritmilla.
 java.lang.String annaTuloste()
          Palauttaa senhetkisen tulosteen arvattavalle sanalle.
 java.lang.String annaVaarat()
          Palauttaa kyseist? sanaa kohti v??rin arvattujen kirjainten merkkijonon.
 int annaYhtVaarat()
          Palauttaa t?ss? peliss? yhteens? v??rin arvattujen kirjainten m??r?n
 boolean arvaa(char merkki)
          Palauttaa, onko sana arvattu kokonaan, kun arvataan t?t? merkki?.
 boolean liikaaVaaria()
          Palauttaa, onko v??ri? arvauksia jo tullut maksimim??r?.
 void lisaaOikea()
          Kasvattaa oikein arvattujen sanojen m??r?? yhdell?.
static void main(java.lang.String[] args)
          Testip??ohjelma demonstroi, miten peli? voisi k?ytell?.
 int montakoKysytaan()
          Palauttaa, montako sanaa yhdess? peliss? tulisi kysell?.
 void setSana(java.lang.String sana)
          Asettaa kyselt?v?ksi sanaksi annetun sanan sek? alustaa tulosteen ja vertailu- merkkijonon tulosteelle.
 boolean tarpeeksiArvattuja()
          Palauttaa, onko sanoja arvattu oikein riitt?v?n monta kierrosta kohden.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

sanojenLkm

private final int sanojenLkm

maxVaaria

private final int maxVaaria

maxPisteet

private final int maxPisteet

sana

private java.lang.String sana

vaarat

private java.lang.StringBuffer vaarat

kirjaimet

private java.lang.StringBuffer kirjaimet

sanatuloste

private java.lang.StringBuffer sanatuloste

valmis

private java.lang.StringBuffer valmis

kierroksenVaarat

private int kierroksenVaarat

sanojaOikein

private int sanojaOikein
Constructor Detail

Peli

public Peli()
Peruspelin parametrit?n konstruktori. Alustaa peruspelin attribuutit: sanoja kysyt??n 5 kpl, yhdest? saa max 20p ja v??ri? kirjaimia saa tulla 10.


Peli

public Peli(int sanat,
            int pisteet,
            int vaarat)
Konstruktori, joka alustaa pelin attribuutit haluttuihin arvoihin.

Parameters:
sanat - kysytt?vien sanojen lkm
pisteet - yhden sanan maksimipistem??r?
vaarat - v??rien arvausten maksimim??r?
Method Detail

montakoKysytaan

public int montakoKysytaan()
Palauttaa, montako sanaa yhdess? peliss? tulisi kysell?.

Returns:
kysytt?vien sanojen lkm

alustaKierros

public void alustaKierros()
Alustaa v??rin ja oikein menneiden sanojen laskurit nolliksi.


setSana

public void setSana(java.lang.String sana)
Asettaa kyselt?v?ksi sanaksi annetun sanan sek? alustaa tulosteen ja vertailu- merkkijonon tulosteelle.

Parameters:
sana - annettu sana

arvaa

public boolean arvaa(char merkki)
Palauttaa, onko sana arvattu kokonaan, kun arvataan t?t? merkki?.

Parameters:
merkki - pelaajan arvaama merkki
Returns:
true, jos sana tuli valmiiksi false muutoin
Example:
 Peli peli = new Peli(5, 20, 10);
 peli.setSana("kissa");
 peli.arvaa('v') === false;
 peli.arvaa('k') === false;
 peli.arvaa('i') === false;
 peli.arvaa('s') === false;
 peli.arvaa('a') === true;
 

annaTuloste

public java.lang.String annaTuloste()
Palauttaa senhetkisen tulosteen arvattavalle sanalle. Viel? puuttuvat kirjaimet on tulosteessa korvattu alaviivoilla ( _ ).

Returns:
merkkijono, jossa n?kyy vain arvatut merkit
Example:
 Peli peli = new Peli(5, 20, 10);
 peli.setSana("kissa");
 peli.annaTuloste() === "_ _ _ _ _ ";
 peli.arvaa('s');
 peli.arvaa('k');
 peli.annaTuloste() === "k _ s s _ ";
 

annaArvatut

public java.lang.String annaArvatut()
Palauttaa kyseist? sanaa kohti arvattujen kirjainten merkkijonon.

Returns:
arvatut merkit

annaVaarat

public java.lang.String annaVaarat()
Palauttaa kyseist? sanaa kohti v??rin arvattujen kirjainten merkkijonon.

Returns:
v??rin arvatut merkit

annaYhtVaarat

public int annaYhtVaarat()
Palauttaa t?ss? peliss? yhteens? v??rin arvattujen kirjainten m??r?n

Returns:
v??rin arvattujen kirjainten m??r?

lisaaOikea

public void lisaaOikea()
Kasvattaa oikein arvattujen sanojen m??r?? yhdell?.


liikaaVaaria

public boolean liikaaVaaria()
Palauttaa, onko v??ri? arvauksia jo tullut maksimim??r?.

Returns:
tosi, jos v??ri? arvauksia on liikaa pelin jatkumiseksi

tarpeeksiArvattuja

public boolean tarpeeksiArvattuja()
Palauttaa, onko sanoja arvattu oikein riitt?v?n monta kierrosta kohden.

Returns:
tosi, jos kierros on saatu p??t?kseen

annaPisteet

public int annaPisteet()
Palauttaa pelille pisteet hienostuneella pistelaskualgoritmilla.

Parameters:
vaaria - montako v??r?? arvausta pelin aikana tuli
Example:
 Peli peli = new Peli(5, 20, 10);
 peli.setSana("kissa");
 peli.arvaa('v');
 peli.arvaa('p');
 peli.arvaa('i'); 
 peli.arvaa('t');
 peli.annaPisteet() === 70;
 

main

public static void main(java.lang.String[] args)
Testip??ohjelma demonstroi, miten peli? voisi k?ytell?.

Parameters:
args -