Returns a new quadrille trimmed to its minimal span of filled cells. Returns undefined if the quadrille has no filled cells.
Example#
(press mouse or press keys to randomize chess pattern)
code
Quadrille.cellLength = 40;
const COLS = 8, ROWS = 8;
let board, pattern, hint;
const r = Quadrille.chessSymbols.get('r');
const k = Quadrille.chessSymbols.get('k');
const N = Quadrille.chessSymbols.get('N');
function setup() {
createCanvas(COLS* Quadrille.cellLength, ROWS * Quadrille.cellLength);
board = createQuadrille();
pattern = createQuadrille(8, 8);
update();
}
function draw() {
background('darkkhaki');
drawQuadrille(board, { tileDisplay: 0 });
drawQuadrille(pattern, { textColor: 'black', tileDisplay: 0 });
drawQuadrille(hint, { tileDisplay: 0 });
}
function keyPressed() {
update();
}
function mousePressed() {
update();
}
function update() {
pattern.clear().rand(1, r).rand(1, k).rand(1, N);
const span = pattern.span;
const trimmed = pattern.trim().fill(1);
hint = Quadrille.or(createQuadrille(8, 8), trimmed, span.row, span.col);
hint.not(color(0, 180));
}Syntax#
trim()