Serialized Form


Package exceptions

Class exceptions.IllegalBoardMoveException extends RushHourException implements Serializable

Class exceptions.InvalidFirstVehicleException extends RushHourException implements Serializable

Class exceptions.InvalidVehicleColorException extends RushHourException implements Serializable

Class exceptions.InvalidVehicleException extends RushHourException implements Serializable

Class exceptions.OffGameBoardException extends RushHourException implements Serializable

Class exceptions.RedCarException extends RushHourException implements Serializable

Class exceptions.RushHourException extends java.lang.RuntimeException implements Serializable

Class exceptions.VehicleDoesNotExistException extends RushHourException implements Serializable

Class exceptions.VehicleOverlapException extends RushHourException implements Serializable


Package gui

Class gui.RushHourApplet extends javax.swing.JApplet implements Serializable

Serialized Fields

loadGamesList

java.lang.String[] loadGamesList
List of games to be loaded.


loadGameCombo

javax.swing.JComboBox loadGameCombo
The combo box to hold saved games.


topBar

javax.swing.JPanel topBar
The panel to provide access to the Load Game, Help, and About buttons.


framePanel

RushHourPanel framePanel
The panel that is added to the frame of the game board.


isReset

boolean isReset
True if the board has just been reset. Used when loading a game.


lastIndex

int lastIndex
The last selected index for a game to load.


aboutDialog

javax.swing.JDialog aboutDialog

aboutDialogSeparator

javax.swing.JSeparator aboutDialogSeparator

aboutSubTitleLabel

javax.swing.JLabel aboutSubTitleLabel

aboutTitleLabel

javax.swing.JLabel aboutTitleLabel

addVehiclesLabel1

javax.swing.JLabel addVehiclesLabel1

bottomLabel1

javax.swing.JLabel bottomLabel1

cheatingLabel1

javax.swing.JLabel cheatingLabel1

closeAboutButton

javax.swing.JButton closeAboutButton

closeHelpButton

javax.swing.JButton closeHelpButton

dedicatedToLabel

javax.swing.JLabel dedicatedToLabel

designedByLabel

javax.swing.JLabel designedByLabel

drGLabel

javax.swing.JLabel drGLabel

draggingLabel1

javax.swing.JLabel draggingLabel1

gabeLabel

javax.swing.JLabel gabeLabel

helpDialog

javax.swing.JDialog helpDialog

helpDialogSeparator

javax.swing.JSeparator helpDialogSeparator

helpScrollPanel

javax.swing.JPanel helpScrollPanel

helpScrollingPanel

javax.swing.JScrollPane helpScrollingPanel

label42

javax.swing.JLabel label42

label43

javax.swing.JLabel label43

label44

javax.swing.JLabel label44

label45

javax.swing.JLabel label45

label46

javax.swing.JLabel label46

label47

javax.swing.JLabel label47

label48

javax.swing.JLabel label48

label49

javax.swing.JLabel label49

label50

javax.swing.JLabel label50

label51

javax.swing.JLabel label51

label52

javax.swing.JLabel label52

label53

javax.swing.JLabel label53

label54

javax.swing.JLabel label54

label55

javax.swing.JLabel label55

label56

javax.swing.JLabel label56

label57

javax.swing.JLabel label57

label58

javax.swing.JLabel label58

label59

javax.swing.JLabel label59

label60

javax.swing.JLabel label60

label61

javax.swing.JLabel label61

label62

javax.swing.JLabel label62

label63

javax.swing.JLabel label63

label64

javax.swing.JLabel label64

label65

javax.swing.JLabel label65

label66

javax.swing.JLabel label66

label67

javax.swing.JLabel label67

label68

javax.swing.JLabel label68

label69

javax.swing.JLabel label69

label70

javax.swing.JLabel label70

label71

javax.swing.JLabel label71

label72

javax.swing.JLabel label72

label73

javax.swing.JLabel label73

label74

javax.swing.JLabel label74

label75

javax.swing.JLabel label75

label76

javax.swing.JLabel label76

label77

javax.swing.JLabel label77

label78

javax.swing.JLabel label78

label79

javax.swing.JLabel label79

label80

javax.swing.JLabel label80

label81

javax.swing.JLabel label81

label82

javax.swing.JLabel label82

levelsByLabel

javax.swing.JLabel levelsByLabel

myNameLabel

javax.swing.JLabel myNameLabel

objectiveLabel1

javax.swing.JLabel objectiveLabel1

ourNamesLabel

javax.swing.JLabel ourNamesLabel

playLabel1

javax.swing.JLabel playLabel1

programmedByLabel

javax.swing.JLabel programmedByLabel

redCarLabel1

javax.swing.JLabel redCarLabel1

removeVehiclesLabel1

javax.swing.JLabel removeVehiclesLabel1

revertingLabel1

javax.swing.JLabel revertingLabel1

savedGamesLabel1

javax.swing.JLabel savedGamesLabel1

simplicityLabelOne1

javax.swing.JLabel simplicityLabelOne1

simplicityLabelThree1

javax.swing.JLabel simplicityLabelThree1

simplicityLabelTwo1

javax.swing.JLabel simplicityLabelTwo1

subTitleLabel

javax.swing.JLabel subTitleLabel

titleLabel

javax.swing.JLabel titleLabel

vehicleDesignsLabel

javax.swing.JLabel vehicleDesignsLabel

websiteLabel

javax.swing.JLabel websiteLabel

websiteTitleLabel

javax.swing.JLabel websiteTitleLabel

Class gui.RushHourFrame extends javax.swing.JFrame implements Serializable

Serialized Fields

framePanel

RushHourPanel framePanel
The panel that is added to the frame of the game board.


CURRENT_DIRECTORY

java.lang.String CURRENT_DIRECTORY
The current directory the Rush Hour application is running from.


SAVE_DIRECTORY

java.io.File SAVE_DIRECTORY
The directory for saved game files.


isReset

boolean isReset
True if the board has just been reset. Used when loading a game.


aboutDialog

javax.swing.JDialog aboutDialog

aboutDialogSeparator

javax.swing.JSeparator aboutDialogSeparator

aboutMenuItem

javax.swing.JMenuItem aboutMenuItem

aboutSubTitleLabel

javax.swing.JLabel aboutSubTitleLabel

aboutTitleLabel

javax.swing.JLabel aboutTitleLabel

addVehiclesLabel1

javax.swing.JLabel addVehiclesLabel1

bottomLabel1

javax.swing.JLabel bottomLabel1

cheatingLabel1

javax.swing.JLabel cheatingLabel1

closeAboutButton

javax.swing.JButton closeAboutButton

closeHelpButton

javax.swing.JButton closeHelpButton

dedicatedToLabel

javax.swing.JLabel dedicatedToLabel

designedByLabel

javax.swing.JLabel designedByLabel

drGLabel

javax.swing.JLabel drGLabel

draggingLabel1

javax.swing.JLabel draggingLabel1

fileChooser

javax.swing.JFileChooser fileChooser

fileMenu

javax.swing.JMenu fileMenu

fileSeparator1

javax.swing.JSeparator fileSeparator1

fileSeparator2

javax.swing.JSeparator fileSeparator2

gabeLabel

javax.swing.JLabel gabeLabel

helpDialog

javax.swing.JDialog helpDialog

helpDialogSeparator

javax.swing.JSeparator helpDialogSeparator

helpMenu

javax.swing.JMenu helpMenu

helpMenuItem

javax.swing.JMenuItem helpMenuItem

helpScrollPanel

javax.swing.JPanel helpScrollPanel

helpScrollingPanel

javax.swing.JScrollPane helpScrollingPanel

helpSeparator

javax.swing.JSeparator helpSeparator

label42

javax.swing.JLabel label42

label43

javax.swing.JLabel label43

label44

javax.swing.JLabel label44

label45

javax.swing.JLabel label45

label46

javax.swing.JLabel label46

label47

javax.swing.JLabel label47

label48

javax.swing.JLabel label48

label49

javax.swing.JLabel label49

label50

javax.swing.JLabel label50

label51

javax.swing.JLabel label51

label52

javax.swing.JLabel label52

label53

javax.swing.JLabel label53

label54

javax.swing.JLabel label54

label55

javax.swing.JLabel label55

label56

javax.swing.JLabel label56

label57

javax.swing.JLabel label57

label58

javax.swing.JLabel label58

label59

javax.swing.JLabel label59

label60

javax.swing.JLabel label60

label61

javax.swing.JLabel label61

label62

javax.swing.JLabel label62

label63

javax.swing.JLabel label63

label64

javax.swing.JLabel label64

label65

javax.swing.JLabel label65

label66

javax.swing.JLabel label66

label67

javax.swing.JLabel label67

label68

javax.swing.JLabel label68

label69

javax.swing.JLabel label69

label70

javax.swing.JLabel label70

label71

javax.swing.JLabel label71

label72

javax.swing.JLabel label72

label73

javax.swing.JLabel label73

label74

javax.swing.JLabel label74

label75

javax.swing.JLabel label75

label76

javax.swing.JLabel label76

label77

javax.swing.JLabel label77

label78

javax.swing.JLabel label78

label79

javax.swing.JLabel label79

label80

javax.swing.JLabel label80

label81

javax.swing.JLabel label81

label82

javax.swing.JLabel label82

levelsByLabel

javax.swing.JLabel levelsByLabel

loadMenuItem

javax.swing.JMenuItem loadMenuItem

menuBar

javax.swing.JMenuBar menuBar

myNameLabel

javax.swing.JLabel myNameLabel

newMenuItem

javax.swing.JMenuItem newMenuItem

objectiveLabel1

javax.swing.JLabel objectiveLabel1

ourNamesLabel

javax.swing.JLabel ourNamesLabel

playLabel1

javax.swing.JLabel playLabel1

programmedByLabel

javax.swing.JLabel programmedByLabel

quitMenuItem

javax.swing.JMenuItem quitMenuItem

redCarLabel1

javax.swing.JLabel redCarLabel1

removeVehiclesLabel1

javax.swing.JLabel removeVehiclesLabel1

revertingLabel1

javax.swing.JLabel revertingLabel1

saveMenuItem

javax.swing.JMenuItem saveMenuItem

savedGamesLabel1

javax.swing.JLabel savedGamesLabel1

simplicityLabelOne1

javax.swing.JLabel simplicityLabelOne1

simplicityLabelThree1

javax.swing.JLabel simplicityLabelThree1

simplicityLabelTwo1

javax.swing.JLabel simplicityLabelTwo1

subTitleLabel

javax.swing.JLabel subTitleLabel

titleLabel

javax.swing.JLabel titleLabel

vehicleDesignsLabel

javax.swing.JLabel vehicleDesignsLabel

websiteLabel

javax.swing.JLabel websiteLabel

websiteTitleLabel

javax.swing.JLabel websiteTitleLabel

Class gui.RushHourPanel extends javax.swing.JPanel implements Serializable

Serialized Fields

DEFAULT_STATUS

java.lang.String DEFAULT_STATUS
The default status message.


DEFAULT_USER_SOLVING_STATUS

java.lang.String DEFAULT_USER_SOLVING_STATUS
The default status during a game solve.


VEHICLE_COLORS

java.lang.Object[] VEHICLE_COLORS
The array of colors a vehicle can be.


RUSH_HOUR_DEFAULT_CURSOR

java.awt.Cursor RUSH_HOUR_DEFAULT_CURSOR
The default cursor icon.


RUSH_HOUR_CROSSHAIR_CURSOR

java.awt.Cursor RUSH_HOUR_CROSSHAIR_CURSOR
The cursor icon to be used when adding or removing a vehicle.


X_PLACE_OFFSET

int X_PLACE_OFFSET
The x offset of the vehicle from the cursor when placing a vehicle.


Y_PLACE_OFFSET

int Y_PLACE_OFFSET
The y offset of the vehicle from the cursor when placing a vehicle.


CAR_H_PLACER

RushHourVehicle CAR_H_PLACER
The horizontal car placer image.


CAR_V_PLACER

RushHourVehicle CAR_V_PLACER
The vertical car placer image.


TRUCK_H_PLACER

RushHourVehicle TRUCK_H_PLACER
The horizontal truck placer image.


TRUCK_V_PLACER

RushHourVehicle TRUCK_V_PLACER
The vertical truck placer image.


startUnsolved

RushHourGameBoard startUnsolved
The object that can be reverted to that represents the unsolved board state at the start of the game.


lastUnsolved

RushHourGameBoard lastUnsolved
The object that can be reverted to that represents the unsolved board state at the last press of the Solve button.


mainFrame

RushHourFrame mainFrame
The main form of the GUI, if it is stand-alone and not applet-based.


mainApplet

RushHourApplet mainApplet
The main form of the GUI, if it is the applet-based application.


gameBoard

RushHourGameBoard gameBoard
The object that represents the game board.


boardPanel

gui.RushHourGameBoardPanel boardPanel
The graphic object that represents the game board.


selectedVehicle

RushHourVehicle selectedVehicle
The vehicle (if any) that is selected for dragging.


directions

java.util.Vector<E> directions
The list of directions to solve the game board optimally.


instrNum

int instrNum
The current instruction on in the directions


numMovesMade

int numMovesMade
Keeps track of the number of moves the user has made since reset.


lastUnsolvedMoveCount

int lastUnsolvedMoveCount
The move count from the last unsolved game board.


spacesToMoveTo

java.util.Vector<E> spacesToMoveTo
On game solve, the number of spaces a specific vehicle is being moved in a given direction.


selectedVehicleMoved

boolean selectedVehicleMoved
Set true if a vehicle is selected and moved before relased.


solveUnreported

boolean solveUnreported
Set true when the red car is moved to the right into solved position.


xDragOffset

int xDragOffset
The x offset of the vehicle from the cursor when it is being dragged.


yDragOffset

int yDragOffset
The y offset of the vehicle from the cursor when it is being dragged.


lastGood

java.awt.Point lastGood
The last good location of a dragged vehicle.


lastRolloverVehicle

RushHourVehicle lastRolloverVehicle
When removing a vehicle, on rollover vehicle images are temporarily swapped with the remove icon. This is the last vehicle rolled over.


lastMovedVehicle

RushHourVehicle lastMovedVehicle
The object pointing to the last moved vehicle.


waitForAddRedCar

boolean waitForAddRedCar
True if the Add Car button has been pressed and the waiting for the red car to be placed.


waitForAddCar

boolean waitForAddCar
True if the Add Car button has been pressed and is waiting for the car to be placed.


waitForAddTruck

boolean waitForAddTruck
True if the Add Truck button has been pressed and is waiting for the truck to be placed.


waitForRemove

boolean waitForRemove
True if the Remove Vehicle button has been pressed and is waiting for the vehicle to be selected.


waitForSolve

boolean waitForSolve
True if the game board is currently walking through a solution.


waitForFirstMove

boolean waitForFirstMove
True if the program is waiting for the first move after the Solve button has been pressed, false otherwise.


cheated

boolean cheated
True if the user cheated, false otherwise.


userSolving

boolean userSolving
True if the user is currently userSolving the board on their own.


waitForLoad

boolean waitForLoad
True if the application is waiting for a game to be loaded. This same variable is used for waiting for a solve to complete since those two actions will never be performed simultaneously.


addCarButton

javax.swing.JButton addCarButton

addTruckButton

javax.swing.JButton addTruckButton

colorComboBox

javax.swing.JComboBox colorComboBox

controlPanel

javax.swing.JPanel controlPanel

controlSeparator

javax.swing.JSeparator controlSeparator

exitLabel

javax.swing.JLabel exitLabel

fiveFive

javax.swing.JLayeredPane fiveFive

fiveFour

javax.swing.JLayeredPane fiveFour

fiveOne

javax.swing.JLayeredPane fiveOne

fiveSix

javax.swing.JLayeredPane fiveSix

fiveThree

javax.swing.JLayeredPane fiveThree

fiveTwo

javax.swing.JLayeredPane fiveTwo

fourFive

javax.swing.JLayeredPane fourFive

fourFour

javax.swing.JLayeredPane fourFour

fourOne

javax.swing.JLayeredPane fourOne

fourSix

javax.swing.JLayeredPane fourSix

fourThree

javax.swing.JLayeredPane fourThree

fourTwo

javax.swing.JLayeredPane fourTwo

mainPanel

javax.swing.JLayeredPane mainPanel

oneFive

javax.swing.JLayeredPane oneFive

oneFour

javax.swing.JLayeredPane oneFour

oneOne

javax.swing.JLayeredPane oneOne

oneSix

javax.swing.JLayeredPane oneSix

oneThree

javax.swing.JLayeredPane oneThree

oneTwo

javax.swing.JLayeredPane oneTwo

orientationComboBox

javax.swing.JComboBox orientationComboBox

removeVehicleButton

javax.swing.JButton removeVehicleButton

resetButton

javax.swing.JButton resetButton

sixFive

javax.swing.JLayeredPane sixFive

sixFour

javax.swing.JLayeredPane sixFour

sixOne

javax.swing.JLayeredPane sixOne

sixSix

javax.swing.JLayeredPane sixSix

sixThree

javax.swing.JLayeredPane sixThree

sixTwo

javax.swing.JLayeredPane sixTwo

solveButton

javax.swing.JButton solveButton

statusTextField

javax.swing.JTextField statusTextField

threeFive

javax.swing.JLayeredPane threeFive

threeFour

javax.swing.JLayeredPane threeFour

threeOne

javax.swing.JLayeredPane threeOne

threeSix

javax.swing.JLayeredPane threeSix

threeThree

javax.swing.JLayeredPane threeThree

threeTwo

javax.swing.JLayeredPane threeTwo

twoFive

javax.swing.JLayeredPane twoFive

twoFour

javax.swing.JLayeredPane twoFour

twoOne

javax.swing.JLayeredPane twoOne

twoSix

javax.swing.JLayeredPane twoSix

twoThree

javax.swing.JLayeredPane twoThree

twoTwo

javax.swing.JLayeredPane twoTwo

Package rushhour

Class rushhour.RushHourVehicle extends javax.swing.JLabel implements Serializable

Serialized Fields

NUMBER_FORMATTER

java.text.NumberFormat NUMBER_FORMATTER
The unique ID should always have two digits.


hashID

java.lang.String hashID
The ID used to represent the vehicle and its unique spot on the board.


gameBoard

RushHourGameBoard gameBoard
A pointer to the game board that the vehicle is a part of.


uniqueID

int uniqueID
The unique number that represents this car on the board (represents the sequence in which the vehicle was added to the board.)


type

java.lang.String type
The type of the vehicle.


color

java.lang.String color
The color of the vehicle.


orientation

java.lang.String orientation
The orientation of the vehicle.


vehicleX

int vehicleX
The y-coordinate of the vehicle.


vehicleY

int vehicleY
The y-coordinate of the vehicle.


vehicleLength

int vehicleLength
The length of the vehicle.


vehicleIconLength

int vehicleIconLength
the length of the icon of the vehicle.


vehicleWidth

int vehicleWidth
The boardWidth of the vehicle.


vehicleIconWidth

int vehicleIconWidth
The boardWidth of the icon of the vehicle.


rule

int rule
The rule for the alpha (composite) of the image.


composite

float composite
The alpha of the image.