diff --git a/app/src/main/java/sudoku/Block.java b/app/src/main/java/sudoku/Block.java index ec12bc4..df287e4 100644 --- a/app/src/main/java/sudoku/Block.java +++ b/app/src/main/java/sudoku/Block.java @@ -23,4 +23,12 @@ public class Block { this.cells.add(newCell); } + public boolean containsSymbol(int symbolIndex) { + for (Cell cell : getCells()) { + if (cell.getSymbolIndex() == symbolIndex) + return true; + } + return false; + } + } diff --git a/app/src/main/java/sudoku/constraint/BlockConstraint.java b/app/src/main/java/sudoku/constraint/BlockConstraint.java index 67556d2..943fc97 100644 --- a/app/src/main/java/sudoku/constraint/BlockConstraint.java +++ b/app/src/main/java/sudoku/constraint/BlockConstraint.java @@ -1,22 +1,14 @@ package sudoku.constraint; import sudoku.Block; -import sudoku.MutableCell; import sudoku.Sudoku; public class BlockConstraint implements IConstraint{ @Override public boolean canBePlaced(final Sudoku s, int x, int y, int newSymbolIndex) { - - /* - boolean result = true; - for (Block block : s.getCell(x, y).getBlockContainers()) { - result = result && (!block.getCells().contains(new MutableCell(newSymbolIndex))); - } - */ - return !s.getBlocks().getCells().contains(new MutableCell(newSymbolIndex)); - + Block bloc = s.getCell(x, y).getBlock(); + return !bloc.containsSymbol(newSymbolIndex); } }