| JRoboTest.java |
1 // JRobo Example 6
2 // Demonstrates ScaledJRobo class & extended type checking
3 // (aRobo can hold normal or Scaled JRobo)
4 // Author: David 5/9/99
5
6 import java.awt.*;
7 import java.applet.*;
8
9 public class JRoboTest extends Applet
10 {
11 public void paint( Graphics g )
12 {
13 XJRobo aRobo = new XJRobo( g );
14 aRobo.move( -400, -300 );
15 house( aRobo );
16
17 aRobo = new ScaledXJRobo( g );
18 aRobo.move( -50, -300 );
19
20 ((ScaledXJRobo) aRobo).setScale( 0.25);
21 house( aRobo );
22
23 aRobo.move( 350, 0 );
24 ((ScaledXJRobo) aRobo).setScale( 0.51);
25 house( aRobo );
26
27 aRobo.move( 300, 0 );
28 ((ScaledXJRobo) aRobo).setScale( 1.25);
29 house( aRobo );
30 }
31
32
33 // house - draw a simple house using rect, equtri and move.
34 // notice how it is drawn depends on type of JRobo!
35 public void house( XJRobo r)
36 {
37 // draw walls
38 r.rect( 250, 250 );
39
40 // draw roof
41 r.move( 0, 250 );
42 r.equtri( 250 );
43 r.move( 0, -250);
44
45 // draw windows
46 r.move( 50, 150 );
47 r.rect( 50, 50 );
48 r.move( 100, 0 );
49 r.rect( 50, 50 );
50
51 // draw door
52 r.move( -50, -150 );
53 r.rect( 75, 50 );
54 }
55
56 } // end JRoboTest class
57