OSDN Git Service

Added missing file SuexgGenerator2.java
authorsvedrenne <sylvain@jankenpoi.net>
Fri, 28 Mar 2014 22:21:45 +0000 (23:21 +0100)
committersvedrenne <sylvain@jankenpoi.net>
Fri, 28 Mar 2014 22:21:45 +0000 (23:21 +0100)
src/classes/net/sourceforge/plantuml/sudoku/SuexgGenerator2.java [new file with mode: 0644]

diff --git a/src/classes/net/sourceforge/plantuml/sudoku/SuexgGenerator2.java b/src/classes/net/sourceforge/plantuml/sudoku/SuexgGenerator2.java
new file mode 100644 (file)
index 0000000..7c37260
--- /dev/null
@@ -0,0 +1,39 @@
+package net.sourceforge.plantuml.sudoku;
+
+import java.util.Random;
+
+import net.jankenpoi.sudokuki.SudokuGrid;
+import net.jankenpoi.sudokuki.generator.SudokuGenerator;
+
+public class SuexgGenerator2 extends SudokuGenerator {
+
+       @Override
+       public SudokuGrid generateGrid(int minRating, int maxRating) {
+               DLXEngine dlxEngine = new DLXEngine(new Random());
+               String sudoku = dlxEngine.generate(minRating, maxRating);
+               System.out.println("sudoku : "+sudoku+" length = "+sudoku.length());
+               final int[] intGrid = new int[81];
+               int idx = 0;
+               for (int i=0; i<81; i++) {
+                       int val = -1;
+                       while (val == -1) {
+                               char ch = sudoku.charAt(idx++);
+                               if ('1' <= ch && ch <= '9') {
+                                       val = ch - '0';
+                               } else if ('\n' != ch) {
+                                       val = 0; 
+                               }
+                       }
+                       intGrid[i] = val;
+               }
+               SudokuGrid grid = new SudokuGrid(intGrid);
+               return grid;
+       }
+
+       private static final SudokuGenerator INSTANCE = new SuexgGenerator2();
+       
+       public final static SudokuGenerator getInstance() {
+               return INSTANCE;
+       }
+
+}