Gather data

This commit is contained in:
mike
2026-01-09 03:41:51 +01:00
parent 5bfea6f116
commit 30678b06d9
6 changed files with 157 additions and 159 deletions

View File

@@ -1,5 +1,6 @@
package puzzle;
import lombok.experimental.Delegate;
import puzzle.Main.PuzzleResult;
import puzzle.SwedishGenerator.Grid;
import java.util.ArrayList;
@@ -24,6 +25,28 @@ import static puzzle.SwedishGenerator.C;
*/
public record ExportFormat() {
record Gridded(@Delegate Grid grid) {
String gridToString() {
var sb = new StringBuilder();
for (var r = 0; r < R; r++) {
if (r > 0) sb.append('\n');
for (var c = 0; c < C; c++) sb.append((char) grid.byteAt(r, c));
}
return sb.toString();
}
public String renderHuman() {
var sb = new StringBuilder();
for (var r = 0; r < R; r++) {
if (r > 0) sb.append('\n');
for (var c = 0; c < C; c++) {
sb.append(grid.isDigitAt(r, c) ? ' ' : (char) grid.byteAt(r, c));
}
}
return sb.toString();
}
}
record Bit(long[] bits) {
public Bit() { this(new long[(SIZE >> 6) + 1]); }
@@ -52,7 +75,7 @@ public record ExportFormat() {
var g = puz.filled().grid();
var placed = new ArrayList<Placed>();
var clueMap = puz.filled().clueMap();
puz.swe().forEachSlot(g, (int key, long packedPos, int len) -> {
puz.swe().forEachSlot(g.grid(), (int key, long packedPos, int len) -> {
var word = clueMap.get(key);
if (word != null) {
var p = extractPlacedFromSlot(Slot.from(key, packedPos, len), word);