/* "BBGun_Glass.java" (created 2/27/96) */
/* Java Applet, interactive BB gunfire (glass window pane target) */
import java.applet.Applet;
import java.awt.*;
public class BBGun_Glass extends java.applet.Applet {
/* glass crack line length */
int lnLength;
/* methods invoked by Java */
/* "init()"
* initialize the applet */
public void init()
{
/* 384 X 192 canvas (window pane same size as brick wall) */
resize(384,192);
/* init glass crack line length */
lnLength = 6;
} /* end method "init" */
/* "paint()"
* paint the screen */
public void paint(Graphics g)
{
/* fill window pane with (blue) color */
Color glassBlue_Color = new Color(156,255,255);
g.setColor(glassBlue_Color);
g.fillRect(0,0,384,192);
} /* end method "paint" */
/* "mouseDown()"
* trap mouse down messages */
public boolean mouseDown(Event e, int x, int y) {
/* glass crack temporary coordinates */
int glassCrack_Coord,save_Coord;
/* get component's window */
Graphics g = getGraphics();
/* fire a BB into the glass window pane */
/* BB hole */
g.setColor(Color.black);
g.fillOval(x,y,7,7);
g.setColor(Color.white);
g.fillOval(x,y,5,5);
g.setColor(Color.black);
/* glass crack (top--line1) */
glassCrack_Coord = ((int) Math.round(Math.random() * lnLength)) + 1;
/* (random left or right) */
if (Math.round(Math.random() * 1) == 0)
glassCrack_Coord = glassCrack_Coord * -1;
glassCrack_Coord = x + glassCrack_Coord;
g.drawLine(x,y,glassCrack_Coord,(y-5));
/* glass crack (top--line2) */
save_Coord = glassCrack_Coord;
glassCrack_Coord = ((int) Math.round(Math.random() * lnLength)) + 1;
/* (random left or right) */
if (Math.round(Math.random() * 1) == 0)
glassCrack_Coord = glassCrack_Coord * -1;
glassCrack_Coord = save_Coord + glassCrack_Coord;
g.drawLine(save_Coord,(y-lnLength),glassCrack_Coord,(y-(lnLength*2)));
/* glass crack (right--line1) */
glassCrack_Coord = ((int) Math.round(Math.random() * lnLength)) + 1;
/* (random up or down) */
if (Math.round(Math.random() * 1) == 0)
glassCrack_Coord = glassCrack_Coord * -1;
glassCrack_Coord = y + glassCrack_Coord;
g.drawLine(x,y,x+5,glassCrack_Coord);
/* glass crack (right--line2) */
save_Coord = glassCrack_Coord;
glassCrack_Coord = ((int) Math.round(Math.random() * lnLength)) + 1;
/* (random up or down) */
if (Math.round(Math.random() * 1) == 0)
glassCrack_Coord = glassCrack_Coord * -1;
glassCrack_Coord = save_Coord + glassCrack_Coord;
g.drawLine((x+lnLength),save_Coord,(x+(lnLength*2)),glassCrack_Coord);
/* glass crack (bottom--line1) */
glassCrack_Coord = ((int) Math.round(Math.random() * lnLength)) + 1;
/* (random left or right) */
if (Math.round(Math.random() * 1) == 0)
glassCrack_Coord = glassCrack_Coord * -1;
glassCrack_Coord = x + glassCrack_Coord;
g.drawLine(x,y,glassCrack_Coord,(y+lnLength));
/* glass crack (bottom--line2) */
save_Coord = glassCrack_Coord;
glassCrack_Coord = ((int) Math.round(Math.random() * lnLength)) + 1;
/* (random left or right) */
if (Math.round(Math.random() * 1) == 0)
glassCrack_Coord = glassCrack_Coord * -1;
glassCrack_Coord = save_Coord + glassCrack_Coord;
g.drawLine(save_Coord,(y+lnLength),glassCrack_Coord,(y+(lnLength*2)));
/* glass crack (left--line1) */
glassCrack_Coord = ((int) Math.round(Math.random() * lnLength)) + 1;
/* (random up or down) */
if (Math.round(Math.random() * 1) == 0)
glassCrack_Coord = glassCrack_Coord * -1;
glassCrack_Coord = y + glassCrack_Coord;
g.drawLine(x,y,x-lnLength,glassCrack_Coord);
/* glass crack (left--line2) */
save_Coord = glassCrack_Coord;
glassCrack_Coord = ((int) Math.round(Math.random() * lnLength)) + 1;
/* (random up or down) */
if (Math.round(Math.random() * 1) == 0)
glassCrack_Coord = glassCrack_Coord * -1;
glassCrack_Coord = save_Coord + glassCrack_Coord;
g.drawLine((x-lnLength),save_Coord,(x-(lnLength*2)),glassCrack_Coord);
return true;
} /* end method "mouseDown" */
} /* end class "BBGun_Glass" */
/* end file "BBGun_Glass.java" */
[return]