package sudoku.io; import sudoku.structure.MultiDoku; import sudoku.structure.Sudoku; public class SudokuPrinter { public static void printRectangleSudoku(final Sudoku s, int blockWidth, int blockHeight) { for (int y = 0; y < s.getSize(); y++) { if (y % blockHeight == 0 && y > 0) { System.out.println(); } StringBuilder line = new StringBuilder("[ "); for (int x = 0; x < s.getSize(); x++) { line.append((s.getCell(x, y).getSymbolIndex() + 1)).append(" "); if (x % blockWidth == blockWidth - 1 && x != blockWidth * blockHeight - 1) { line.append("| "); } } line.append("]"); System.out.println(line); } } public static String toStringRectangleSudoku(final Sudoku s, int blockWidth, int blockHeight) { StringBuilder result = new StringBuilder(); for (int y = 0; y < s.getSize(); y++) { // Ajouter une ligne vide entre les blocs horizontaux if (y % blockHeight == 0 && y > 0) { result.append("\n"); } StringBuilder line = new StringBuilder("[ "); for (int x = 0; x < s.getSize(); x++) { // Ajouter la valeur de la cellule line.append((s.getCell(x, y).getSymbolIndex() + 1)).append(" "); // Ajouter un séparateur vertical entre les blocs if (x % blockWidth == blockWidth - 1 && x != s.getSize() - 1) { line.append("| "); } } line.append("]"); result.append(line).append("\n"); } return result.toString(); } public static void printMultiDoku(final MultiDoku doku, int blockWidth, int blockHeight){ // TODO } }