Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## sudokugamej2se11
Class TableFactory

    java.lang.Object
      sudokugamej2se11.TableFactory

    public class TableFactory

extends java.lang.Object

A TableFactory osztály metódusai olyan teljesen kitöltött táblákat és hozzá tartozó sablonokat állítanak elő és mentenek fájlokba, melyek kombinációi egymegoldásos kezdőállásokat képeznek. Alkalmas kezdőállapot előállítására.

Field Summary
`private static java.io.BufferedReader` | `br`
`private static java.io.BufferedWriter` | `bw`
`static int` | `EASY_LEVEL`
`static int` | `HARD_LEVEL`
`static int` | `MEDIUM_LEVEL`
`private static java.lang.String` | `permDirectory`
`private static java.util.Random` | `rand`
`private static java.lang.String` | `separator`
`static int` | `SIZE`
`private static java.lang.String` | `tableDirectory`

Constructor Summary
`TableFactory()`

Method Summary
`static void` | `createFullTables(java.lang.String fileName, int count)` Előállítja és a megadott fájlba mentni a megadott számú kitöltött táblát.
`private static void` | `createPermFiles()` Ellőállítja azokat a fájlokat, melyek a 1-9 számok összes lehetséges permutációját tartalmazzák.
`static void` | `createTemplatesFor(java.lang.String fileName, int count)` A megadott fáljban található össszes teljesen kitöltött táblához létrehoz egy olyan fájt, mely a megadott számú sablont tartalmazza.
`(package private) static Cell` | `findBestPositionOf(int[][] state)` A getSolutionOf metódus segédfüggvénye, mely meghatározza a paraméterben kapott állapot azon celláját, melynek sora és oszlopa a legtöbb értéket tartalmazza.
`static SudokuTable` | `generateNewTable(int level)` Eredménye egy SudokuTable objektum, mely tartlamazza a teljesen és helyesen kitöltött táblát, valamint egy olyan hiányos táblát, mely a paraméterben kapott szintnek megfelelő mennyíségű számot tartalmaz és egyetlen megoldása van.
`private static int[][]` | `getCopyOf(int[][] state)` Előállítja a paraméterben kapott állapot pontos másolatát.
`static SudokuTable` | `getNewTable(int level)` Eredménye egy SudokuTable objektum, mely tartlamazza a teljesen és helyesen kitöltött táblát, valamint egy olyan hiányos táblát, mely a paraméterben kapott szintnek megfelelő mennyíségű számot tartalmaz és egyetlen megoldása van.
`private static Node` | `getSolutionOf(Node node)` Meghatározza a megadott állapot egy lehetséges megoldását.
`private static int[][]` | `getTemplate(int valueCount)` Létrehoz egy sablont a megadott darabszámú értékkel.
`private static int[][]` | `getTemplateOf(int[][] table)` Létrehoz a megadott táblához egy olyan sablont, mellyel kombinálva egyedi megoldással rendelkező kezőállás jön létre.
`private static int[][]` | `getTemplateOf2(int[][] table)` Létrehoz a megadott táblához egy olyan sablont, mellyel kombinálva egyedi megoldással rendelkező kezőállás jön létre.
`private static boolean` | `hasUniqueSolution(int[][] state)` A megadott állapotról eldönti, hogy egyedi megoldással rendelkezik-e.
`private static boolean` | `hasUniqueSolution(int[][] state, int[][] fullState)` A megadott állapotról eldönti, hogy a megadott teljesen kitöltött tábla az egyetlen megoldása-e.
`private static boolean` | `isComplete(int[][] state)` Megmondja egy adott Sudoku állapotról, hogy teljesen és helyesen van-e kitölteve.
`private static boolean` | `isCorrect(int[][] state)` A TableFactory isCorrect metódusa a sorok, oszlopok és blokkok átviszgálásával dönti el egy tábláról, hogy az helyes sudoku állapot-e
`private static int[][]` | `loadFullTableFrom(int number, java.lang.String fileName)` A megadott sorszámú táblát kiolvassa a megadott fájlból.
`private static int[][]` | `loadTable()` Előállít egy teljesen és helyesen kitöltött Sudoku táblát.
`private static int[][]` | `loadTemplateFrom(int number, java.lang.String fileName)` A megadott sorszámú sablont kiolvassa a megadott fájlból.
`private static void` | `mirror(int[][] fullState, int[][] state, int direction)` A megadott paraméter alapján vertikálisan vagy horizontálisan tükrözi a táblákat.
`private static java.util.List<java.lang.String>` | `perm(java.util.List<java.lang.Integer> elements)` Előállítja a listában megadott elemek összes lehetséges permutációjának Sztring reprezentációját.
`private static void` | `replaceNumbers(int[][] fullState, int[][] state)` Két tetszőleges szám összes előfordulását kicseréli egymással mindkét állapotban.
`private static void` | `rotate(int[][] fullState, int[][] state, int count)` Elforgatja a teljesen és részlegesen kitöltött állapotokat 90 fokkal a megadott számszor.
`private static void` | `transform(int[][] fullState, int[][] state)` A getNewTable segédeljárása, mely a megadott táblán és sablonon különböző traszformációkat hajt végre.
`private static void` | `transpose(int[][] fullState, int[][] state)` Traszponálja a táblákat.
`private static void` | `writeTableToFile(int[][] table, java.lang.String fileName)` A paraméterben megadott táblát a megadott nevű fájlba íjra.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### SIZE

    public static final int SIZE

See Also:
  Constant Field Values

### EASY_LEVEL

    public static final int EASY_LEVEL

See Also:
  Constant Field Values

### MEDIUM_LEVEL

    public static final int MEDIUM_LEVEL

See Also:
  Constant Field Values

### HARD_LEVEL

    public static final int HARD_LEVEL

See Also:
  Constant Field Values

### bw

    private static java.io.BufferedWriter bw

### br

    private static java.io.BufferedReader br

### rand

    private static java.util.Random rand

### separator

    private static java.lang.String separator

### tableDirectory

    private static java.lang.String tableDirectory

### permDirectory

    private static java.lang.String permDirectory

Constructor Detail

### TableFactory

    public TableFactory()

Method Detail

### createFullTables

    public static void createFullTables(java.lang.String fileName,
                                        int count)

  Előállítja és a megadott fájlba mentni a megadott számú kitöltött táblát.

  Parameters:
    `count` - az előállítandó táblák száma.

### loadTable

    private static int[][] loadTable()

  Előállít egy teljesen és helyesen kitöltött Sudoku táblát.

  Returns:
    Az előállított tábla.

### createPermFiles

    private static void createPermFiles()

  Ellőállítja azokat a fájlokat, melyek a 1-9 számok összes lehetséges permutációját tartalmazzák.

### perm

    private static java.util.List<java.lang.String> perm(java.util.List<java.lang.Integer> elements)

  Előállítja a listában megadott elemek összes lehetséges permutációjának Sztring reprezentációját.

  Returns:
    a permutációk listája

### isCorrect

    private static boolean isCorrect(int[][] state)

  A TableFactory isCorrect metódusa a sorok, oszlopok és blokkok átviszgálásával dönti el egy tábláról, hogy az helyes sudoku állapot-e

  Returns:
    true, ha a tábla helyes, false egyébként.

### isComplete

    private static boolean isComplete(int[][] state)

  Megmondja egy adott Sudoku állapotról, hogy teljesen és helyesen van-e kitölteve.

  Parameters:
    `state` - A vizsgálni kívánt állapot.
  Returns:
    true, ha az állapot teljesen és helyesen van kitöltve, egyébként false.

### writeTableToFile

    private static void writeTableToFile(int[][] table,
                                         java.lang.String fileName)

  A paraméterben megadott táblát a megadott nevű fájlba íjra.

  Parameters:
    `table` - a kiírandó tábla.
    `fileName` - a fájl neve.

### getNewTable

    public static SudokuTable getNewTable(int level)

  Eredménye egy SudokuTable objektum, mely tartlamazza a teljesen és helyesen kitöltött táblát, valamint egy olyan hiányos táblát, mely a paraméterben kapott szintnek megfelelő mennyíségű számot tartalmaz és egyetlen megoldása van. A teljesen kitöltött táblát és a hozzá tartozó sablont fájlból olvassa be.

  Parameters:
    `level` - A tábla nehézségi szintje
  Returns:
    A sudoku tábla.

### generateNewTable

    public static SudokuTable generateNewTable(int level)

  Eredménye egy SudokuTable objektum, mely tartlamazza a teljesen és helyesen kitöltött táblát, valamint egy olyan hiányos táblát, mely a paraméterben kapott szintnek megfelelő mennyíségű számot tartalmaz és egyetlen megoldása van. A teljesen kitöltött táblát és a hozzá tartozó sablont generálja.

  Parameters:
    `level` - A tábla nehézségi szintje
  Returns:
    A sudoku tábla.

### transform

    private static void transform(int[][] fullState,
                                  int[][] state)

  A getNewTable segédeljárása, mely a megadott táblán és sablonon különböző traszformációkat hajt végre.

  Parameters:
    `fullState` - A feldolgozandó kitöltött állapot.
    `state` - A feldolgozandó állapot.

### rotate

    private static void rotate(int[][] fullState,
                               int[][] state,
                               int count)

  Elforgatja a teljesen és részlegesen kitöltött állapotokat 90 fokkal a megadott számszor.

  Parameters:
    `fullState` - Az teljes állapot
    `state` - Az állapot
    `count` - A forgatás száma.

### replaceNumbers

    private static void replaceNumbers(int[][] fullState,
                                       int[][] state)

  Két tetszőleges szám összes előfordulását kicseréli egymással mindkét állapotban.

  Parameters:
    `fullState` - Az teljes állapot
    `state` - Az állapot

### transpose

    private static void transpose(int[][] fullState,
                                  int[][] state)

  Traszponálja a táblákat.

  Parameters:
    `fullState` - Az teljes állapot
    `state` - Az állapot

### mirror

    private static void mirror(int[][] fullState,
                               int[][] state,
                               int direction)

  A megadott paraméter alapján vertikálisan vagy horizontálisan tükrözi a táblákat.

  Parameters:
    `fullState` - Az teljes állapot
    `state` - Az állapot
    `direction` -

### loadFullTableFrom

    private static int[][] loadFullTableFrom(int number,
                                             java.lang.String fileName)

  A megadott sorszámú táblát kiolvassa a megadott fájlból.

  Parameters:
    `number` - A tábla sorszáma
    `fileName` - A táblákat tartalmazó fájl neve
  Returns:
    A teljesen kitöltött tábla tömbje

### loadTemplateFrom

    private static int[][] loadTemplateFrom(int number,
                                            java.lang.String fileName)

  A megadott sorszámú sablont kiolvassa a megadott fájlból.

  Parameters:
    `number` - A sablon sorszáma
    `fileName` - A sablonokat tartalmazó fájl neve
  Returns:
    A sablon

### createTemplatesFor

    public static void createTemplatesFor(java.lang.String fileName,
                                          int count)

  A megadott fáljban található össszes teljesen kitöltött táblához létrehoz egy olyan fájt, mely a megadott számú sablont tartalmazza. A sablonok a hozzá tartozó táblák olyan részhalmazát metszi ki, mely egyedi megoldással rendelkezik.

  Parameters:
    `fileName` - A táblákat tartalmazó fájl neve.
    `count` - A táblánként előállítandó sablonok darabszáma.

### getTemplateOf

    private static int[][] getTemplateOf(int[][] table)

  Létrehoz a megadott táblához egy olyan sablont, mellyel kombinálva egyedi megoldással rendelkező kezőállás jön létre.

  Parameters:
    `table` - A teljesen kitöltött tábla.
  Returns:
    A táblához tartozó megfelelő sablon.

### getTemplateOf2

    private static int[][] getTemplateOf2(int[][] table)

  Létrehoz a megadott táblához egy olyan sablont, mellyel kombinálva egyedi megoldással rendelkező kezőállás jön létre. Apróbálozások száma adott.

  Parameters:
    `table` - A teljesen kitöltött tábla.
  Returns:
    A táblához tartozó megfelelő sablon, ha a keresőnem haladta meg a próbálkozások felső korlátját, null egyébként.

### getTemplate

    private static int[][] getTemplate(int valueCount)

  Létrehoz egy sablont a megadott darabszámú értékkel. A sablon egy 0-1 értékeket tartalmazó, a táblával megegyező méretű, kétdimenziós tömb.

  Parameters:
    `valueCount` - A nem nulla értékeinek darabszáma.
  Returns:
    Az előállított sablon.

### hasUniqueSolution

    private static boolean hasUniqueSolution(int[][] state,
                                             int[][] fullState)

  A megadott állapotról eldönti, hogy a megadott teljesen kitöltött tábla az egyetlen megoldása-e.

  Parameters:
    `state` - A vizsgálandó kezdőállapot.
    `fullState` - A kezdőállapot egy megoldása.
  Returns:
    true, ha az állapotnak csak egy megoldása van, false egyébként.

### hasUniqueSolution

    private static boolean hasUniqueSolution(int[][] state)

  A megadott állapotról eldönti, hogy egyedi megoldással rendelkezik-e.

  Parameters:
    `state` - A vizsgálandó állapot.
  Returns:
    true, ha az állapotnak csak egy megoldása van, false egyébként.

### getCopyOf

    private static int[][] getCopyOf(int[][] state)

  Előállítja a paraméterben kapott állapot pontos másolatát.

  Parameters:
    `state` - A másolandó állapot.
  Returns:
    Az állapot másolata.

### getSolutionOf

    private static Node getSolutionOf(Node node)

  Meghatározza a megadott állapot egy lehetséges megoldását.

  Parameters:
    `node` - A megoldandó Sudoku állapot csomópontja.
  Returns:
    Az állapot megoldása, azaz egy teljesen és helyesen kitöltött állapot.

### findBestPositionOf

    static Cell findBestPositionOf(int[][] state)

  A getSolutionOf metódus segédfüggvénye, mely meghatározza a paraméterben kapott állapot azon celláját, melynek sora és oszlopa a legtöbb értéket tartalmazza.

  Parameters:
    `state` - A feldolgozandó állapot.
  Returns:
    A legkedvezőbb cella.

Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD