home *** CD-ROM | disk | FTP | other *** search
/ PC Plus SuperCD (UK) 2000 March / pcp161b.iso / handson / archive / Issue153 / java / PizzaSag.class (.txt) < prev    next >
Encoding:
Java Class File  |  1999-04-04  |  2.3 KB  |  90 lines

  1. import java.applet.Applet;
  2. import java.awt.Color;
  3. import java.awt.Component;
  4. import java.awt.Graphics;
  5. import java.awt.Image;
  6. import java.awt.MediaTracker;
  7.  
  8. public class PizzaSag extends Applet implements Runnable {
  9.    Image origImg;
  10.    Image backImg;
  11.    // $FF: renamed from: w1 int
  12.    int field_0;
  13.    // $FF: renamed from: h1 int
  14.    int field_1;
  15.    Thread thrPizzaSag;
  16.  
  17.    public void start() {
  18.       if (this.thrPizzaSag == null) {
  19.          this.thrPizzaSag = new Thread(this);
  20.          this.thrPizzaSag.start();
  21.       }
  22.  
  23.    }
  24.  
  25.    public void stop() {
  26.       if (this.thrPizzaSag != null) {
  27.          this.thrPizzaSag.stop();
  28.          this.thrPizzaSag = null;
  29.       }
  30.  
  31.    }
  32.  
  33.    public void run() {
  34.       this.loadImage();
  35.       this.backImg = ((Component)this).createImage(this.field_0, this.field_1);
  36.       Graphics var4 = this.backImg.getGraphics();
  37.       var4.setColor(Color.white);
  38.       var4.drawImage(this.origImg, 0, 0, this);
  39.  
  40.       for(; this.thrPizzaSag != null; ((Component)this).repaint()) {
  41.          int var1 = (int)(Math.random() * (double)this.field_0);
  42.          int var2 = (int)(Math.random() * (double)this.field_0);
  43.          if (var2 < var1) {
  44.             int var3 = var1;
  45.             var1 = var2;
  46.             var2 = var3;
  47.          }
  48.  
  49.          this.droop(var4, var1, var2);
  50.  
  51.          try {
  52.             Thread.sleep(50L);
  53.          } catch (InterruptedException var5) {
  54.          }
  55.       }
  56.  
  57.    }
  58.  
  59.    public void loadImage() {
  60.       MediaTracker var1 = new MediaTracker(this);
  61.       String var2 = ((Applet)this).getParameter("image");
  62.       this.origImg = ((Applet)this).getImage(((Applet)this).getDocumentBase(), var2);
  63.       var1.addImage(this.origImg, 0);
  64.  
  65.       try {
  66.          var1.waitForID(0);
  67.       } catch (InterruptedException var3) {
  68.       }
  69.  
  70.       this.field_0 = this.origImg.getWidth(this);
  71.       this.field_1 = this.origImg.getHeight(this);
  72.    }
  73.  
  74.    public void droop(Graphics var1, int var2, int var3) {
  75.       var1.copyArea(var2, 0, var3 - var2, this.field_1, 0, 1);
  76.       var1.drawLine(var2, 0, var3, 0);
  77.    }
  78.  
  79.    public void update(Graphics var1) {
  80.       this.paint(var1);
  81.    }
  82.  
  83.    public void paint(Graphics var1) {
  84.       if (this.backImg != null) {
  85.          var1.drawImage(this.backImg, 0, 0, this);
  86.       }
  87.  
  88.    }
  89. }
  90.