home *** CD-ROM | disk | FTP | other *** search
- import java.applet.Applet;
- import java.awt.Color;
- import java.awt.Component;
- import java.awt.Dimension;
- import java.awt.Event;
- import java.awt.Graphics;
-
- public class Update extends Applet implements Runnable {
- int frameNumber = -1;
- int delay;
- Thread animatorThread;
- boolean frozen = false;
- int squareSize = 20;
- boolean fillColumnTop = true;
-
- public void init() {
- int var2 = 10;
- String var1 = ((Applet)this).getParameter("fps");
-
- try {
- if (var1 != null) {
- var2 = Integer.parseInt(var1);
- }
- } catch (Exception var4) {
- }
-
- this.delay = var2 > 0 ? 1000 / var2 : 100;
- var1 = ((Applet)this).getParameter("squareWidth");
-
- try {
- if (var1 != null) {
- this.squareSize = Integer.parseInt(var1);
- return;
- }
- } catch (Exception var3) {
- }
-
- }
-
- public void start() {
- if (!this.frozen) {
- if (this.animatorThread == null) {
- this.animatorThread = new Thread(this);
- }
-
- this.animatorThread.start();
- }
-
- }
-
- public void stop() {
- this.animatorThread = null;
- }
-
- public boolean mouseDown(Event var1, int var2, int var3) {
- if (this.frozen) {
- this.frozen = false;
- this.start();
- } else {
- this.frozen = true;
- this.stop();
- }
-
- return true;
- }
-
- public void run() {
- Thread.currentThread().setPriority(1);
- long var1 = System.currentTimeMillis();
-
- while(Thread.currentThread() == this.animatorThread) {
- ++this.frameNumber;
- ((Component)this).repaint();
-
- try {
- var1 += (long)this.delay;
- Thread.sleep(Math.max(0L, var1 - System.currentTimeMillis()));
- } catch (InterruptedException var3) {
- return;
- }
- }
-
- }
-
- public void paint(Graphics var1) {
- this.update(var1);
- }
-
- public void update(Graphics var1) {
- Color var2 = ((Component)this).getBackground();
- Color var3 = ((Component)this).getForeground();
- Dimension var4 = ((Component)this).size();
- int var7 = 0;
- int var8 = 0;
- int var9 = 0;
- boolean var5 = this.fillColumnTop;
- this.fillColumnTop = !this.fillColumnTop;
- int var12 = this.frameNumber % this.squareSize;
- boolean var6;
- int var10;
- if (var12 == 0) {
- var10 = this.squareSize;
- var6 = !var5;
- } else {
- var10 = var12;
- var6 = var5;
- }
-
- while(var8 < var4.width) {
- int var11;
- for(int var13 = 0; var9 < var4.height; var9 += var11) {
- var13 += this.squareSize;
- if (var13 > var4.height) {
- var11 = var4.height - var9;
- } else {
- var11 = this.squareSize;
- }
-
- if (var5) {
- var1.fillRect(var8, var9, var10, var11);
- var5 = false;
- } else {
- var1.setColor(var2);
- var1.fillRect(var8, var9, var10, var11);
- var1.setColor(var3);
- var5 = true;
- }
- }
-
- var8 += var10;
- var9 = 0;
- var10 = this.squareSize;
- var7 += var10;
- if (var7 > var4.width) {
- var10 = var4.width - var8;
- }
-
- var5 = this.fillColumnTop;
- this.fillColumnTop = !this.fillColumnTop;
- }
-
- this.fillColumnTop = var6;
- }
- }
-