Package rushhour.model
Class BoardStateBuilder
java.lang.Object
rushhour.model.BoardStateBuilder
public class BoardStateBuilder extends Object
-
Constructor Summary
Constructors Constructor Description BoardStateBuilder(int boardSize)
BoardStateBuilder(int boardSize, int ourRow, int ourLength, int startColumn)
-
Method Summary
Modifier and Type Method Description int
addCarsWhileSolvable()
BoardStateBuilder
addHorizontal(int length, int row, int firstCol)
BoardStateBuilder
addHorizontal(String carName, int length, int row, int firstCol)
boolean
addRandomCar()
Add a car to a random open spots on this builderBoardStateBuilder
addVertical(int length, int firstRow, int col)
BoardStateBuilder
addVertical(String carName, int length, int firstRow, int col)
void
assertFreeInCol(String carName, int col, int firstRow, int lastRow)
void
assertFreeInRow(String carName, int row, int firstCol, int lastCol)
BoardState
board()
Returns the (immutable) board described in this builder.BoardStateBuilder
hCar(String color, int row, int firstCol)
BoardStateBuilder
hTruck(String color, int row, int firstCol)
static void
main(String[] args)
ArrayList<rushhour.model.BoardStateBuilder.Coord>
openSpots()
Pull a list of spots where a another vehicle could goString
reify()
Write down a Java expression for this builder state.void
reserveInCol(int id, int col, int firstRow, int lastRow)
void
reserveInRow(int id, int row, int firstCol, int lastCol)
boolean
solvable()
static BoardStateBuilder
standard(int startColumn)
void
undoLastCar()
Back out of the last (probably random) addBoardStateBuilder
vCar(String color, int firstRow, int col)
BoardStateBuilder
vTruck(String color, int firstRow, int col)
-
Constructor Details
-
BoardStateBuilder
public BoardStateBuilder(int boardSize) -
BoardStateBuilder
public BoardStateBuilder(int boardSize, int ourRow, int ourLength, int startColumn)
-
-
Method Details
-
standard
-
addHorizontal
-
addHorizontal
-
addVertical
-
addVertical
-
assertFreeInRow
-
assertFreeInCol
-
reserveInRow
public void reserveInRow(int id, int row, int firstCol, int lastCol) -
reserveInCol
public void reserveInCol(int id, int col, int firstRow, int lastRow) -
vCar
-
vTruck
-
hCar
-
hTruck
-
board
Returns the (immutable) board described in this builder. -
reify
Write down a Java expression for this builder state. -
solvable
public boolean solvable() -
addCarsWhileSolvable
public int addCarsWhileSolvable() -
undoLastCar
public void undoLastCar()Back out of the last (probably random) add -
addRandomCar
public boolean addRandomCar()Add a car to a random open spots on this builder -
openSpots
Pull a list of spots where a another vehicle could go -
main
-