Snow
import java.awt.*;
import java.util.*;
class Snow
{
private int xco, yco;
private int depth;
private int weight;
private int drift;
private int driftSign;
private int maxY, maxX;
private boolean alive;
private int size;
public Snow(int width,int height)
{
this.maxY = height;
this.maxX = width;
driftSign = 1;
}
public boolean isAlive()
{
return alive;
}
private void enable()
{
alive = true;
}
private void disable()
{
alive = false;
}
private void randSnowFlake()
{
setYco(0);
setXco((int)(Math.random()*maxX));
setWeight((int)(Math.random()*8));
setDepth((int)(Math.random()*3));
setSize((int)(Math.random()*2)+1);
enable();
}
public void newFlake()
{
randSnowFlake();
}
private void setXco(int x)
{
this.xco = x;
}
private void setYco(int y)
{
this.yco = y;
}
private void setDepth(int d)
{
this.depth = d;
}
private void setSize(int s)
{
size = s;
}
private void setWeight(int w)
{
if (w > 2)
this.weight = w;
else this.weight = 2;
}
public void move()
{
if (getYco()%2 == 0) drift();
setYco(getYco()+weight/2);
setXco(getXco()+getDrift());
if (getYco() > maxY) disable();
}
public void dodge(int x)
{
setXco(getXco()+x);
}
private void drift()
{
if (drift <= 0)
{
drift = (int)(Math.random()*10);
driftSign = driftSign*(-1);
}
drift--;
}
private int getDrift()
{
if (drift >0) return driftSign;
else return 0;
}
public int getYco()
{
return yco;
}
public int getXco()
{
return xco;
}
public int getDepth()
{
return depth;
}
public int getSize()
{
return size;
}
}
Return to index
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.
|