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; }
|
int digitAt(int r, int c) { return g[offset(r, c)] - 48; }
|
||||||
byte byteAt(int r, int c) { return g[offset(r, c)]; }
|
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 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 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 r, int c) { g[offset(r, c)] = 0; }
|
||||||
void clear(int idx) { g[idx] = 0; }
|
void clear(int idx) { g[idx] = 0; }
|
||||||
boolean isLetterAt(int r, int c) { return ((g[offset(r, c)] & 64) != 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 r = 0; r < R; r++)
|
||||||
for (var c = 0; c < C; c++) {
|
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 r = 0; r < R; r++)
|
||||||
for (var c = 0; c < C; c++) {
|
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;
|
return out;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user