|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectjava.util.Observable
Board
public class Board
A generic board that, together with Piece, can be used to display board games. This class is only for display purposes; logic for the game should be in user-defined classes.
| Field Summary | |
|---|---|
protected boolean |
panelHasBeenResized
|
| Constructor Summary | |
|---|---|
Board(int rows,
int columns)
Creates a playing board with the given number of rows and columns. |
|
| Method Summary | |
|---|---|
protected void |
changePositionOnBoard(Piece piece,
int oldRow,
int oldColumn,
int newRow,
int newColumn)
Internal method to move a Piece from one position to another. |
int |
columnToX(int columnNumber)
Returns the X coordinate of the left side of cells in the given column of this Board. |
protected void |
dump()
Displays the board contents (for debugging). |
protected Piece |
findPiece(int x,
int y)
Given x-y coordinates, finds and returns the topmost piece at that location on this board, or null if there is no such piece. |
protected int |
getCellHeight()
Returns the approximate current height, in pixels, of a single cell on this Board. |
protected int |
getCellWidth()
Returns the approximate current width, in pixels, of a single cell on this Board. |
int |
getColumns()
Returns the number of columns in this Board. |
javax.swing.JPanel |
getJPanel()
Returns the JPanel on which this board is displayed. |
Piece |
getPiece(int row,
int column)
Returns the topmost piece at the given row and column in this Board, or null if the given location is empty. |
java.util.Stack |
getPieces(int row,
int column)
Returns a (possibly empty) Stack of all the pieces in the given position. |
int |
getRows()
Returns the number of rows in this Board. |
int[] |
getSelectedSquare()
Returns the currently selected square, or null if no
square is selected. |
int |
getSpeed()
Returns the default speed (in squares per second) of pieces on this board. |
boolean |
isEmpty(int row,
int column)
Returns true if the given row and column on this board
contains no Pieces. |
boolean |
isLegalPosition(int row,
int column)
Determines whether the given row and column denote a legal position on this Board. |
protected void |
moveToTop(Piece piece)
Ensures that the given piece will be drawn on top of any other pieces in the same array location. |
void |
paint(java.awt.Graphics g)
Paints th1s board itself, not including the pieces. |
void |
place(Piece piece,
int row,
int column)
Places the given piece at the given location in this board. |
Piece |
remove(int row,
int column)
Removes the top piece at the given row and column on this Board. |
boolean |
remove(Piece piece)
Removes this piece from the board. |
int |
rowToY(int rowNumber)
Returns the Y coordinate of the top side of cells in the given column of this Board. |
void |
setSelectedSquare(int[] selection)
Selects the square on this Board whose coordinates are given in the parameter. |
void |
setSpeed(int speed)
Sets the default speed of movement for pieces on this board, in squares per second. |
void |
update(java.util.Observable changedPiece,
java.lang.Object rectangle)
Redraws this Board whenever a Piece is modified. |
int |
xToColumn(int x)
Given an x coordinate, determines which column it is in. |
int |
yToRow(int y)
Given a y coordinate, determines which row it is in. |
| Methods inherited from class java.util.Observable |
|---|
addObserver, clearChanged, countObservers, deleteObserver, deleteObservers, hasChanged, notifyObservers, notifyObservers, setChanged |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
protected boolean panelHasBeenResized
| Constructor Detail |
|---|
public Board(int rows,
int columns)
JPanel and may be used wherever a
JPanel may be used.
rows - Desired number of rows.columns - Desired number of columns.| Method Detail |
|---|
public javax.swing.JPanel getJPanel()
public int getRows()
public int getColumns()
public Piece getPiece(int row,
int column)
row - The row number.column - The column number.
Piece in the given [row][column], or
null if that location is empty. If the board
location contains more than one piece, the "topmost" piece is
returned.
java.lang.ArrayIndexOutOfBoundsException - If the specified location does not exist.
public java.util.Stack getPieces(int row,
int column)
row - A row number on this board.column - A column number on this board.
java.lang.ArrayIndexOutOfBoundsException - If the specified location does not exist.
public boolean isEmpty(int row,
int column)
true if the given row and column on this board
contains no Pieces.
row - The row to examine.column - The column to examine.
true if this location is empty.
protected Piece findPiece(int x,
int y)
x - The local x coordinate.y - The local y coordinate.
Piece in the [row][column] containing the
given (x, y) coordinates, or null if that location
is empty. If the board location contains more than one piece, the
"topmost" piece is returned.
java.lang.ArrayIndexOutOfBoundsException - If the specified location does not exist.public int xToColumn(int x)
x - A local x coordinate.
public int yToRow(int y)
y - A local y coordinate.
public int columnToX(int columnNumber)
columnNumber - A column number.
public int rowToY(int rowNumber)
rowNumber - A row number.
public void place(Piece piece,
int row,
int column)
piece - The Piece to be placed.row - The row in which to place the piece.column - The column in which to place the piece.
java.lang.ArrayIndexOutOfBoundsException - If the specified location does not exist.
public Piece remove(int row,
int column)
row - The row of the piece to be removed.column - The column of the piece to be removed.
java.lang.ArrayIndexOutOfBoundsException - If the specified location does not exist.
protected void changePositionOnBoard(Piece piece,
int oldRow,
int oldColumn,
int newRow,
int newColumn)
piece - The Piece to be moved.oldRow - The original row number of the Piece.oldColumn - The original column number of the Piece.newRow - The new row number of the Piece.newColumn - The new column number of the Piece.public boolean remove(Piece piece)
piece - The piece to be removed.
protected void moveToTop(Piece piece)
piece - The piece to promote to the top.public void setSpeed(int speed)
speed - The default speed for pieces on this board.public int getSpeed()
protected int getCellWidth()
protected int getCellHeight()
public boolean isLegalPosition(int row,
int column)
row - The given row number.column - The given column number.
true if the given row and column number represent
a valid location on this board
public void update(java.util.Observable changedPiece,
java.lang.Object rectangle)
update in interface java.util.ObserverchangedPiece - The Piece that needs to be redrawn.rectangle - The Rectangle within which the Piece should be redrawn.public void paint(java.awt.Graphics g)
g - The Graphics context on which this board is painted.protected void dump()
public int[] getSelectedSquare()
null if no
square is selected.
public void setSelectedSquare(int[] selection)
selection - The coordinates of the square to select.
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||