DatoveTridy
Class DatButton

java.lang.Object
  extended by DatoveTridy.DatButton
Direct Known Subclasses:
GrafickyButton

public class DatButton
extends java.lang.Object


Field Summary
 int rozmer
           
 int vysledek1
           
 int vysledek2
           
 int vysledek3
           
 int vysledek4
           
 
Constructor Summary
DatButton(int y, int x, int z, boolean s)
          Vytvori objekt tridy DatButton.
 
Method Summary
 int getPoradiButton()
          Zjisti, na kolikatem miste je dany objekt typu Button v dvourozmernem poli Button.
 boolean getPouzito()
          Otestuje hodnotu promenne pouzito
 int getUmisteniX()
          Vrati cislo radku pole, na kterem je dany objektu typu Button
 int getUmisteniY()
          Vrati cislo sloupce pole, na kterem je dany objektu typu Button
 int getVlastnik()
          Vrati cislo vlastnika daneho objektu typu Button
 boolean remiza(DatButton[][] pole)
          Zjisti, zda nastala remiza, cili kazdy prvek v poli Buttonu (parametr funkce) ma nastaveno pouzito na true.
 void reset(DatButton[][] pole)
          Nastavi vsechny instance tridy Button na puvodni hodnoty
 void setPouzito(boolean g)
          Nastavi dany Button na pouzity
 void setVlastnik(int y)
          Nastavi vlastnika pro objekt Button
 void tahnuto(int a)
          Vykona se pri stisku tlacitka.
 boolean vyhodnoceni(int aktual, DatButton[][] pole)
          Vyhodnoti tah.
 Vyhodnoceni vyhodnoceniDiagonaly1(int aktual, DatButton[][] pole)
          Metoda vyhodnoceniDiagonaly1 ma jako parametry aktual (typu integer) a pole (dvourozmerne pole typu DatButton) a vraci instanci tridy Vyhodnoceni.
 Vyhodnoceni vyhodnoceniDiagonaly2(int aktual, DatButton[][] pole)
          Metoda vyhodnoceniDiagonaly2 ma jako parametry aktual (typu integer) a pole (dvourozmerne pole typu DatButton) a vraci instanci tridy Vyhodnoceni.
 Vyhodnoceni vyhodnoceniRadku(int aktual, DatButton[][] pole)
          Metoda vyhodnoceniRadku ma jako parametry aktual (typu integer) a pole (dvourozmerne pole typu DatButton) a vraci instanci tridy Vyhodnoceni.
 Vyhodnoceni vyhodnoceniSloupce(int aktual, DatButton[][] pole)
          Metoda vyhodnoceniSloupce ma jako parametry aktual (typu integer) a pole (dvourozmerne pole typu DatButton) a vraci instanci tridy Vyhodnoceni.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

rozmer

public int rozmer

vysledek1

public int vysledek1

vysledek2

public int vysledek2

vysledek3

public int vysledek3

vysledek4

public int vysledek4
Constructor Detail

DatButton

public DatButton(int y,
                 int x,
                 int z,
                 boolean s)
Vytvori objekt tridy DatButton. Tento objekt predstavuje jedno herni tlacitko ve hre. Promenne tridy jsou:

Parameters:
y - ktery hrac vlastni tlacitko, cili na nej kliknul a udelal jsou značku X/O
z - umisteniY na kterem sloupci je dany DatButton v poli DatButtonu
x - umisteniX na kterem radku je dany DatButton v poli DatButtonu
s - boolean, znaci, jestli bylo na dany DatButton jiz zahrano
Method Detail

getPoradiButton

public int getPoradiButton()
Zjisti, na kolikatem miste je dany objekt typu Button v dvourozmernem poli Button. Prvni Button na pozici [0][0] je 0.

Returns:
y - poradi prvku v poli

getVlastnik

public int getVlastnik()
Vrati cislo vlastnika daneho objektu typu Button

Returns:
this.vlastnik

getUmisteniX

public int getUmisteniX()
Vrati cislo radku pole, na kterem je dany objektu typu Button

Returns:
this.umisteniX

getUmisteniY

public int getUmisteniY()
Vrati cislo sloupce pole, na kterem je dany objektu typu Button

Returns:
this.umisteniY

setVlastnik

public void setVlastnik(int y)
Nastavi vlastnika pro objekt Button

Parameters:
y - hodnota typu integer udavajici vlastnika tlacitka

getPouzito

public boolean getPouzito()
Otestuje hodnotu promenne pouzito

Returns:
this.pouzito

setPouzito

public void setPouzito(boolean g)
Nastavi dany Button na pouzity


tahnuto

public void tahnuto(int a)
             throws java.net.MalformedURLException
Vykona se pri stisku tlacitka. V zavislosti na parametru a typu integer nastavi u DatButton jeho promenne na prislusne hodnoty

Parameters:
a - integer a reprezentuje hrace, ktery tahnul
Throws:
java.net.MalformedURLException

vyhodnoceni

public boolean vyhodnoceni(int aktual,
                           DatButton[][] pole)
Vyhodnoti tah. Metoda vyhodnoceni pracuje s objekty tridy Vyhodnoceni, ktere vraci metody vyhodnoceniRadku, vyhodnoceniSloupce, vyhodnoceniDiagonaly1 a vyhodnoceniDiagonaly2. Ty vraceji tyto objekty s parametry, ktere zavisi na uspesnosti tahu hrace (jestli vyhral). Je - li pak v nejakem vyhodnoceni1-4 nastavena promenna vitezstvi na true, program reaguje a metoda vyhodnoceni vrati true, jinak false.

Parameters:
aktual - cislo hrace, typ integer
pole - 2-rozmerne pole prvku typu DatButton
Returns:
vraci, zda byl hracuv tah vitezny

vyhodnoceniRadku

public Vyhodnoceni vyhodnoceniRadku(int aktual,
                                    DatButton[][] pole)
Metoda vyhodnoceniRadku ma jako parametry aktual (typu integer) a pole (dvourozmerne pole typu DatButton) a vraci instanci tridy Vyhodnoceni. Parametr aktual symbolizuje cislo hrace, jehoz tah se prave zpracovava. Parametr pole [][] pak je pole typu DatButton, na kterem se hraje. Princip vyhdnocovani tahu je velmi podobny pro vsechny metody vyhodnoceni/Radku/Sloupce/Diagonaly1/Diagonaly2. Vzdy je treba zjistit, kolik objektu DatButton je v poli okolo stisknuteho objektu tridy DatButton. Tyto pocty jsou reprezentovany pomoci promennych typu integer hraniceLeva a hranicePrava. Protoze piskvorky se hraji alespon na 5 poli stejnych, nema cenu, aby byly tyto promenne vetsi nez 4. Pote je vytvoreno pomocne pole typu DatButton nazvane polePom, do ktereho se ukladaji instance tridy DatButton z pole (parametr metody). Posledni dva for - cykly pak pocitaji, kolik je instanci tridy DatButton se stejnym vlastnikem (tedy znakem X/O) v souvisle rade nalevo a napravo od stisknuteho tlacitka. Je-li nektere dalsi tlacitko v poliPom jineho vlastnika - hrace, dojde k preruseni cyklu. Je - li stejneho hrace, pak se zvysi hodnota promenne shoda (typu integer) o jeden. Je - li pak tato promenna vetsi nez 4, hrac vyhral a vytvori se prislusny objekt typu Vyhodnoceni

Parameters:
aktual - cislo aktualniho hrace
pole - pole prvku typu DatButton, reprezentuji hraci plochu
Returns:
Vyhodnoceni novou instanci tridy Vyhodnoceni

vyhodnoceniSloupce

public Vyhodnoceni vyhodnoceniSloupce(int aktual,
                                      DatButton[][] pole)
Metoda vyhodnoceniSloupce ma jako parametry aktual (typu integer) a pole (dvourozmerne pole typu DatButton) a vraci instanci tridy Vyhodnoceni. Parametr aktual symbolizuje cislo hrace, jehoz tah se prave zpracovava. Parametr pole [][] pak je pole typu DatButton, na kterem se hraje. Vzdy je treba zjistit, kolik objektu DatButton je v poli okolo stisknuteho objektu tridy DatButton. Tyto pocty jsou reprezentovany pomoci promennych typu integer hraniceDolni a hraniceHorni. Protoze piskvorky se hraji alespon na 5 poli stejnych, nema cenu, aby byly tyto promenne vetsi nez 4. Pote je vytvoreno pomocne pole typu DatButton nazvane polePom2, do ktereho se ukladaji instance tridy DatButton z pole (parametr metody). Posledni dva for - cykly pak pocitaji, kolik je instanci tridy DatButton se stejnym vlastnikem (tedy znakem X/O) v souvislem sloupci nahore a dole od stisknuteho tlacitka. Je-li nektere dalsi tlacitko v poliPom2 jineho vlastnika - hrace, dojde k preruseni cyklu. Je - li stejneho hrace, pak se zvysi hodnota promenne shoda (typu integer) o jeden. Je - li pak tato promenna vetsi nez 4, hrac vyhral a vytvori se prislusny objekt typu Vyhodnoceni

Parameters:
aktual - cislo aktualniho hrace
pole - pole prvku typu DatButton, reprezentuji hraci plochu
Returns:
Vyhodnoceni novou instanci tridy Vyhodnoceni

vyhodnoceniDiagonaly1

public Vyhodnoceni vyhodnoceniDiagonaly1(int aktual,
                                         DatButton[][] pole)
Metoda vyhodnoceniDiagonaly1 ma jako parametry aktual (typu integer) a pole (dvourozmerne pole typu DatButton) a vraci instanci tridy Vyhodnoceni. Parametr aktual symbolizuje cislo hrace, jehoz tah se prave zpracovava. Parametr pole [][] pak je pole typu DatButton, na kterem se hraje. Vzdy je treba zjistit, kolik objektu DatButton je v poli okolo stisknuteho objektu tridy DatButton. Tyto pocty jsou reprezentovany pomoci promennych typu integer horniHranice a dolniHranice. Protoze piskvorky se hraji alespon na 5 poli stejnych, nema cenu, aby byly tyto promenne vetsi nez 4. Pote je vytvoreno pomocne pole typu DatButton nazvane polePom3, do ktereho se ukladaji instance tridy DatButton z pole (parametr metody). Posledni dva for - cykly pak pocitaji, kolik je instanci tridy DatButton se stejnym vlastnikem (tedy znakem X/O) v souvisle diagonale od leveho horniho konce do praveho dolniho konce od stisknuteho tlacitka. Je-li nektere dalsi tlacitko v poliPom3 jineho vlastnika - hrace, dojde k preruseni cyklu. Je - li stejneho hrace, pak se zvysi hodnota promenne shoda (typu integer) o jeden. Je - li pak tato promenna vetsi nez 4, hrac vyhral a vytvori se prislusny objekt typu Vyhodnoceni

Parameters:
aktual - cislo aktualniho hrace
pole - pole prvku typu DatButton, reprezentuji hraci plochu
Returns:
Vyhodnoceni novou instanci tridy Vyhodnoceni

vyhodnoceniDiagonaly2

public Vyhodnoceni vyhodnoceniDiagonaly2(int aktual,
                                         DatButton[][] pole)
Metoda vyhodnoceniDiagonaly2 ma jako parametry aktual (typu integer) a pole (dvourozmerne pole typu DatButton) a vraci instanci tridy Vyhodnoceni. Parametr aktual symbolizuje cislo hrace, jehoz tah se prave zpracovava. Parametr pole [][] pak je pole typu DatButton, na kterem se hraje. Vzdy je treba zjistit, kolik objektu DatButton je v poli okolo stisknuteho objektu tridy DatButton. Tyto pocty jsou reprezentovany pomoci promennych typu integer horniHranice a dolniHranice. Protoze piskvorky se hraji alespon na 5 poli stejnych, nema cenu, aby byly tyto promenne vetsi nez 4. Pote je vytvoreno pomocne pole typu DatButton nazvane polePom4, do ktereho se ukladaji instance tridy DatButton z pole (parametr metody). Posledni dva for - cykly pak pocitaji, kolik je instanci tridy DatButton se stejnym vlastnikem (tedy znakem X/O) v souvisle diagonale od praveho horniho konce do leveho dolniho konce od stisknuteho tlacitka. Je-li nektere dalsi tlacitko v poliPom4 jineho vlastnika - hrace, dojde k preruseni cyklu. Je - li stejneho hrace, pak se zvysi hodnota promenne shoda (typu integer) o jeden. Je - li pak tato promenna vetsi nez 4, hrac vyhral a vytvori se prislusny objekt typu Vyhodnoceni

Parameters:
aktual - cislo aktualniho hrace
pole - pole prvku typu DatButton, reprezentuji hraci plochu
Returns:
Vyhodnoceni novou instanci tridy Vyhodnoceni

remiza

public boolean remiza(DatButton[][] pole)
Zjisti, zda nastala remiza, cili kazdy prvek v poli Buttonu (parametr funkce) ma nastaveno pouzito na true.

Parameters:
pole - Dvourozmerne pole objektu tridy DatButton
Returns:
zda nastala remiza

reset

public void reset(DatButton[][] pole)
Nastavi vsechny instance tridy Button na puvodni hodnoty

Parameters:
pole - Dvourozmerne pole objektu tridy DatButton