

/* 
 *  The goal of this class is to model a generic square.  It
 *  is an abstract class because we never use a square, only
 *  its subclasses.
 */

public abstract class Square {

  protected String printableElement_;

  public Square(){

    printableElement_ = "x";  // this is a good starter type

  }

  public void printSquare(){
    System.out.print("" + printableElement_);
  }
  
  public void flagSquare(){
    printableElement_ = "f";
  }

  public void clearSquare(){}

  abstract public void uncoverSquare();


}

/*********************************************************************/


public class NumberSquare extends Square {


  public NumberSquare(){

    super();

  }

  public void clearSquare(){
  }

  public void uncoverSquare(){
    
    printableElement_ = " "; // this is temporary
    // i don't know how to tell what number I am and then combine
    // that information to pass on everything to uncover everything

  }


}

/*********************************************************************/


public class MineSquare extends Square {


  public MineSquare(){

    super();

  }

  public void uncoverSquare(){
    
    printableElement_ = "B";
    // I don't know how to tell the game that it is the end!

  }


}
