home *** CD-ROM | disk | FTP | other *** search
/ Internet CD 2005 August / MICD_2005_08.iso / KursHTML / p / gra5.class (.txt) next >
Encoding:
Java Class File  |  1997-05-25  |  4.3 KB  |  203 lines

  1. import java.applet.Applet;
  2. import java.awt.Color;
  3. import java.awt.Component;
  4. import java.awt.Dimension;
  5. import java.awt.Event;
  6. import java.awt.Graphics;
  7. import java.awt.Image;
  8. import java.awt.image.ImageObserver;
  9.  
  10. public class gra5 extends Applet {
  11.    int bok = 5;
  12.    int cela = 30;
  13.    boolean mozna = true;
  14.    int pop;
  15.    int numer;
  16.    int tnumer;
  17.    int licznik;
  18.    Graphics offg;
  19.    Image offimg;
  20.    int[] tab;
  21.  
  22.    public boolean analiza() {
  23.       int var1 = (this.numer - 1) % this.bok * this.cela;
  24.       int var2 = (this.numer - 1) / this.bok * this.cela;
  25.       if (this.pop == 0 && this.tab[this.numer] == 0) {
  26.          this.tab[this.numer] = this.licznik;
  27.          this.postaw(this.offg);
  28.          this.pop = this.numer;
  29.          return true;
  30.       } else {
  31.          if (this.tab[this.numer] == 0) {
  32.             int var3 = (this.pop - 1) % this.bok * this.cela;
  33.             int var4 = (this.pop - 1) / this.bok * this.cela;
  34.             if (var1 == var3 + 2 * this.cela && var2 == var4 + this.cela || var1 == var3 + this.cela && var2 == var4 + 2 * this.cela || var1 == var3 + 2 * this.cela && var2 == var4 - this.cela || var1 == var3 + this.cela && var2 == var4 - 2 * this.cela || var1 == var3 - this.cela && var2 == var4 + 2 * this.cela || var1 == var3 - 2 * this.cela && var2 == var4 + this.cela || var1 == var3 - 2 * this.cela && var2 == var4 - this.cela || var1 == var3 - this.cela && var2 == var4 - 2 * this.cela) {
  35.                ++this.licznik;
  36.                this.tab[this.numer] = this.licznik;
  37.                this.postaw(this.offg);
  38.                this.pop = this.numer;
  39.             }
  40.          }
  41.  
  42.          return true;
  43.       }
  44.    }
  45.  
  46.    public void postaw(Graphics var1) {
  47.       var1.setColor(Color.red);
  48.       var1.drawString("" + this.licznik, 5 + (this.numer - 1) % this.bok * this.cela, 20 + (this.numer - 1) / this.bok * this.cela);
  49.       this.tnumer = this.numer;
  50.       var1.setColor(Color.white);
  51.       var1.drawString("" + (this.licznik - 1), 5 + (this.pop - 1) % this.bok * this.cela, 20 + (this.pop - 1) / this.bok * this.cela);
  52.       var1.setColor(Color.yellow);
  53.       var1.drawOval((this.numer - 1) % this.bok * this.cela, (this.numer - 1) / this.bok * this.cela, this.cela, this.cela);
  54.       if (this.licznik == this.bok * this.bok) {
  55.          var1.drawString("Yesss...", 80, this.bok * this.cela + 34);
  56.       }
  57.  
  58.       int var2 = (this.numer - 1) % this.bok * this.cela;
  59.       int var3 = (this.numer - 1) / this.bok * this.cela;
  60.       this.tab[0] = 10;
  61.       int var4;
  62.       if (var3 - this.cela > -1 && var2 - 2 * this.cela > -1 && var3 - this.cela < this.cela * this.bok && var2 - 2 * this.cela < this.cela * this.bok) {
  63.          var4 = (var3 - this.cela) / this.cela * this.bok + 1 + (var2 - 2 * this.cela) / this.cela;
  64.       } else {
  65.          var4 = 0;
  66.       }
  67.  
  68.       int var5;
  69.       if (var3 - 2 * this.cela > -1 && var2 - this.cela > -1 && var3 - 2 * this.cela < this.cela * this.bok && var2 - this.cela < this.cela * this.bok) {
  70.          var5 = (var3 - 2 * this.cela) / this.cela * this.bok + 1 + (var2 - this.cela) / this.cela;
  71.       } else {
  72.          var5 = 0;
  73.       }
  74.  
  75.       int var6;
  76.       if (var3 - 2 * this.cela > -1 && var2 + this.cela > -1 && var3 - 2 * this.cela < this.cela * this.bok && var2 + this.cela < this.cela * this.bok) {
  77.          var6 = (var3 - 2 * this.cela) / this.cela * this.bok + 1 + (var2 + this.cela) / this.cela;
  78.       } else {
  79.          var6 = 0;
  80.       }
  81.  
  82.       int var7;
  83.       if (var3 - this.cela > -1 && var2 + 2 * this.cela > -1 && var3 - this.cela < this.cela * this.bok && var2 + 2 * this.cela < this.cela * this.bok) {
  84.          var7 = (var3 - this.cela) / this.cela * this.bok + 1 + (var2 + 2 * this.cela) / this.cela;
  85.       } else {
  86.          var7 = 0;
  87.       }
  88.  
  89.       int var8;
  90.       if (var3 + this.cela > -1 && var2 + 2 * this.cela > -1 && var3 + this.cela < this.cela * this.bok && var2 + 2 * this.cela < this.cela * this.bok) {
  91.          var8 = (var3 + this.cela) / this.cela * this.bok + 1 + (var2 + 2 * this.cela) / this.cela;
  92.       } else {
  93.          var8 = 0;
  94.       }
  95.  
  96.       int var9;
  97.       if (var3 + 2 * this.cela > -1 && var2 + this.cela > -1 && var3 + 2 * this.cela < this.cela * this.bok && var2 + this.cela < this.cela * this.bok) {
  98.          var9 = (var3 + 2 * this.cela) / this.cela * this.bok + 1 + (var2 + this.cela) / this.cela;
  99.       } else {
  100.          var9 = 0;
  101.       }
  102.  
  103.       int var10;
  104.       if (var3 + 2 * this.cela > -1 && var2 - this.cela > -1 && var3 + 2 * this.cela < this.cela * this.bok && var2 - this.cela < this.cela * this.bok) {
  105.          var10 = (var3 + 2 * this.cela) / this.cela * this.bok + 1 + (var2 - this.cela) / this.cela;
  106.       } else {
  107.          var10 = 0;
  108.       }
  109.  
  110.       int var11;
  111.       if (var3 + this.cela > -1 && var2 - 2 * this.cela > -1 && var3 + this.cela < this.cela * this.bok && var2 - 2 * this.cela < this.cela * this.bok) {
  112.          var11 = (var3 + this.cela) / this.cela * this.bok + 1 + (var2 - 2 * this.cela) / this.cela;
  113.       } else {
  114.          var11 = 0;
  115.       }
  116.  
  117.       if (this.licznik != this.bok * this.bok && this.tab[var4] != 0 && this.tab[var5] != 0 && this.tab[var6] != 0 && this.tab[var7] != 0 && this.tab[var8] != 0 && this.tab[var9] != 0 && this.tab[var10] != 0 && this.tab[var11] != 0) {
  118.          var1.drawString("Opsss...", 80, this.bok * this.cela + 34);
  119.       }
  120.  
  121.       ((Component)this).repaint();
  122.    }
  123.  
  124.    public void update(Graphics var1) {
  125.       if (this.mozna) {
  126.          this.zacznijgre(this.offg);
  127.       }
  128.  
  129.       this.mozna = false;
  130.       var1.drawImage(this.offimg, 0, 0, (ImageObserver)null);
  131.    }
  132.  
  133.    public void paint(Graphics var1) {
  134.       if (this.offimg == null) {
  135.          Dimension var2 = ((Component)this).size();
  136.          this.offimg = ((Component)this).createImage(var2.width, var2.height);
  137.          this.offg = this.offimg.getGraphics();
  138.       }
  139.  
  140.       this.update(var1);
  141.    }
  142.  
  143.    public void zacznijgre(Graphics var1) {
  144.       for(int var2 = 0; var2 < this.bok * this.bok + 1; ++var2) {
  145.          this.tab[var2] = 0;
  146.       }
  147.  
  148.       this.licznik = 1;
  149.       this.pop = 0;
  150.       this.numer = 0;
  151.       this.plansza(var1);
  152.    }
  153.  
  154.    public boolean mouseDown(Event var1, int var2, int var3) {
  155.       if (var2 > 19 && var2 < 59 && var3 > this.bok * this.cela + 19 && var3 < this.bok * this.cela + 38) {
  156.          this.zacznijgre(this.offg);
  157.          ((Component)this).repaint();
  158.       }
  159.  
  160.       if (var2 < this.bok * this.cela && var3 < this.bok * this.cela) {
  161.          this.numer = var3 / this.cela * this.bok + 1 + var2 / this.cela;
  162.          this.analiza();
  163.       }
  164.  
  165.       return false;
  166.    }
  167.  
  168.    public void plansza(Graphics var1) {
  169.       var1.setColor(Color.black);
  170.       var1.fillRect(0, 0, 800, 800);
  171.       var1.setColor(Color.red);
  172.       var1.fillRect(21, this.bok * this.cela + 21, 39, 17);
  173.       var1.setColor(Color.gray);
  174.  
  175.       for(int var2 = 1; var2 <= this.bok * this.cela + 1; var2 += this.cela) {
  176.          var1.drawLine(var2, 0, var2, this.bok * this.cela);
  177.       }
  178.  
  179.       for(int var3 = 1; var3 <= this.bok * this.cela + 1; var3 += this.cela) {
  180.          var1.drawLine(0, var3, this.bok * this.cela, var3);
  181.       }
  182.  
  183.       var1.drawString("(c) Dariusz Majgier - Cobretti", 10, this.bok * this.cela + 60);
  184.       var1.setColor(Color.yellow);
  185.  
  186.       for(int var4 = 0; var4 <= this.bok * this.cela; var4 += this.cela) {
  187.          var1.drawLine(var4, 0, var4, this.bok * this.cela);
  188.       }
  189.  
  190.       for(int var5 = 0; var5 <= this.bok * this.cela; var5 += this.cela) {
  191.          var1.drawLine(0, var5, this.bok * this.cela, var5);
  192.       }
  193.  
  194.       var1.setColor(Color.white);
  195.       var1.drawRect(20, this.bok * this.cela + 20, 40, 18);
  196.       var1.drawString("Start", 26, this.bok * this.cela + 34);
  197.    }
  198.  
  199.    public gra5() {
  200.       this.tab = new int[this.bok * this.bok + 1];
  201.    }
  202. }
  203.