preview

Sample Resume : Import Tray

Satisfactory Essays

package tray;

import tray.block.Block; import tray.block.Coordinate; import tray.block.Move;

import java.io.File; import java.io.FileNotFoundException; import java.util.*;

/** * Created by nolan on 4/18/2017. */ public class Tray implements Comparable {

/** * Tray object that uses HashSet to store blocks. * Dimensions of tray are immutable, while all other variables are mutable. * Parent Tray field is used to keep track of series of moves (moveString)/path from initial tray to satisfied goal tray. * 2D boolean array used to keep track of which coordinates are currently occupied by blocks * Mutable differenceFromGoal field initializes at maximum integer value and is set to actual via setter value upon …show more content…

w < 0 || newRow + block.getNumRows() > numRows) return false; if (newColumn < 0 || newColumn + block.getNumColumns() > numColumns) return false; markUnoccupied(block); for (int row=newRow; row < block.getLowerLeftCoord().getRow() + move.getRow(); row++){ for (int column=newColumn; column < block.getUpperRightCoord().getColumn() + move.getColumn(); column++){ if (spacesOccupied[row][column]) { markOccupied(block); return false; } } } markOccupied(block); return true; }

// Mark entry in spacesOccupied as being either occupied (true) or unoccupied (false) private void mark(Block block, boolean occupied){ for (int row=block.getUpperLeftCoord().getRow(); row < block.getLowerLeftCoord().getRow(); row++){ for (int column=block.getUpperLeftCoord().getColumn(); column < block.getUpperRightCoord().getColumn(); column++){ spacesOccupied[row][column] = occupied; } } }

public void markOccupied(Block block){ mark(block, true); }

public void markUnoccupied(Block block){ mark(block, false); }

public Set getBlocks() { return blocks; }

public int getNumColumns() { return numColumns; }

public int getNumRows() { return numRows; }

//check if the tray is equal with other tray

Get Access