FireWorks
Java Source:
import java.awt.*;
import java.applet.Applet;
public class FireWorks extends Applet implements Runnable
{
Dimension d;
Font font = new Font("Helvetica", Font.BOLD, 36);
FontMetrics fm;
Graphics goff;
Image ii;
Thread thethread;
String s;
final int numrockets=8;
final int num=16;
int[] xcoord, ycoord, xspeed, yspeed;
int[] count;
boolean[] exploding;
public String getAppletInfo()
{
return("Fireworks - By Brian Postma");
}
public void init()
{
Graphics g;
int i;
d = size();
g=getGraphics();
g.setFont(font);
fm = g.getFontMetrics();
xcoord=new int[numrockets*num];
ycoord=new int[numrockets*num];
xspeed=new int[numrockets*num];
yspeed=new int[numrockets*num];
count=new int[numrockets];
exploding=new boolean[numrockets];
for (i=0; i0 && d.height>0)
{
ii = createImage(d.width, d.height);
goff = ii.getGraphics();
goff.setFont(font);
}
if (goff==null || ii==null)
return;
goff.setColor(Color.black);
goff.fillRect(0, 0, d.width, d.height);
FireWorks(goff);
goff.setColor(new Color(128, 192, 255));
goff.drawString(s,(d.width-fm.stringWidth(s)) / 2, d.height/2 );
g.drawImage(ii, 0, 0, this);
}
public void FireWorks(Graphics g)
{
int i,j,index;
int x,y,xspd,yspd;
for (i=0; i0)
{ // explode
exploding[i]=true;
for (j=0; j=0) xspeed[index]++;
}
}
for (j=0; j>3,ycoord[index]>>3,xcoord[index]>>3,ycoord[index]>>3);
g.fillRect(xcoord[index]>>3, ycoord[index]>>3,2,2);
xcoord[index]+=xspeed[index];
// if (xcoord[index]<0)
// xcoord[index]+=(d.width<<3);
// if (xcoord[index]>(d.width<<3))
// xcoord[index]-=(d.width<<3);
ycoord[index]+=yspeed[index];
yspeed[index]++;
}
count[i]--;
if (count[i]<=0)
{
count[i]=128;
exploding[i]=false;
// x=((int)((Math.random()*(d.width/2)))+(d.width/4))<<3;
x=((int)((Math.random()*d.width)))<<3;
y=d.height<<3;
yspd=(int)((Math.random()*28))-58;
xspd=(int)((Math.random()*15.0))-8;
if (xspd>=0) xspd++;
for (j=0; j
New on the Java Boutique:
New Review:
Time Management Made Easy with the Quartz Enterprise Job Scheduler
Why not just use the Java timer API? This open source scheduling
API boasts simplicity, ease-of-integration, a well-rounded feature
set, and it's free!
New Applet:
Reverse Complement
Reverse Complement is a simple applet that converts DNA or RNA
sequences into three useful formats.
Elsewhere on internet.com:
WebDeveloper Java
Lots of Java information on webdeveloper.com
WDVL Java
Thorough Java resource at the Web Developer's Virtual Library.
ScriptSearch Java
Hundreds of free Java code files to download.
jGuru: Your View of the Java Universe
Customizable portal with online training, FAQs, regular news updates, and tutorials.
|