2: /**
3: Abstract base class for drawing simple shapes on the screen
4: using keyboard characters.
5: */
6: public abstract class ShapeBase implements ShapeInterface
7: {
8: private int offset;
9:
10: public ShapeBase( )
11: {
12: offset = 0;
13: }
15: public ShapeBase(int theOffset)
16: {
17: offset = theOffset;
18: }
20: /**
21: Draws the shape at the current line.
22: */
23: public abstract void drawHere( );
24:
25: /**
26: Draws the shape at lineNumber lines down
27: from the current line.
28: */
29: public void drawAt(int lineNumber)
30: {
31: for (int count = 0; count < lineNumber; count++)
32: System.out.println( );
33: drawHere( );
34: }
35:
36: public void setOffset(int newOffset)
37: {
38: offset = newOffset;
39: }
41: public int getOffset( )
42: {
43: return offset;
44: }
45: }