othellogame
Class TableroModel

java.lang.Object
  extended byothellogame.TableroModel
All Implemented Interfaces:
java.io.Serializable

public class TableroModel
extends java.lang.Object
implements java.io.Serializable

Representacion logica del tablero

Author:
JOHANN CAMILO OLARTE DIAZ, Fabio Gonzalez
See Also:
Serialized Form

Field Summary
static int AZUL
          Constante que representa una casilla del jugador AZUL
protected  int cantazules
          Cantidad de fichas azules en el tablero Solo est? actualizado luego de utilizar la funcion jugar
protected  int cantrojas
          Cantidad de fichas rojas en el tablero Solo est? actualizado luego de utilizar la funcion jugar
protected  int cantvacios
          Cantidad de vacios en el tablero Solo est? actualizado luego de utilizar la funcion jugar
protected  boolean[] direccion
          Arreglo que guarda las posibles direcciones hacia donde se puede mover
static int EMPATE
          Gano el jugador 2.
static int GANA_JUGADOR_1
          Gano el jugador 1.
static int GANA_JUGADOR_2
          Gano el jugador 2.
static int JUGADA_INVALIDA
          Se jugo en una posicion invalida.
protected  int LEFT
           
protected  int LOWER
           
protected  int LOWERLEFT
           
protected  int LOWERRIGHT
           
static int OK
          La jugada se ejecuto correctamente (no hubo un ganador)
protected  boolean paso
          Recuerda si el ?ltimo turno paso jugadas
protected  int RIGHT
           
static int ROJO
          Constante que representa una casilla del jugador ROJO
protected  int[][] tab
          Representacion del tablero como una matriz.
protected  int turno
          Numero del jugador que le corresponde jugar en la siguiente jugada.
protected  Jugada ultJugada
          Coordenada de la ultima jugada
protected  int UPPER
          Direcciones posibles hacia donde se pueden voltear fichas
protected  int UPPERLEFT
           
protected  int UPPERRIGHT
           
static int VACIO
          Constante que representa una casilla vacia
 
Constructor Summary
TableroModel(int turno_inicial)
          Constructor inicial
TableroModel(TableroModel otrotab)
          Copy constructor.
 
Method Summary
 void clear()
          Limpia el tablero
 void cuentapuntos()
          Cuenta los puntos luego de cada jugada que es v?lida
 int get(int x, int y)
          Obtiene el valor almacenado en una posicion del tablero
 int getCantazules()
           
 int getCantrojas()
           
 int getTurno()
           
 Jugada getUltimaJugada()
          retorna la ultima jugada
 int jugar(int x, int y)
          Realiza una jugada del jugador con el turno en la posicion correspondiente.
 int jugar(Jugada jugada)
          Ejecuta una jugada poniendo una ficha del jugador con el turno ( turno ).
static void main(java.lang.String[] args)
          Permite probar la clase
protected  void set(int x, int y, int who)
          Pone un valor en el tablero sin validar y sin efectuar la actualizacion del tablero
 java.lang.String toString()
          Genera una representacion en ASCII del tablero
 boolean validarjugada(int fila, int columna)
          Validar jugada recibe las coordenadas de la jugada a realizar y retorna si dicha jugada es v?lida o no, actualizando la arreglo de direcciones posibles a las cuales se pueden voltear fichas
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

ROJO

public static final int ROJO
Constante que representa una casilla del jugador ROJO

See Also:
Constant Field Values

AZUL

public static final int AZUL
Constante que representa una casilla del jugador AZUL

See Also:
Constant Field Values

VACIO

public static final int VACIO
Constante que representa una casilla vacia

See Also:
Constant Field Values

paso

protected boolean paso
Recuerda si el ?ltimo turno paso jugadas


cantrojas

protected int cantrojas
Cantidad de fichas rojas en el tablero Solo est? actualizado luego de utilizar la funcion jugar


cantazules

protected int cantazules
Cantidad de fichas azules en el tablero Solo est? actualizado luego de utilizar la funcion jugar


cantvacios

protected int cantvacios
Cantidad de vacios en el tablero Solo est? actualizado luego de utilizar la funcion jugar


OK

public static final int OK
La jugada se ejecuto correctamente (no hubo un ganador)

See Also:
Constant Field Values

JUGADA_INVALIDA

public static final int JUGADA_INVALIDA
Se jugo en una posicion invalida.

See Also:
Constant Field Values

GANA_JUGADOR_1

public static final int GANA_JUGADOR_1
Gano el jugador 1.

See Also:
Constant Field Values

GANA_JUGADOR_2

public static final int GANA_JUGADOR_2
Gano el jugador 2.

See Also:
Constant Field Values

EMPATE

public static final int EMPATE
Gano el jugador 2.

See Also:
Constant Field Values

tab

protected int[][] tab
Representacion del tablero como una matriz.


turno

protected int turno
Numero del jugador que le corresponde jugar en la siguiente jugada.


ultJugada

protected Jugada ultJugada
Coordenada de la ultima jugada


direccion

protected boolean[] direccion
Arreglo que guarda las posibles direcciones hacia donde se puede mover


UPPER

protected final int UPPER
Direcciones posibles hacia donde se pueden voltear fichas

See Also:
Constant Field Values

LOWER

protected final int LOWER
See Also:
Constant Field Values

RIGHT

protected final int RIGHT
See Also:
Constant Field Values

LEFT

protected final int LEFT
See Also:
Constant Field Values

UPPERLEFT

protected final int UPPERLEFT
See Also:
Constant Field Values

UPPERRIGHT

protected final int UPPERRIGHT
See Also:
Constant Field Values

LOWERRIGHT

protected final int LOWERRIGHT
See Also:
Constant Field Values

LOWERLEFT

protected final int LOWERLEFT
See Also:
Constant Field Values
Constructor Detail

TableroModel

public TableroModel(TableroModel otrotab)
Copy constructor. Crea una nueva instancia de la clase con los mismos datos de la instancia parametro.

Parameters:
otrotab - instancia a ser copiada.

TableroModel

public TableroModel(int turno_inicial)
Constructor inicial

Parameters:
turno_inicial - el jugador que va a jugar primero
Method Detail

set

protected void set(int x,
                   int y,
                   int who)
Pone un valor en el tablero sin validar y sin efectuar la actualizacion del tablero

Parameters:
x - fila
y - columna
who - valor a guardar (ROJO, AZUL )

clear

public void clear()
Limpia el tablero


get

public int get(int x,
               int y)
Obtiene el valor almacenado en una posicion del tablero

Parameters:
x - fila
y - columna
Returns:
valor almacenado (0 -> vacio, 1 -> jugador 1, 2 -> jugador 2)

getTurno

public int getTurno()
Returns:
el numero de l jugador que le corresponde jugar en la siguiente jugada.

getUltimaJugada

public Jugada getUltimaJugada()
retorna la ultima jugada

Returns:
la ultima jugada realizada (Jugada(-2,-2) significa que no hay jugada previa)

jugar

public int jugar(Jugada jugada)
Ejecuta una jugada poniendo una ficha del jugador con el turno ( turno ).

Parameters:
jugada -

validarjugada

public boolean validarjugada(int fila,
                             int columna)
Validar jugada recibe las coordenadas de la jugada a realizar y retorna si dicha jugada es v?lida o no, actualizando la arreglo de direcciones posibles a las cuales se pueden voltear fichas

Parameters:
fila - fila del tablero indicada para jugar
columna - columna del tablero indicada para jugar

jugar

public int jugar(int x,
                 int y)
Realiza una jugada del jugador con el turno en la posicion correspondiente.

Parameters:
x - fila
y - columna
Returns:
resultado de la jugada

cuentapuntos

public void cuentapuntos()
Cuenta los puntos luego de cada jugada que es v?lida


toString

public java.lang.String toString()
Genera una representacion en ASCII del tablero


getCantazules

public int getCantazules()
Returns:
Retorna la cantdiad de fichas azules.

getCantrojas

public int getCantrojas()
Returns:
Retorna la cantdiad de fichas rojas.

main

public static void main(java.lang.String[] args)
                 throws java.lang.Exception
Permite probar la clase

Parameters:
args - no usado
Throws:
java.lang.Exception