szd.allapotter
Class AbstractGame

java.lang.Object
  extended by szd.allapotter.AbstractGame
Direct Known Subclasses:
Game

public abstract class AbstractGame
extends java.lang.Object

Egy kétszemélyes, n*n es táblán játszott játék absztakciója.

Author:
Hucker Dávid

Field Summary
static byte BEGINNERDIFFICULT
           
protected  byte currentPlayer
          Az aktuális állapotban a követkető lépést végrehajtó játékos
static byte FIRSTPLAYER
          Konstansok amelyek az első és a második játékost jelölik.
static byte gameDifficult
           
protected  byte[][] gameField
          Az aktuális játékunk játéktáblája.
static byte HARDDIFFICULT
           
static byte NORMALDIFFICULT
           
protected static boolean onePlayerGame
          Konstansok amelyek az egyszemélyes és kétszemélyes játék jelölésére szolgálnak.
protected static java.util.Collection<SelectNodeOperator> operatorok
          A játékban használható operátorok gyűjteménye.
static byte PROFESSIONALDIFFICULT
           
static byte SECONDPLAYER
          Konstansok amelyek az első és a második játékost jelölik.
static int TableSize
          Játéktábla mérete
protected static boolean twoPlayerGame
          Konstansok amelyek az egyszemélyes és kétszemélyes játék jelölésére szolgálnak.
 
Constructor Summary
AbstractGame()
           
 
Method Summary
abstract  AbstractGame executeOperator(AbstractOperator op)
           
 byte getCurrentPlayer()
          Visszaadja az aktuálisan lépni készülő játékost.
 byte[][] getGameField()
          Visszaadja a teljes játékállást
static java.util.Collection<SelectNodeOperator> getOperatorok()
          Visszaadja a játékban használható operátorok egy kollekcióját.
abstract  double heurisztika()
           
abstract  boolean isGameEndState()
           
abstract  boolean isOperatorUsable(AbstractOperator op)
           
 void setGameField(int sor, int oszlop)
          Beállítja a játéktábla egy adott mezőjének az értékét az aktuális játékos értékére.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

gameField

protected byte[][] gameField
Az aktuális játékunk játéktáblája. Egy n*n es táblázat, melynek egy eleme 0 ha még nem lépett oda játékos, 1 ha az első játékos lépett oda és 2 ha a második játékos lépett oda.


TableSize

public static final int TableSize
Játéktábla mérete

See Also:
Constant Field Values

FIRSTPLAYER

public static final byte FIRSTPLAYER
Konstansok amelyek az első és a második játékost jelölik.

See Also:
Constant Field Values

SECONDPLAYER

public static final byte SECONDPLAYER
Konstansok amelyek az első és a második játékost jelölik.

See Also:
Constant Field Values

BEGINNERDIFFICULT

public static final byte BEGINNERDIFFICULT
See Also:
Constant Field Values

NORMALDIFFICULT

public static final byte NORMALDIFFICULT
See Also:
Constant Field Values

HARDDIFFICULT

public static final byte HARDDIFFICULT
See Also:
Constant Field Values

PROFESSIONALDIFFICULT

public static final byte PROFESSIONALDIFFICULT
See Also:
Constant Field Values

gameDifficult

public static byte gameDifficult

onePlayerGame

protected static final boolean onePlayerGame
Konstansok amelyek az egyszemélyes és kétszemélyes játék jelölésére szolgálnak.

See Also:
Constant Field Values

twoPlayerGame

protected static final boolean twoPlayerGame
Konstansok amelyek az egyszemélyes és kétszemélyes játék jelölésére szolgálnak.

See Also:
Constant Field Values

currentPlayer

protected byte currentPlayer
Az aktuális állapotban a követkető lépést végrehajtó játékos


operatorok

protected static java.util.Collection<SelectNodeOperator> operatorok
A játékban használható operátorok gyűjteménye.

Constructor Detail

AbstractGame

public AbstractGame()
Method Detail

getCurrentPlayer

public byte getCurrentPlayer()
Visszaadja az aktuálisan lépni készülő játékost.

Returns:
A lépni készülő játékos

setGameField

public void setGameField(int sor,
                         int oszlop)
Beállítja a játéktábla egy adott mezőjének az értékét az aktuális játékos értékére.

Parameters:
sor -
oszlop -

getGameField

public byte[][] getGameField()
Visszaadja a teljes játékállást

Returns:
Az játékállás

getOperatorok

public static java.util.Collection<SelectNodeOperator> getOperatorok()
Visszaadja a játékban használható operátorok egy kollekcióját.

Returns:
Az operátorok

executeOperator

public abstract AbstractGame executeOperator(AbstractOperator op)

isGameEndState

public abstract boolean isGameEndState()

isOperatorUsable

public abstract boolean isOperatorUsable(AbstractOperator op)

heurisztika

public abstract double heurisztika()