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