// ScaledJRobo  Adds scaling to basic JRobo class.
//              also changes rect implementation !badly!
//              and adds circle
// Author:  David 5/9/99

import java.awt.*;

public class ScaledJRobo extends JRobo
{

    double scale;
    
    // Constructor
    ScaledJRobo( Graphics g )
    {
        super( g );
        scale = 1;
    }

    public void setScale( double newScale )
    {
        scale = newScale;
    }
    
    // f - Move forward
    public void f( int distance )
    {
        super.f(  ( int ) ( distance * scale ) );
    }
    
    /*    
    // rect - override to use java graphics method
    // what is wrong? 
    //      JRobo scales by 0.5! Pre-cond wrong!
    public void rect( int height, int width) {
        robog.drawRoundRect( x, 
                        y, 
                        ( int ) ( width * scale / 2 ), 
                        ( int ) ( height * scale / 2 ),
                        15, 15 );
    }
    */

    // circle - using java graphics method!
    public void circle( int radius )
    {
        robog.drawOval( x - ( int ) ( radius * scale / 2 ), 
                        y - ( int ) ( radius * scale / 2 ), 
                        ( int ) ( radius * scale), 
                        ( int ) ( radius * scale) );
    }
    
} // end JRobo class