//	Copyright Naoki Hada
//	last modified on 1996.4.26
     /*----------------------------------------------------/
    /   Naoki Hada  I wish just DokiDoki&WakuWaku.        /
   /   E-mail:HGG01341@niftyserve.or.jp                  /
  /   http://www.a-web.co.jp/~nhada/index.html          /
 /   daytime:(+1-415)813-9088 Pager:(+1-714)238-0930   /
/----------------------------------------------------*/


import	java.applet.Applet;
import	java.awt.*;

public	class	MirageClick	extends	Applet{
	Color	background;
	final	int	Left = 0, Right = 1;
	int		lr = Right;
	Color	current = Color.orange;
	final	double	mirageX[] = { 00.00, 01.10, 04.00, 03.40, 06.50, 04.30, 04.20, 01.20, 01.35, 03.80, 04.10, 00.00 };
	final	double	mirageY[] = { 00.00, 20.75, 23.20, 18.50, 25.90, 25.20, 24.40, 22.90, 26.00, 27.60, 29.10, 28.00 };
	final	int		howMany = 12;
	double	scale = 5.0;
	double	x0 = 50.0;
	double	y0 = 200.0;
	double	theta = 0.1;
	double	currentTheta = theta;

	public	void	init(){

//		howMany = (int)( size( mirageX[] ) / size( mirageX ));
//		howMany = 12;
		setBackground( Color.black );
		setForeground( new Color( 0, 0, 255 ));

		for( int i = 0; i < howMany; i++ ){
			mirageX[i] *= -1.0 * scale;
			mirageY[i] *= -1.0 * scale;
		}
	}

	public	void	paint( Graphics g ){

		if( Left == lr ){
			current = Color.green;
			g.setColor( current );
			g.drawString( "Green Left", 10, 30 );
		}else{	// Right
			current = Color.red;
			g.setColor( current );
			g.drawString( "Orange Right", 10, 30 );
		}

		drawMirage( g );
		return;
	}

	public	void	drawMirage( Graphics g ){
		double	x1, x2, y1, y2;

		for( int i = 0; i < howMany; i++ ){
			x1 = mirageX[i];	y1 = mirageY[i];
//			if( i == howMany - 1 ){
//				x2 = mirageX[0];	y2 = mirageY[0];
//			}else{
				x2 = mirageX[i+1];	y2 = mirageY[i+1];
//			}
			g.drawLine( (int)( x1+x0), (int)(y1+y0),  (int)( x2+x0), (int)(y2+y0) );
			g.drawLine( (int)(-x1+x0), (int)(y1+y0),  (int)(-x2+x0), (int)(y2+y0) );
		}
	}

	public	boolean	mouseDown( Event e, int x, int y ){
		if( 0 != ( Event.META_MASK & e.modifiers ))	lr = Right;
		else										lr = Left;
		repaint();
/**/	showStatus( "x=" + x +" y=" + y + " lr=" + lr + "e.modifiers = " + e.modifiers );

		return	true;
	}
}





