Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | 1x 1x 1x 1x 1x 1x 265213x 265213x 265213x 1x 1x 175883x 175883x 1x 1x 150308x 150308x 1x 1x 9687x 9687x 1x 1x 7417x 7417x 1x 1x 6190x 6190x 1x 1x 6367x 6367x 1x | // first position is (1,1) export class Position { private readonly row: number; private readonly col: number; public constructor(row: number, col: number) { this.row = row; this.col = col; } public getCol(): number { return this.col; } public getRow(): number { return this.row; } public isAfter(p: Position): boolean { return this.row > p.row || (this.row === p.row && this.col >= p.col); } public equals(p: Position): boolean { return this.row === p.getRow() && this.col === p.getCol(); } public isBefore(p: Position): boolean { return this.row < p.row || (this.row === p.row && this.col < p.col); } public isBetween(p1: Position, p2: Position): boolean { return this.isAfter(p1) && this.isBefore(p2); } } |