public class Board extends java.lang.Object implements IBoard, java.io.Serializable
Modifier and Type | Field and Description |
---|---|
protected Position |
hole_pos
The hole position.
|
protected java.util.List<Move> |
moves
The moves.
|
jadex.commons.SimplePropertyChangeSupport |
pcs
The helper object for bean events.
|
protected java.util.Map<Position,Piece> |
pieces
The pieces.
|
protected int |
size
The size.
|
Constructor and Description |
---|
Board()
Create a new board.
|
Board(int size)
Create a new board.
|
Modifier and Type | Method and Description |
---|---|
void |
addPropertyChangeListener(jadex.commons.beans.PropertyChangeListener listener)
Add a PropertyChangeListener to the listener list.
|
java.util.List<Piece> |
getCurrentPosition()
Get the current board position.
|
Move |
getLastMove()
Get all moves made so far.
|
java.util.List<Move> |
getMoves()
Get all moves made so far.
|
Piece |
getPiece(Position pos)
Get a piece for a location.
|
java.util.List<Move> |
getPossibleMoves()
Get possible moves.
|
int |
getSize()
Get the board size.
|
boolean |
isFreePosition(Position pos)
Test if aposition is free.
|
protected boolean |
isPossibleMove(Move move)
Get a piece for a location.
|
boolean |
isSolution()
Test if it is a solution.
|
static void |
main(java.lang.String[] args)
Main for testing.
|
boolean |
move(Move move)
Do a move.
|
void |
removePropertyChangeListener(jadex.commons.beans.PropertyChangeListener listener)
Remove a PropertyChangeListener from the listener list.
|
boolean |
takeback()
Takeback a move.
|
boolean |
wasLastMoveWhite()
Test if the last move was with a white piece.
|
protected java.util.List<Move> moves
protected int size
protected Position hole_pos
public jadex.commons.SimplePropertyChangeSupport pcs
public Board()
public Board(int size)
public java.util.List<Move> getPossibleMoves()
getPossibleMoves
in interface IBoard
public boolean move(Move move)
public boolean isSolution()
isSolution
in interface IBoard
public java.util.List<Move> getMoves()
public Move getLastMove()
getLastMove
in interface IBoard
public boolean wasLastMoveWhite()
wasLastMoveWhite
in interface IBoard
public boolean isFreePosition(Position pos)
isFreePosition
in interface IBoard
protected boolean isPossibleMove(Move move)
public java.util.List<Piece> getCurrentPosition()
getCurrentPosition
in interface IBoard
public void addPropertyChangeListener(jadex.commons.beans.PropertyChangeListener listener)
addPropertyChangeListener
in interface IBoard
listener
- The PropertyChangeListener to be added.public void removePropertyChangeListener(jadex.commons.beans.PropertyChangeListener listener)
removePropertyChangeListener
in interface IBoard
listener
- The PropertyChangeListener to be removed.public static void main(java.lang.String[] args)