Source of ShapeBase.java


  1: //ShapeBase.java
  2: 
  3: /**
  4:  * Abstract base class for drawing simple shapes on the screen
  5:  * using keyboard characters. 
  6: */
  7: public abstract class ShapeBase implements ShapeInterface
  8: {
  9:     private int offset;
 10: 
 11:     public ShapeBase()
 12:     {
 13:         offset = 0;
 14:     }
 15: 
 16:     public ShapeBase(int theOffset)
 17:     {
 18:         offset = theOffset;
 19:     }
 20: 
 21:     /**
 22:      * Draws the shape at the current line.
 23:      */
 24:     public abstract void drawHere();
 25: 
 26:     /**
 27:      * Draws the shape at lineNumber lines down from the
 28:      * current line. If this is interpreted to mean that
 29:      * the first character of the figure is to be on the
 30:      * line lineNumber lines down from the current line,
 31:      * then we have to skip lineNumber - 1 lines.
 32:      */
 33:     public void drawAt
 34:     (
 35:         int lineNumber
 36:     )
 37:     {
 38:         for (int count = 0; count < lineNumber - 1; count++)
 39:             System.out.println();
 40:         drawHere();
 41:     }
 42: 
 43:     public void setOffset
 44:     (
 45:         int newOffset
 46:     )
 47:     {
 48:         offset = newOffset;
 49:     }
 50: 
 51: 
 52:     public int getOffset()
 53:     {
 54:         return offset;
 55:     }
 56: }