Package models

Source Code of models.SudokuModelo

package models;

import boardGenerator.GameDifficultyLevel;
import boardGenerator.Solutions;
import boardGenerator.SudokuGenerator1;
import boardGenerator.SudokuGenerator2;

/**
* Clase SudokuModelo
* Implementa el modelo de juego sudoku
* segun generador de tableros
*/
public class SudokuModelo {
    public static final int Model1 = 1;
    public static final int Model2 = 2;   
    private int[][] board;
    private int[][] solution;
    private int numberCount;
   
    /**
     * Contrusctor de la clase Segun modelo y dificultad
     * @param Model 1 or 2
     * @param diff
     */
    public SudokuModelo(int Model,GameDifficultyLevel diff){
        if(Model==Model1){Model1(diff);}
        if(Model==Model2){Model2(diff);}       
    }
   
    /**
     * Modelo1: Crea tableros sudoku segun el generador 1
     * @param diff
     */
    private void Model1(GameDifficultyLevel diff){
        SudokuGenerator1 uno = new SudokuGenerator1();       
        uno.generateProblemGrid(diff);       
        board = uno.getBoard();       
        Solutions.generateSolution(board);       
        solution = uno.getSolution();
        numberCount = uno.getNumberCount();
    }
   
    /**
     * Modelo2: Crea tableros sudoku segun generador 2
     * @param diff
     */
    private void Model2(GameDifficultyLevel diff){
        SudokuGenerator2 dos = new SudokuGenerator2(diff);
        board = dos.getBoard();
        solution = dos.getSolution();
        numberCount = dos.getNumberCount();
    }
   
    /**
     * Obtiene el tablero generado (una copia)
     * @return
     */
    public int[][] getBoard(){
        int[][] res = new int[9][9];
            for (int i = 0; i < 9; i++) {
                for (int j = 0; j < 9; j++) {
                    res[i][j] = board[i][j];
                }
            }
        return res;
    }
   
    /**
     * Obtiene el tablero Solucion (una copia)
     * @return
     */
    public int[][] getSolution(){
        int[][] res = new int[9][9];
            for (int i = 0; i < 9; i++) {
                for (int j = 0; j < 9; j++) {
                    res[i][j] = solution[i][j];
                }
            }
        return res;
    }
   
    /**
     * Obtiene la cantidad de numeros en el tablero
     * @return
     */
    public int getNumberCount(){
        return this.numberCount;
    }
}
TOP

Related Classes of models.SudokuModelo

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.