This commit is contained in:
mike
2026-01-23 20:36:57 +01:00
parent 73192f5905
commit 7e34276726
11 changed files with 167 additions and 32 deletions

View File

@@ -21,8 +21,6 @@ import static precomp.Const9x8.CLUE_LEFT_TOP4;
import static precomp.Const9x8.CLUE_RIGHT1;
import static precomp.Const9x8.CLUE_RIGHT_TOP5;
import static precomp.Const9x8.CLUE_UP2;
import static puzzle.Riddle.Clue.DOWN0;
import static puzzle.Riddle.Clue.RIGHT1;
import static puzzle.Clues.createEmpty;
import static puzzle.Masker.Slot;
import static puzzle.SwedishGenerator.X;

View File

@@ -13,9 +13,12 @@ import puzzle.Riddle.ExportedPuzzle;
import puzzle.Riddle.Rewards;
import puzzle.Riddle.WordOut;
import puzzle.SwedishGenerator.Rng;
import static puzzle.Export.*;
import static puzzle.SwedishGenerator.*;
import static puzzle.Export.Puzzle;
import static puzzle.Export.PuzzleResult;
import static puzzle.Export.Signa;
import static puzzle.SwedishGenerator.Dict;
import static puzzle.SwedishGenerator.Slotinfo;
import static puzzle.SwedishGenerator.fillMask;
@DictGen(
packageName = "puzzle.dict800",
className = "DictData800",

View File

@@ -5,9 +5,17 @@ import anno.GenerateShapedCopies;
import anno.Shaped;
import lombok.val;
import precomp.Neighbors9x8;
import static java.lang.Long.*;
import static puzzle.SwedishGenerator.*;
import static java.lang.Long.bitCount;
import static java.lang.Long.lowestOneBit;
import static java.lang.Long.numberOfLeadingZeros;
import static java.lang.Long.numberOfTrailingZeros;
import static puzzle.SwedishGenerator.Dict;
import static puzzle.SwedishGenerator.DictEntry;
import static puzzle.SwedishGenerator.Grid;
import static puzzle.SwedishGenerator.MAX_TRIES_PER_SLOT;
import static puzzle.SwedishGenerator.Rng;
import static puzzle.SwedishGenerator.Slotinfo;
import static puzzle.SwedishGenerator.X;
@GenerateShapedCopies(
packageName = "puzzle",
className = "Masker",

View File

@@ -11,7 +11,6 @@ import java.nio.channels.FileChannel;
import java.nio.charset.StandardCharsets;
import java.nio.file.Path;
import java.nio.file.StandardOpenOption;
import java.util.Arrays;
@UtilityClass
public class Meta {

View File

@@ -11,7 +11,6 @@ import puzzle.SwedishGenerator.Dict;
import puzzle.SwedishGenerator.DictEntry;
import puzzle.SwedishGenerator.Lemma;
import puzzle.dict950.DictData950;
import static java.nio.charset.StandardCharsets.US_ASCII;
public final class DictJavaGeneratorMulti {

View File

@@ -1,6 +1,5 @@
package puzzle;
import module java.base;
import puzzle.SwedishGenerator.Grid;
import puzzle.SwedishGenerator.Lemma;
import puzzle.SwedishGenerator.Slotinfo;

View File

@@ -5,23 +5,72 @@ import anno.DictGen;
import lombok.val;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
import puzzle.Export.Signa;
import puzzle.Export.Puzzle;
import puzzle.Export.Lettrix;
import puzzle.Export.Puzzle;
import puzzle.Export.PuzzleResult;
import puzzle.Riddle.Rewards;
import puzzle.Export.Signa;
import puzzle.Main.Opts;
import puzzle.Riddle.Rewards;
import puzzle.SwedishGenerator.Rng;
import puzzle.dict950.DictData950;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertTrue;
import static precomp.Const9x8.*;
import static precomp.Const9x8.Cell.*;
import static puzzle.Riddle.Clue.*;
import static precomp.Const9x8.Cell.r0c0d0;
import static precomp.Const9x8.Cell.r0c0d1;
import static precomp.Const9x8.Cell.r0c1;
import static precomp.Const9x8.Cell.r0c1d2;
import static precomp.Const9x8.Cell.r0c3d0;
import static precomp.Const9x8.Cell.r0c3d3;
import static precomp.Const9x8.Cell.r0c4d0;
import static precomp.Const9x8.Cell.r0c5d0;
import static precomp.Const9x8.Cell.r0c6d0;
import static precomp.Const9x8.Cell.r0c6d3;
import static precomp.Const9x8.Cell.r0c7d0;
import static precomp.Const9x8.Cell.r0c8d0;
import static precomp.Const9x8.Cell.r1c0d1;
import static precomp.Const9x8.Cell.r1c0d3;
import static precomp.Const9x8.Cell.r1c1;
import static precomp.Const9x8.Cell.r1c1d0;
import static precomp.Const9x8.Cell.r1c1d1;
import static precomp.Const9x8.Cell.r1c1d3;
import static precomp.Const9x8.Cell.r2c0d1;
import static precomp.Const9x8.Cell.r2c1d1;
import static precomp.Const9x8.Cell.r2c1d2;
import static precomp.Const9x8.Cell.r3c0d3;
import static precomp.Const9x8.Cell.r3c3d3;
import static precomp.Const9x8.Cell.r3c6d0;
import static precomp.Const9x8.Cell.r4c0d3;
import static precomp.Const9x8.Cell.r4c2d3;
import static precomp.Const9x8.Cell.r4c3d0;
import static precomp.Const9x8.Cell.r4c3d1;
import static precomp.Const9x8.Cell.r4c6d3;
import static precomp.Const9x8.Cell.r5c0d3;
import static precomp.Const9x8.Cell.r5c1d1;
import static precomp.Const9x8.Cell.r6c0d3;
import static precomp.Const9x8.Cell.r6c1d1;
import static precomp.Const9x8.Cell.r6c8d2;
import static precomp.Const9x8.Cell.r7c0d2;
import static precomp.Const9x8.Cell.r7c1d1;
import static precomp.Const9x8.Cell.r7c1d2;
import static precomp.Const9x8.Cell.r7c2d2;
import static precomp.Const9x8.Cell.r7c4d2;
import static precomp.Const9x8.Cell.r7c5d2;
import static precomp.Const9x8.Cell.r7c8d3;
import static precomp.Const9x8.LETTER_A;
import static precomp.Const9x8.LETTER_Z;
import static precomp.Const9x8.OFF_0_0;
import static precomp.Const9x8.OFF_0_1;
import static precomp.Const9x8.OFF_0_2;
import static precomp.Const9x8.OFF_1_1;
import static precomp.Const9x8.OFF_1_2;
import static precomp.Const9x8.OFF_2_1;
import static precomp.Const9x8.OFF_2_3;
import static puzzle.LemmaData.AB;
import static puzzle.LemmaData.AZ;
import static puzzle.Riddle.Clue.DOWN0;
import static puzzle.Riddle.Clue.RIGHT1;
import static puzzle.Riddle.Clue.UP2;
import static puzzle.SwedishGenerator.Lemma;
import static puzzle.SwedishGenerator.Slotinfo;
import static puzzle.SwedishGenerator.fillMask;

View File

@@ -2,9 +2,9 @@ package puzzle;
import lombok.val;
import org.junit.jupiter.api.Test;
import puzzle.Export.Signa;
import puzzle.Export.Puzzle;
import puzzle.Export.PuzzleResult;
import puzzle.Export.Signa;
import puzzle.Riddle.Rewards;
import puzzle.SwedishGenerator.Assign;
import puzzle.SwedishGenerator.FillResult;
@@ -16,8 +16,31 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertNotNull;
import static org.junit.jupiter.api.Assertions.assertTrue;
import static precomp.Const9x8.*;
import static precomp.Const9x8.Cell.*;
import static precomp.Const9x8.Cell.r0c0d0;
import static precomp.Const9x8.Cell.r0c0d1;
import static precomp.Const9x8.Cell.r0c0d4;
import static precomp.Const9x8.Cell.r0c1d5;
import static precomp.Const9x8.Cell.r0c2d1;
import static precomp.Const9x8.Cell.r0c2d5;
import static precomp.Const9x8.Cell.r0c3d1;
import static precomp.Const9x8.Cell.r0c5d3;
import static precomp.Const9x8.Cell.r0c7d1;
import static precomp.Const9x8.Cell.r0c8d1;
import static precomp.Const9x8.Cell.r1c1d1;
import static precomp.Const9x8.Cell.r1c2d4;
import static precomp.Const9x8.Cell.r2c0d1;
import static precomp.Const9x8.Cell.r2c1d0;
import static precomp.Const9x8.Cell.r2c1d1;
import static precomp.Const9x8.Cell.r2c2d2;
import static precomp.Const9x8.Cell.r3c1d1;
import static precomp.Const9x8.Cell.r7c7d1;
import static precomp.Const9x8.OFF_0_0;
import static precomp.Const9x8.OFF_0_1;
import static precomp.Const9x8.OFF_0_2;
import static precomp.Const9x8.OFF_0_3;
import static precomp.Const9x8.OFF_0_4;
import static precomp.Const9x8.OFF_1_0;
import static precomp.Const9x8.OFF_1_1;
import static puzzle.GridBuilder.placeWord;
import static puzzle.LemmaData.TEST;
import static puzzle.Masker.C;

View File

@@ -5,13 +5,31 @@ import anno.DictGen;
import anno.Dictionaries;
import lombok.val;
import org.junit.jupiter.api.Test;
import puzzle.Export.Signa;
import puzzle.Export.Puzzle;
import puzzle.Export.Signa;
import puzzle.SwedishGenerator.Rng;
import puzzle.SwedishGenerator.Slotinfo;
import static org.junit.jupiter.api.Assertions.assertTrue;
import static precomp.Const9x8.Cell.*;
import static precomp.Const9x8.Cell.r0c0d1;
import static precomp.Const9x8.Cell.r0c5d0;
import static precomp.Const9x8.Cell.r0c6d0;
import static precomp.Const9x8.Cell.r0c7d0;
import static precomp.Const9x8.Cell.r0c8d0;
import static precomp.Const9x8.Cell.r1c0d1;
import static precomp.Const9x8.Cell.r2c0d0;
import static precomp.Const9x8.Cell.r2c1d0;
import static precomp.Const9x8.Cell.r2c3d0;
import static precomp.Const9x8.Cell.r2c4d1;
import static precomp.Const9x8.Cell.r3c4d1;
import static precomp.Const9x8.Cell.r4c4d1;
import static precomp.Const9x8.Cell.r5c2d2;
import static precomp.Const9x8.Cell.r5c4d1;
import static precomp.Const9x8.Cell.r6c2d1;
import static precomp.Const9x8.Cell.r7c0d2;
import static precomp.Const9x8.Cell.r7c1d2;
import static precomp.Const9x8.Cell.r7c2d1;
import static precomp.Const9x8.Cell.r7c7d2;
import static precomp.Const9x8.Cell.r7c8d2;
import static puzzle.SwedishGenerator.fillMask;
import static puzzle.dict800.DictData800.DICT800;
import static puzzle.dict900.DictData900.DICT900;

View File

@@ -5,7 +5,7 @@ import module java.sql;
public final class ScoreHintsTask {
public static void main(String[] args) throws Exception {
static void main(String[] args) throws Exception {
Class.forName("org.sqlite.JDBC");
try (Connection conn = DriverManager.getConnection("jdbc:sqlite:tools/hint/hint.sqlite")) {
updateCrossScores(conn, ScoreHintsTask::crossabilityScore, 1000);

View File

@@ -9,14 +9,46 @@ import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
import precomp.Neighbors9x8;
import puzzle.DictJavaGeneratorMulti.DictEntryDTO.IntListDTO;
import puzzle.Export.Signa;
import puzzle.Export.Puzzle;
import puzzle.Export.Lettrix;
import puzzle.Export.Puzzle;
import puzzle.Export.Signa;
import puzzle.Masker.Slot;
import static org.junit.jupiter.api.Assertions.*;
import static precomp.Const9x8.*;
import static precomp.Const9x8.Cell.*;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertNotEquals;
import static org.junit.jupiter.api.Assertions.assertNotNull;
import static org.junit.jupiter.api.Assertions.assertNotSame;
import static org.junit.jupiter.api.Assertions.assertTrue;
import static precomp.Const9x8.CLUE_DOWN0;
import static precomp.Const9x8.CLUE_LEFT3;
import static precomp.Const9x8.CLUE_RIGHT1;
import static precomp.Const9x8.CLUE_UP2;
import static precomp.Const9x8.Cell.r0c0;
import static precomp.Const9x8.Cell.r0c0d0;
import static precomp.Const9x8.Cell.r0c0d1;
import static precomp.Const9x8.Cell.r0c0d3;
import static precomp.Const9x8.Cell.r0c1;
import static precomp.Const9x8.Cell.r0c2;
import static precomp.Const9x8.Cell.r0c3;
import static precomp.Const9x8.Cell.r2c0;
import static precomp.Const9x8.Cell.r2c3d0;
import static precomp.Const9x8.Cell.r2c5;
import static precomp.Const9x8.Cell.r3c5;
import static precomp.Const9x8.Cell.r4c5;
import static precomp.Const9x8.LETTER_A;
import static precomp.Const9x8.LETTER_B;
import static precomp.Const9x8.LETTER_C;
import static precomp.Const9x8.LETTER_E;
import static precomp.Const9x8.LETTER_I;
import static precomp.Const9x8.LETTER_N;
import static precomp.Const9x8.LETTER_R;
import static precomp.Const9x8.LETTER_X;
import static precomp.Const9x8.LETTER_Z;
import static precomp.Const9x8.OFF_0_0;
import static precomp.Const9x8.OFF_0_1;
import static precomp.Const9x8.OFF_0_2;
import static precomp.Const9x8.OFF_0_3;
import static precomp.Const9x8.OFF_2_3;
import static puzzle.LemmaData.ABC;
import static puzzle.LemmaData.ABD;
import static puzzle.LemmaData.APPLE;
@@ -39,7 +71,14 @@ import static puzzle.LemmaData.INERENAE;
import static puzzle.LemmaData.WORD_A;
import static puzzle.LemmaData.WORD_C;
import static puzzle.LemmaData.WORD_X;
import static puzzle.SwedishGenerator.*;
import static puzzle.SwedishGenerator.Grid;
import static puzzle.SwedishGenerator.Lemma;
import static puzzle.SwedishGenerator.Rng;
import static puzzle.SwedishGenerator.Slotinfo;
import static puzzle.SwedishGenerator.X;
import static puzzle.SwedishGenerator.candidateCountForPattern;
import static puzzle.SwedishGenerator.candidateInfoForPattern;
import static puzzle.SwedishGenerator.patternForSlot;
@GenerateNeighbors(@GenerateNeighbor(C = 4, R = 3, packageName = "precomp", className = "Neighbors4x3", MIN_LEN = 2))
@LemmaGen(
packageName = "puzzle",