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 266555x 266555x 266555x 1x 1x 176352x 176352x 1x 1x 151058x 151058x 1x 1x 9707x 9707x 1x 1x 7423x 7423x 1x 1x 6208x 6208x 1x 1x 6385x 6385x 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); } } |