home *** CD-ROM | disk | FTP | other *** search
/ PCNET 2006 November - Disc 1 / PCNET_CD_2006_11_1.iso / dergiden / sudoku / sudoku.jar / algorithm / f.class (.txt) < prev    next >
Encoding:
Java Class File  |  2006-02-25  |  916 b   |  84 lines

  1. package algorithm;
  2.  
  3. // $FF: renamed from: algorithm.f
  4. public final class class_0 {
  5.    // $FF: renamed from: a algorithm.g
  6.    private g field_0;
  7.    // $FF: renamed from: b int
  8.    private int field_1;
  9.  
  10.    protected class_0(g var1) {
  11.       this.field_0 = var1;
  12.    }
  13.  
  14.    // $FF: renamed from: a () algorithm.g
  15.    protected final g method_0() {
  16.       g var2 = null;
  17.  
  18.       try {
  19.          var2 = (g)this.field_0.clone();
  20.       } catch (Exception var5) {
  21.       }
  22.  
  23.       if (this.method_1()) {
  24.          for(int var3 = 0; var3 < 9; ++var3) {
  25.             for(int var4 = 0; var4 < 9; ++var4) {
  26.                this.field_0.c(var3, var4, this.field_0.f[var3][var4]);
  27.             }
  28.          }
  29.       } else {
  30.          this.field_0 = var2;
  31.       }
  32.  
  33.       return this.field_0;
  34.    }
  35.  
  36.    // $FF: renamed from: b () boolean
  37.    protected final boolean method_1() {
  38.       this.field_0.g = false;
  39.       this.field_1 = 0;
  40.       this.field_0.b();
  41.       this.field_0.c();
  42.  
  43.       for(int var1 = 0; var1 < 9; ++var1) {
  44.          for(int var2 = 0; var2 < 9; ++var2) {
  45.             if (!this.field_0.c(var1, var2)) {
  46.                ++this.field_1;
  47.             }
  48.          }
  49.       }
  50.  
  51.       this.method_2(0);
  52.       return this.field_0.g;
  53.    }
  54.  
  55.    // $FF: renamed from: a (int) void
  56.    private void method_2(int var1) {
  57.       if (!this.field_0.g) {
  58.          if (var1 == 81) {
  59.             if (this.field_1 == 0) {
  60.                this.field_0.d();
  61.             }
  62.  
  63.          } else {
  64.             int var3 = var1 / 9;
  65.             int var4 = var1 % 9;
  66.             if (this.field_0.c(var3, var4)) {
  67.                this.method_2(var1 + 1);
  68.             } else {
  69.                for(int var2 = 1; var2 <= 9 && !this.field_0.g; ++var2) {
  70.                   if (this.field_0.a(var3, var4, var2)) {
  71.                      this.field_0.c(var3, var4, var2);
  72.                      --this.field_1;
  73.                      this.method_2(var1 + 1);
  74.                      ++this.field_1;
  75.                      this.field_0.b(var3, var4);
  76.                   }
  77.                }
  78.  
  79.             }
  80.          }
  81.       }
  82.    }
  83. }
  84.