Files
pichunt/shared/utils/bingo.ts
T

32 lines
604 B
TypeScript

const possibleCombos = [
// horizontal
[0, 1, 2],
[3, 4, 5],
[6, 7, 8],
// vertical
[0, 3, 6],
[1, 4, 7],
[2, 5, 8],
// diagonal
[0, 4, 8],
[2, 4, 6]
];
export function bingoDone(fields: boolean[]) {
// TODO: Support different sizes
if (fields.length < 9) {
return false;
}
return possibleCombos.some((combo) => combo.every((ci) => fields[ci]));
}
export function findBingo(fields: boolean[]) {
// TODO: Support different sizes
if (fields.length < 9) {
return 0;
}
return possibleCombos.filter((combo) => combo.every((ci) => !!fields[ci]))
.length;
}