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