This commit is contained in:
mike
2026-01-24 01:24:49 +01:00
parent 3cc6570cdc
commit b8fc6581e1
3 changed files with 34 additions and 12 deletions

View File

@@ -1,17 +1,21 @@
package precomp;
import puzzle.Masker.Slot;
public sealed interface Mask
permits Const9x8.Cell, Const3x4.Cell, Mask.Masker {
record Masker(long lo, long hi, int index, int r, int c, byte d)
record Masker(long lo, long hi, int index, int r, int c, int place, byte d)
implements precomp.Mask { }
default Mask or(Mask o) { return new Masker(o.lo() | lo(), o.hi() | hi(), 0, 0, 0, (byte) 0); }
default Mask and(Mask o) { return new Masker(o.lo() & lo(), o.hi() & hi(), 0, 0, 0, (byte) 0); }
default Mask or(Mask o) { return new Masker(o.lo() | lo(), o.hi() | hi(), 0, 0, 0, 0, (byte) 0); }
default Mask and(Mask o) { return new Masker(o.lo() & lo(), o.hi() & hi(), 0, 0, 0, 0, (byte) 0); }
long hi();
long lo();
int index();
int r();
int c();
int place();
byte d();
default byte letter() { return (byte) (d() | 64); }
default byte clueChar() { return (byte) (d() | 48); }
}