Class Sudoku

java.lang.Object
  extended by Sudoku

public class Sudoku
extends Object

Pasatiempos: SUDOKU. Lógica del juego.
http://es.wikipedia.org/wiki/Sudoku.

Version:
24.10.2010
Author:
José A. Mañas.

Constructor Summary
Sudoku(int[][] juego)
          Constructor.
 
Method Summary
 boolean[] getTolerables(int f, int c)
          Calcula los valores que pueden ponerse en una cierta posición.
 int getValor(int x, int y)
          Getter.
 boolean isColumnaTolerable(int c)
          Chequea si una columna no contiene contradicciones.
 boolean isCuadradoTolerable(int f, int c)
          Chequea si un subcuadrado 3x3 no contiene contradicciones.
 boolean isFilaTolerable(int f)
          Chequea si una fila no contiene contradicciones.
 boolean isTolerable()
          Chequea si el tablero no contiene contradicciones.
 boolean setValor(int x, int y, int nuevo)
          Setter.
 String toString()
          Imprime el tablero.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

Sudoku

public Sudoku(int[][] juego)
Constructor. Construye un tablero a partir de los datos de la entrada.

Parameters:
juego - valores iniciales
Method Detail

getTolerables

public boolean[] getTolerables(int f,
                               int c)
Calcula los valores que pueden ponerse en una cierta posición. Devuelve un array de 10 valores lógicos:

Parameters:
f - fila que nos interesa.
c - columna que nos interesa.
Returns:
un array de 10 booleans.

getValor

public int getValor(int x,
                    int y)
Getter. Valor en una celda.

Parameters:
x - posición X de la celda.
y - posición Y de la celda.
Returns:
dígito en la celda x, y.

isColumnaTolerable

public boolean isColumnaTolerable(int c)
Chequea si una columna no contiene contradicciones.

Parameters:
c - columna a chequear.
Returns:
TRUE si la columna es tolerable.

isCuadradoTolerable

public boolean isCuadradoTolerable(int f,
                                   int c)
Chequea si un subcuadrado 3x3 no contiene contradicciones.

Parameters:
f - fila superior del subcuadrado.
c - columna izquierda del subcuadrado.
Returns:
TRUE si el subcuadrado es tolerable.

isFilaTolerable

public boolean isFilaTolerable(int f)
Chequea si una fila no contiene contradicciones.

Parameters:
f - fila a chequear.
Returns:
TRUE si la fila es tolerable.

isTolerable

public boolean isTolerable()
Chequea si el tablero no contiene contradicciones. El tablero es tolerable si y sólo si:

Returns:
TRUE si el tablero es tolerable.

setValor

public boolean setValor(int x,
                        int y,
                        int nuevo)
Setter. Pone un valor en una celda.

Parameters:
x - posición X de la celda.
y - posición Y de la celda.
nuevo - valor a poner.
Returns:
true si todo va bien; false si algún argumento es imposible.

toString

public String toString()
Imprime el tablero.

Overrides:
toString in class Object
Returns:
cadena que representa el tablero.