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;
- import java.awt.Image;
- import java.awt.image.ImageObserver;
-
- public class gra5 extends Applet {
- int bok = 5;
- int cela = 30;
- boolean mozna = true;
- int pop;
- int numer;
- int tnumer;
- int licznik;
- Graphics offg;
- Image offimg;
- int[] tab;
-
- public boolean analiza() {
- int var1 = (this.numer - 1) % this.bok * this.cela;
- int var2 = (this.numer - 1) / this.bok * this.cela;
- if (this.pop == 0 && this.tab[this.numer] == 0) {
- this.tab[this.numer] = this.licznik;
- this.postaw(this.offg);
- this.pop = this.numer;
- return true;
- } else {
- if (this.tab[this.numer] == 0) {
- int var3 = (this.pop - 1) % this.bok * this.cela;
- int var4 = (this.pop - 1) / this.bok * this.cela;
- 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) {
- ++this.licznik;
- this.tab[this.numer] = this.licznik;
- this.postaw(this.offg);
- this.pop = this.numer;
- }
- }
-
- return true;
- }
- }
-
- public void postaw(Graphics var1) {
- var1.setColor(Color.red);
- var1.drawString("" + this.licznik, 5 + (this.numer - 1) % this.bok * this.cela, 20 + (this.numer - 1) / this.bok * this.cela);
- this.tnumer = this.numer;
- var1.setColor(Color.white);
- var1.drawString("" + (this.licznik - 1), 5 + (this.pop - 1) % this.bok * this.cela, 20 + (this.pop - 1) / this.bok * this.cela);
- var1.setColor(Color.yellow);
- var1.drawOval((this.numer - 1) % this.bok * this.cela, (this.numer - 1) / this.bok * this.cela, this.cela, this.cela);
- if (this.licznik == this.bok * this.bok) {
- var1.drawString("Yesss...", 80, this.bok * this.cela + 34);
- }
-
- int var2 = (this.numer - 1) % this.bok * this.cela;
- int var3 = (this.numer - 1) / this.bok * this.cela;
- this.tab[0] = 10;
- int var4;
- 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) {
- var4 = (var3 - this.cela) / this.cela * this.bok + 1 + (var2 - 2 * this.cela) / this.cela;
- } else {
- var4 = 0;
- }
-
- int var5;
- 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) {
- var5 = (var3 - 2 * this.cela) / this.cela * this.bok + 1 + (var2 - this.cela) / this.cela;
- } else {
- var5 = 0;
- }
-
- int var6;
- 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) {
- var6 = (var3 - 2 * this.cela) / this.cela * this.bok + 1 + (var2 + this.cela) / this.cela;
- } else {
- var6 = 0;
- }
-
- int var7;
- 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) {
- var7 = (var3 - this.cela) / this.cela * this.bok + 1 + (var2 + 2 * this.cela) / this.cela;
- } else {
- var7 = 0;
- }
-
- int var8;
- 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) {
- var8 = (var3 + this.cela) / this.cela * this.bok + 1 + (var2 + 2 * this.cela) / this.cela;
- } else {
- var8 = 0;
- }
-
- int var9;
- 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) {
- var9 = (var3 + 2 * this.cela) / this.cela * this.bok + 1 + (var2 + this.cela) / this.cela;
- } else {
- var9 = 0;
- }
-
- int var10;
- 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) {
- var10 = (var3 + 2 * this.cela) / this.cela * this.bok + 1 + (var2 - this.cela) / this.cela;
- } else {
- var10 = 0;
- }
-
- int var11;
- 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) {
- var11 = (var3 + this.cela) / this.cela * this.bok + 1 + (var2 - 2 * this.cela) / this.cela;
- } else {
- var11 = 0;
- }
-
- 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) {
- var1.drawString("Opsss...", 80, this.bok * this.cela + 34);
- }
-
- ((Component)this).repaint();
- }
-
- public void update(Graphics var1) {
- if (this.mozna) {
- this.zacznijgre(this.offg);
- }
-
- this.mozna = false;
- var1.drawImage(this.offimg, 0, 0, (ImageObserver)null);
- }
-
- public void paint(Graphics var1) {
- if (this.offimg == null) {
- Dimension var2 = ((Component)this).size();
- this.offimg = ((Component)this).createImage(var2.width, var2.height);
- this.offg = this.offimg.getGraphics();
- }
-
- this.update(var1);
- }
-
- public void zacznijgre(Graphics var1) {
- for(int var2 = 0; var2 < this.bok * this.bok + 1; ++var2) {
- this.tab[var2] = 0;
- }
-
- this.licznik = 1;
- this.pop = 0;
- this.numer = 0;
- this.plansza(var1);
- }
-
- public boolean mouseDown(Event var1, int var2, int var3) {
- if (var2 > 19 && var2 < 59 && var3 > this.bok * this.cela + 19 && var3 < this.bok * this.cela + 38) {
- this.zacznijgre(this.offg);
- ((Component)this).repaint();
- }
-
- if (var2 < this.bok * this.cela && var3 < this.bok * this.cela) {
- this.numer = var3 / this.cela * this.bok + 1 + var2 / this.cela;
- this.analiza();
- }
-
- return false;
- }
-
- public void plansza(Graphics var1) {
- var1.setColor(Color.black);
- var1.fillRect(0, 0, 800, 800);
- var1.setColor(Color.red);
- var1.fillRect(21, this.bok * this.cela + 21, 39, 17);
- var1.setColor(Color.gray);
-
- for(int var2 = 1; var2 <= this.bok * this.cela + 1; var2 += this.cela) {
- var1.drawLine(var2, 0, var2, this.bok * this.cela);
- }
-
- for(int var3 = 1; var3 <= this.bok * this.cela + 1; var3 += this.cela) {
- var1.drawLine(0, var3, this.bok * this.cela, var3);
- }
-
- var1.drawString("(c) Dariusz Majgier - Cobretti", 10, this.bok * this.cela + 60);
- var1.setColor(Color.yellow);
-
- for(int var4 = 0; var4 <= this.bok * this.cela; var4 += this.cela) {
- var1.drawLine(var4, 0, var4, this.bok * this.cela);
- }
-
- for(int var5 = 0; var5 <= this.bok * this.cela; var5 += this.cela) {
- var1.drawLine(0, var5, this.bok * this.cela, var5);
- }
-
- var1.setColor(Color.white);
- var1.drawRect(20, this.bok * this.cela + 20, 40, 18);
- var1.drawString("Start", 26, this.bok * this.cela + 34);
- }
-
- public gra5() {
- this.tab = new int[this.bok * this.bok + 1];
- }
- }
-