import java.awt.Graphics;
import java.awt.Color;
import java.awt.Image;
public class CheckersDouble extends java.applet.Applet implements Runnable
{
Thread runner;
int xpos;
int ux1, ux2;
Image offscreenImg;
Graphics offscreenGraphics;
public void init()
{
offscreenImg = createImage(this.size().width, this.size().height);
offscreenGraphics = offscreenImg.getGraphics();
}
public void start()
{
if (runner == null)
{ runner = new Thread(this); runner.start(); }
}
public void stop()
{
if (runner != null)
{ runner.stop(); runner = null; }
}
public void run()
{
setBackground(Color.blue);
while (true)
{
for (xpos=5 ; xpos <=105; xpos+=4)
{
ux2 = xpos + 90;
repaint();
try
{
Thread.sleep(50);
}
catch (InterruptedException e) {}
if (ux1 == 0) ux1 = xpos;
}
for (xpos=105 ; xpos > 5; xpos -= 4)
{
ux1 = xpos;
repaint();
try
{
Thread.sleep(50);
}
catch (InterruptedException e) {}
if (ux2 == 0) ux2 = xpos + 90;
}
}
}
public void update(Graphics g)
{
g.clipRect(ux1, 5, ux2-ux1, 95);
paint(g);
}
public void paint(Graphics g)
{
offscreenGraphics.setColor(Color.black);
offscreenGraphics.fillRect(0,0,100,100);
offscreenGraphics.setColor(Color.white);
offscreenGraphics.fillRect(101,0,100,100);
offscreenGraphics.setColor(Color.red);
offscreenGraphics.fillOval(xpos,5,90,90);
g.drawImage(offscreenImg, 0,0,this);
ux1 = ux2 = 0;
}
}