Package jadex.bdiv3.examples.puzzle
Class Board
- java.lang.Object
-
- jadex.bdiv3.examples.puzzle.Board
-
- All Implemented Interfaces:
IBoard,java.io.Serializable
public class Board extends java.lang.Object implements IBoard, java.io.Serializable
The board containing places, pieces and played moves.- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected Positionhole_posThe hole position.protected java.util.List<Move>movesThe moves.SimplePropertyChangeSupportpcsThe helper object for bean events.protected java.util.Map<Position,Piece>piecesThe pieces.protected intsizeThe size.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddPropertyChangeListener(PropertyChangeListener listener)Add a PropertyChangeListener to the listener list.java.util.List<Piece>getCurrentPosition()Get the current board position.MovegetLastMove()Get all moves made so far.java.util.List<Move>getMoves()Get all moves made so far.PiecegetPiece(Position pos)Get a piece for a location.java.util.List<Move>getPossibleMoves()Get possible moves.intgetSize()Get the board size.booleanisFreePosition(Position pos)Test if aposition is free.protected booleanisPossibleMove(Move move)Get a piece for a location.booleanisSolution()Test if it is a solution.static voidmain(java.lang.String[] args)Main for testing.booleanmove(Move move)Do a move.voidremovePropertyChangeListener(PropertyChangeListener listener)Remove a PropertyChangeListener from the listener list.booleantakeback()Takeback a move.booleanwasLastMoveWhite()Test if the last move was with a white piece.
-
-
-
Field Detail
-
moves
protected java.util.List<Move> moves
The moves.
-
size
protected int size
The size.
-
hole_pos
protected Position hole_pos
The hole position.
-
pcs
public SimplePropertyChangeSupport pcs
The helper object for bean events.
-
-
Method Detail
-
getPossibleMoves
public java.util.List<Move> getPossibleMoves()
Get possible moves.- Specified by:
getPossibleMovesin interfaceIBoard- Returns:
- Get all possible move.
-
move
public boolean move(Move move)
Do a move.
-
isSolution
public boolean isSolution()
Test if it is a solution.- Specified by:
isSolutionin interfaceIBoard- Returns:
- True, if solution.
-
getMoves
public java.util.List<Move> getMoves()
Get all moves made so far.
-
getLastMove
public Move getLastMove()
Get all moves made so far.- Specified by:
getLastMovein interfaceIBoard
-
wasLastMoveWhite
public boolean wasLastMoveWhite()
Test if the last move was with a white piece. When no move was made, it return true.- Specified by:
wasLastMoveWhitein interfaceIBoard- Returns:
- True, is last move was with white piece.
-
isFreePosition
public boolean isFreePosition(Position pos)
Test if aposition is free.- Specified by:
isFreePositionin interfaceIBoard
-
isPossibleMove
protected boolean isPossibleMove(Move move)
Get a piece for a location.
-
getCurrentPosition
public java.util.List<Piece> getCurrentPosition()
Get the current board position.- Specified by:
getCurrentPositionin interfaceIBoard
-
addPropertyChangeListener
public void addPropertyChangeListener(PropertyChangeListener listener)
Add a PropertyChangeListener to the listener list. The listener is registered for all properties.- Specified by:
addPropertyChangeListenerin interfaceIBoard- Parameters:
listener- The PropertyChangeListener to be added.
-
removePropertyChangeListener
public void removePropertyChangeListener(PropertyChangeListener listener)
Remove a PropertyChangeListener from the listener list. This removes a PropertyChangeListener that was registered for all properties.- Specified by:
removePropertyChangeListenerin interfaceIBoard- Parameters:
listener- The PropertyChangeListener to be removed.
-
main
public static void main(java.lang.String[] args)
Main for testing.
-
-