1   // joi/3/shapes/TestShapes.java                         
2   //                                                            
3   //                                                            
4   // Copyright 2003 Bill Campbell and Ethan Bolker                         
5                                                               
6   /**
7    * A program to test shapes.
8    *
9    * @version 3
10   */
11  
12  class TestShapes
13  {
14      /**
15       * Paint shapes on a Screen and draw it to a Terminal.
16       */
17  
18      public static void main( String[] argv )
19      {
20          Terminal t = new Terminal();
21          Screen s;
22          
23          t.println( "An empty 10 x 3 Screen:" );
24          s = new Screen( 10, 3 );
25          s.draw( t );
26  
27          t.println( "A 20 x 10 Screen with 3 HLines:" ); 
28          s = new Screen( 20, 10 );
29          HLine h1 = new HLine( 10, 'R' );
30          HLine h2 = new HLine( 15, 'G' );
31  
32          h1.paintOn( s, 0, 0 );
33          h2.paintOn( s, 0, 1 );
34          (new HLine( 15, 'B' )).paintOn( s, 0, 2 ); // tricky to read
35          s.draw( t );
36  
37          t.println( "Clear that screen,");
38          s.clear();
39  
40          t.println( "draw 3 Boxes (2 overlapping):" );
41          Box   b = new Box( 6, 5, 'R' );
42          b.paintOn( s, 1, 1 );
43          b = new Box( 7, 4, 'G'); // create a new (different) Box b 
44          b.paintOn( s, 2, 3 );    // paint Box b on s
45          b.paintOn( s, 17, 5 );   // paint Box b partly off the Screen
46          s.draw( t );
47      }
48  }
49