package controller;

import boundary.PlayerApplication;
import model.PlayerModel;

/**
 * @author Eli Skeggs, and Nick Chaput
 */
public class PlayerReleaseCtrl implements PlayerVariationCtrl {
  PlayerApplication app;
  PlayerModel model;

  public PlayerReleaseCtrl(PlayerApplication app, PlayerModel model) {
    this.app = app;
    this.model = model;
  }

  public boolean specialMove() {
    model.counter--;
    return false;
  }

  public boolean finishMove() {
    if (model.counter <= 0) {
      return false;
    }

    model.counter--;

    if (model.move.isValid()) {
      // TODO: bucket checking
      return true;
    }

    return false;
  }

  @Override
  public boolean remove() {
    // TODO: implement
    specialMove();
    return false;
  }

  @Override
  public boolean scramble() {
    // TODO: implement
    specialMove();
    return false;
  }

  @Override
  public boolean swap() {
    // TODO: implement
    specialMove();
    return false;
  }
}

@@ -49,16 +49,59 @@
 cation;%0A
+import model.Board;%0Aimport model.CellType;%0A
 import m
@@ -627,61 +627,509 @@
     
-// TODO: bucket checking%0A      return true;%0A    %7D%0A%0A  
+return allBucketsFull();%0A    %7D%0A%0A    return false;%0A  %7D%0A%0A  private boolean allBucketsFull() %7B%0A%09for (int x = 0; x %3C Board.width; x++) %7B%0A%09%09for (int y = 0; y %3C Board.height; y++) %7B%0A%09%09%09  if (model.level.currentBoard.grid%5Bx%5D%5By%5D.type == CellType.BUCKET%0A%09%09%09%09%09 && model.level.currentBoard.grid%5Bx%5D%5By%5D.tile != null) %7B%0A%09%09%09%09  if (model.level.currentBoard.grid%5Bx%5D%5By%5D.tile.number != 5) %7B%0A%09%09%09%09%09  System.out.println(%22Something messed up and a non-Six is in your bucket: %22 + x + %22 %22 + y);%0A%09%09%09%09  %7D%0A%09%09%09  %7D%0A%09%09%09  else %7B%0A%09%09%09%09
   re
@@ -1132,39 +1132,65 @@
   return false;%0A
+%09%09%09
   %7D%0A
-%0A  
+%09%09  %7D%0A%09%7D%0A%09return true;%0A%7D%0A%0A
 @Override%0A  publ

Add code