public class Board
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
static int |
BLACK |
static int[] |
INITIAL_COLORS |
static int[] |
INITIAL_LOCATIONS |
static int[] |
INITIAL_NUMBERS |
static int |
NEITHER |
static int |
NUM_SPIKES |
static int |
WHITE |
Modifier | Constructor and Description |
---|---|
|
Board()
Constructor, build an newly initialzed board
|
protected |
Board(Board other)
Constructor, builds a copy of the given board
|
Modifier and Type | Method and Description |
---|---|
boolean |
equals(java.lang.Object o)
Public equals
|
int |
getBar(int color)
Returns the number of pieces on the bar of the
given color.
|
static int |
getBase(int color)
Returns the home location of the given color
(the location where the color wants to move it's
pieces).
|
int |
getBlackBar()
Returns the number of black pieces on the bar.
|
int |
getBlackOff()
Returns the number of black pieces beared off
|
int |
getBlackPieces(int location)
Returns the number of black pieces at the given location.
|
int |
getBlackPips()
Returns the number of black pips left
|
int |
getColor(int location)
Returns the color of the pieces at the given location
|
static int |
getDirection(int color)
Returns the direction of the given color
(the direction where the color wants to move it's
pieces).
|
int |
getOff(int color)
Returns the number of pieces beared off of the
given color.
|
static int |
getOtherPlayer(int color)
Returns the other player
|
int |
getPieces(int location)
Returns the number of pieces at the given location
|
int |
getPieces(int color,
int location)
Returns the number of pieces at the given location an
of the given color.
|
int |
getPips(int color)
Returns the number of pips for the
given color.
|
Board |
getScratch()
Returns a scratch copy of the board, which is a clone and
can be changes without any problems.
|
int |
getWhiteBar()
Returns the number of white pieces on the bar.
|
int |
getWhiteOff()
Returns the number of white pieces beared off
|
int |
getWhitePieces(int location)
Returns the number of black pieces at the given location.
|
int |
getWhitePips()
Returns the number of white pips left
|
int |
getWinner()
If the game is over, this returns the winner
|
protected int |
hash(int base,
int[] array) |
int |
hashCode()
Returns the hashCode of this move
|
static boolean |
inHomeQuadrant(int location,
int color)
Method which returns whether or not the given spike is in the
given player's home square.
|
protected static boolean |
isBetween(int location,
int a,
int b)
Method which checks to see if the location is between the other
two locations.
|
static boolean |
isEqual(int[] a,
int[] b)
Utility function to detect equality
|
boolean |
isGameOver()
Returns whether or not the game is over
|
void |
moveOff(int color)
Moves a piece off of the given color
|
void |
moveToBar(int color)
Moves a piece to the bar of the given color
|
void |
moveToLocation(int color,
int location)
Moves a piece to the given location of the given color
|
static boolean |
onBoard(int location)
Internal method which returns whether or not the given
location is on the board
|
void |
print(java.io.PrintStream out)
Prints out a gnubg-style text board.
|
protected void |
print(java.io.PrintStream out,
int location,
int count)
Internal method to print a piece and location
|
void |
removeFromBar(int color)
Removes a piece from the bar of the given color
|
void |
removeFromLocation(int color,
int location)
Removes a piece from the given location of the given color
|
void |
reset()
Resets the pieces on the board to their initial configurations
|
public static final int NUM_SPIKES
public static final int WHITE
public static final int BLACK
public static final int NEITHER
public static final int[] INITIAL_LOCATIONS
public static final int[] INITIAL_NUMBERS
public static final int[] INITIAL_COLORS
public Board()
protected Board(Board other)
public boolean equals(java.lang.Object o)
equals
in class java.lang.Object
other
- To compare topublic static boolean isEqual(int[] a, int[] b)
a
- The frist arrayb
- The second arraypublic int hashCode()
hashCode
in class java.lang.Object
protected int hash(int base, int[] array)
public Board getScratch()
public int getWinner()
public boolean isGameOver()
public void reset()
public int getColor(int location)
location
- The locationpublic int getPieces(int location)
location
- The locationpublic int getBlackPieces(int location)
location
- The locationpublic int getWhitePieces(int location)
location
- The locationpublic int getPieces(int color, int location)
color
- The colorlocation
- The locationpublic int getBlackBar()
public int getWhiteBar()
public int getBar(int color)
color
- The colorpublic int getBlackOff()
public int getWhiteOff()
public int getOff(int color)
color
- The colorpublic int getBlackPips()
public int getWhitePips()
public int getPips(int color)
color
- The colorpublic static int getBase(int color)
color
- The colorpublic static int getDirection(int color)
color
- The colorpublic static int getOtherPlayer(int color)
color
- The colorpublic static boolean onBoard(int location)
location
- The location to check forpublic void moveToLocation(int color, int location) throws IllegalMoveException
color
- The color to movelocation
- The location to moveIllegalMoveException
public void removeFromLocation(int color, int location) throws IllegalMoveException
color
- The color to removelocation
- The location to removeIllegalMoveException
public void moveToBar(int color)
color
- The color to movepublic void removeFromBar(int color) throws IllegalMoveException
color
- The color to removeIllegalMoveException
public void moveOff(int color)
color
- The color to movepublic static boolean inHomeQuadrant(int location, int color)
location
- Th elocationcolor
- The playerprotected static boolean isBetween(int location, int a, int b)
location
- The location to checka
- The first locationb
- The second locationpublic void print(java.io.PrintStream out)
out
- The output stream to write the board toprotected void print(java.io.PrintStream out, int location, int count)
out
- The streamlocation
- The locationcount
- The count number