From f328c171f665af1b8355e52edb15d52bdc4fa43b Mon Sep 17 00:00:00 2001 From: mike Date: Fri, 9 Jan 2026 01:17:36 +0100 Subject: [PATCH] Gather data --- src/main/java/puzzle/SwedishGenerator.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/main/java/puzzle/SwedishGenerator.java b/src/main/java/puzzle/SwedishGenerator.java index 53f558f..74efb36 100644 --- a/src/main/java/puzzle/SwedishGenerator.java +++ b/src/main/java/puzzle/SwedishGenerator.java @@ -129,7 +129,9 @@ public record SwedishGenerator(int[] buff) { int digitAt(int r, int c) { return g[offset(r, c)] - 48; } byte byteAt(int r, int c) { return g[offset(r, c)]; } void setCharAt(int r, int c, char ch) { g[offset(r, c)] = (byte) ch; } + void setByteAt(int r, int c, byte ch) { g[offset(r, c)] = ch; } void setCharAt(int idx, char ch) { g[idx] = (byte) ch; } + void setByteAt(int idx, byte ch) { g[idx] = ch; } void clear(int r, int c) { g[offset(r, c)] = 0; } void clear(int idx) { g[idx] = 0; } boolean isLetterAt(int r, int c) { return ((g[offset(r, c)] & 64) != 0); } @@ -565,12 +567,12 @@ public record SwedishGenerator(int[] buff) { for (var r = 0; r < R; r++) for (var c = 0; c < C; c++) { - out.setCharAt(r, c, ((r - CROSS_X) * nx + (c - CROSS_Y) * ny >= 0) ? a.getCharAt(r, c) : b.getCharAt(r, c)); + out.setByteAt(r, c, ((r - CROSS_X) * nx + (c - CROSS_Y) * ny >= 0) ? a.byteAt(r, c) : b.byteAt(r, c)); } for (var r = 0; r < R; r++) for (var c = 0; c < C; c++) { - if (out.isDigitAt(r, c) && !hasRoomForClue(out, r, c, out.getCharAt(r, c))) out.setCharAt(r, c, C_DASH); + if (out.isDigitAt(r, c) && !hasRoomForClue(out, r, c, out.getCharAt(r, c))) out.clear(r, c); } return out; }