Class Peli

java.lang.Object
  |
  +--Peli

public class Peli
extends java.lang.Object

Tämä luokka on "Prinsessa ja Tahmatassut"-pelin ydin. Se tarjoaa kentällä liikkuvien otusten ja pelikentän käsittelyyn tarvittavat välineet, joten pelin käyttöliittymä tekee tarvittavat toimenpiteensä vain ja ainoastaan tämän luokan kautta.


Field Summary
static int KORKEUS
          Pelikentän oletuskorkeus
private  Pelilauta lauta
          Pelin pelilauta
static int LEVEYS
          Pelikentän oletusleveys
private  Prinsessa prinsessa
          Pelin prinsessa
static java.util.Random satunnaislukuGeneraattori
          Pelin tarvitsema satunnaislukugeneraattori
private  java.util.Vector tahmatassut
          Tahmatassujen säilytysvektori
 
Constructor Summary
Peli()
          Luo uuden pelin jolla on vakiokokoinen pelilauta
 
Method Summary
 java.lang.String annaKentta()
          Palauttaa kenttää kuvaavan merkkijonon, jossa kenttä, otukset ja liimat ovat näkyvissä
 void kaskePrinsessanAmpua(int x, int y)
          Käskee prinsessan ampua annettuun ruutuun
 boolean loppuikoPeli()
          Kertoo onko kierros päättynyt prinsessan kiinnijäämiseen tai voittoon
 void luoAloitustilanne(int tahmatassujenMaara)
          Luo pelin aloitustilanteen, jossa tahmatassut ovat diagonaalilla, kentällä ei ole liimaa ja prinsessa seisoo aloitusruudussa
static void main(java.lang.String[] args)
          Pelin käynnistyspiste, joka luo Peli ja Käyttöliittymä-oliot ja antaa sitten ohjakset käyttöliittymälle
 boolean onkoPrinsessaKiinni()
          Kertoo onko kierros päättynyt prinsessan kiinnijäämiseen
 boolean onkoPrinsessaMaalissa()
          Kertoo onko kierros päättynyt prinsessan voittoon
 boolean onkoRuutuLaudalla(int x, int y)
          Kertoo onko annettujen koordinaattien mukainen ruutu olemassa
 void pelaaVuoro(int prinsessanValinta)
          Pelaa peliä yhden vuoron verran, prinsessan liikkumisvalintaa noudattaen.
 boolean voikoPrinsessaLiikkuaSuuntaan(int prinsessanSuunta)
          Tämä metodi kertoo voiko prinsessa liikkua annettuun suuntaan
 
Methods inherited from class java.lang.Object
, clone, equals, finalize, getClass, hashCode, notify, notifyAll, registerNatives, toString, wait, wait, wait
 

Field Detail

LEVEYS

public static final int LEVEYS
Pelikentän oletusleveys

KORKEUS

public static final int KORKEUS
Pelikentän oletuskorkeus

satunnaislukuGeneraattori

public static final java.util.Random satunnaislukuGeneraattori
Pelin tarvitsema satunnaislukugeneraattori

prinsessa

private Prinsessa prinsessa
Pelin prinsessa

tahmatassut

private java.util.Vector tahmatassut
Tahmatassujen säilytysvektori

lauta

private Pelilauta lauta
Pelin pelilauta
Constructor Detail

Peli

public Peli()
Luo uuden pelin jolla on vakiokokoinen pelilauta
Method Detail

main

public static void main(java.lang.String[] args)
Pelin käynnistyspiste, joka luo Peli ja Käyttöliittymä-oliot ja antaa sitten ohjakset käyttöliittymälle

luoAloitustilanne

public void luoAloitustilanne(int tahmatassujenMaara)
Luo pelin aloitustilanteen, jossa tahmatassut ovat diagonaalilla, kentällä ei ole liimaa ja prinsessa seisoo aloitusruudussa
Parameters:
tahmatassujenMaara - Montako tahmatassua diagonaalilla on

voikoPrinsessaLiikkuaSuuntaan

public boolean voikoPrinsessaLiikkuaSuuntaan(int prinsessanSuunta)
Tämä metodi kertoo voiko prinsessa liikkua annettuun suuntaan
Parameters:
prinsessanSuunta - haluttu suunta
Returns:
voiko suuntaan mennä

pelaaVuoro

public void pelaaVuoro(int prinsessanValinta)
Pelaa peliä yhden vuoron verran, prinsessan liikkumisvalintaa noudattaen.
Parameters:
prinsessanValinta - prinsessan liikkumisValinta

kaskePrinsessanAmpua

public void kaskePrinsessanAmpua(int x,
                                 int y)
Käskee prinsessan ampua annettuun ruutuun
Parameters:
x - x-koordinaatti johon ammutaan
y - y-koordinaatti johon ammutaan
See Also:
Prinsessa.ammuLiimapanos(int, int)

onkoRuutuLaudalla

public boolean onkoRuutuLaudalla(int x,
                                 int y)
Kertoo onko annettujen koordinaattien mukainen ruutu olemassa
Parameters:
x - kysytty x-koordinaatti
y - kysytty y-koordinaatti
Returns:
onko ruutu olemassa

loppuikoPeli

public boolean loppuikoPeli()
Kertoo onko kierros päättynyt prinsessan kiinnijäämiseen tai voittoon
Returns:
onko jokin loppumisehto täyttynyt

onkoPrinsessaMaalissa

public boolean onkoPrinsessaMaalissa()
Kertoo onko kierros päättynyt prinsessan voittoon
Returns:
onko prinsessa maalissa

onkoPrinsessaKiinni

public boolean onkoPrinsessaKiinni()
Kertoo onko kierros päättynyt prinsessan kiinnijäämiseen
Returns:
onko prinsessa saatu kiinni

annaKentta

public java.lang.String annaKentta()
Palauttaa kenttää kuvaavan merkkijonon, jossa kenttä, otukset ja liimat ovat näkyvissä
Returns:
kenttää kuvaava merkkijono