Gather data

This commit is contained in:
mike
2026-01-09 01:17:36 +01:00
parent c5d6a6db80
commit f328c171f6

View File

@@ -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;
}