Gather data
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user