diff --git a/src/main/java/puzzle/Export.java b/src/main/java/puzzle/Export.java index 7a2529d..a0a2d79 100644 --- a/src/main/java/puzzle/Export.java +++ b/src/main/java/puzzle/Export.java @@ -275,13 +275,6 @@ public record Export() { if (letter == 0) return; letterAt.put(idx, (char) (64 | letter)); }); - /* for (var p : placed) { - for (var c : p.cells) { - if (clues.notClue(c) && g.lisLetterAt(c)) { - letterAt.put(c, (char) (64 | g.letter32At(c))); - } - } - }*/ // 4) render gridv2 over cropped bounds (out-of-bounds become '#') var gridv2 = new String[Math.max(0, maxR - minR + 1)]; diff --git a/src/main/java/puzzle/SwedishGenerator.java b/src/main/java/puzzle/SwedishGenerator.java index f298a5c..0d93b45 100644 --- a/src/main/java/puzzle/SwedishGenerator.java +++ b/src/main/java/puzzle/SwedishGenerator.java @@ -287,12 +287,6 @@ public record SwedishGenerator(Rng rng, int[] stack, Clues cache) { final byte[] g; public long lo, hi; static int offset(int r, int c) { return r | (c << 3); } - /// the pos will never target a clue - void setLetterLo(int idx, byte ch) { - lo |= (1L << idx); - - g[idx] = ch; - } } static record DictEntry(long[] words, long[][] posBitsets, int length, int numlong) { } diff --git a/src/test/java/puzzle/MainTest.java b/src/test/java/puzzle/MainTest.java index 531d0c7..9f53718 100644 --- a/src/test/java/puzzle/MainTest.java +++ b/src/test/java/puzzle/MainTest.java @@ -122,10 +122,10 @@ public class MainTest { @Test public void testCluesDeepCopy() { var grid = Clues.createEmpty(); - grid.setClue(Grid.offset(0, 0), (byte) 1); - grid.setClue(Grid.offset(0, 1), (byte) 2); - grid.setClue(Grid.offset(1, 0), (byte) 3); - grid.setClue(Grid.offset(1, 1), (byte) 0); + grid.setClue(OFF_0_0, (byte) 1); + grid.setClue(OFF_0_1, (byte) 2); + grid.setClue(OFF_1_0, (byte) 3); + grid.setClue(OFF_1_1, (byte) 0); var copy = grid.deepCopyGrid(); Assertions.assertEquals((byte) 1, copy.digitAt(0)); diff --git a/src/test/java/puzzle/SwedishGeneratorTest.java b/src/test/java/puzzle/SwedishGeneratorTest.java index c3cb4dd..d721e13 100644 --- a/src/test/java/puzzle/SwedishGeneratorTest.java +++ b/src/test/java/puzzle/SwedishGeneratorTest.java @@ -100,11 +100,11 @@ public class SwedishGeneratorTest { @Test void testPatternForSlotMixed() { var grid = createEmpty(); - grid.setLetterLo(OFF_0_0, LETTER_A); - grid.setLetterLo(OFF_2_0, LETTER_C); + placeWord(grid, Slot.packSlotKey(0, CLUE_RIGHT), 1L << OFF_0_0, 0, Lemma.from(0, "A")); + placeWord(grid, Slot.packSlotKey(0, CLUE_RIGHT), 1L << OFF_2_0, 0, Lemma.from(0, "C")); var key = Slot.packSlotKey(OFF_1_0, CLUE_RIGHT); var pattern = patternForSlot(grid, key, 7L, 0L); - assertEquals(1L | (0L) | (55L << 16), pattern); + assertEquals(1L | (55L << 16), pattern); } @Test @@ -118,7 +118,7 @@ public class SwedishGeneratorTest { @Test void testPatternForSlotSingleLetter() { var grid = createEmpty(); - grid.setLetterLo(OFF_0_0, LETTER_A); + placeWord(grid, Slot.packSlotKey(0, CLUE_RIGHT), 1L << OFF_0_0, 0, Lemma.from(0, "A")); var key = Slot.packSlotKey(1, CLUE_RIGHT); var pattern = patternForSlot(grid, key, 7L, 0L); assertEquals(1L, pattern); @@ -144,7 +144,7 @@ public class SwedishGeneratorTest { @Test void testGrid() { var grid = new Gridded(createEmpty()); - grid.grid().setLetterLo(OFF_0_0, LETTER_A); + placeWord(grid.grid(), Slot.packSlotKey(0, CLUE_RIGHT), 1L << OFF_0_0, 0, Lemma.from(0, "A")); val arr = grid.stream(Clues.createEmpty()).collect(Collectors.toMap(LetterAt::index, LetterAt::letter)); assertEquals(1, arr.size()); assertEquals(LETTER_A, arr.get(OFF_0_0)); @@ -310,7 +310,7 @@ public class SwedishGeneratorTest { // 4. Partial placement then conflict (rollback) grid = new Gridded(createEmpty()); - grid.grid().setLetterLo(OFF_0_2, LETTER_X); // Conflict at the end + placeWord(grid.grid(), Slot.packSlotKey(0, CLUE_RIGHT), 1L << OFF_0_2, 0, Lemma.from(0, "X")); // Conflict at the end assertFalse(placeWord(grid.grid(), key, lo, hi, w1)); map = grid.stream(Clues.createEmpty()).collect(Collectors.toMap(LetterAt::index, LetterAt::letter)); assertEquals(1, map.size());