UNPKG

tetris-fumen

Version:
42 lines (41 loc) 1.23 kB
import { InnerField } from './inner_field'; import { PieceType, RotationType } from './defines'; export interface Operation { type: PieceType; rotation: RotationType; x: number; y: number; } export declare class Field { private readonly field; static create(field?: string, garbage?: string): Field; constructor(field: InnerField); canFill(operation?: Operation | Mino): boolean; canLock(operation?: Operation | Mino): boolean; fill(operation?: Operation | Mino, force?: boolean): Mino | undefined; put(operation?: Operation | Mino): Mino | undefined; clearLine(): void; at(x: number, y: number): PieceType; set(x: number, y: number, type: PieceType | string): void; copy(): Field; str(option?: { reduced?: boolean; separator?: string; garbage?: boolean; }): string; } export declare class Mino { type: PieceType; rotation: RotationType; x: number; y: number; static from(operation: Operation): Mino; constructor(type: PieceType, rotation: RotationType, x: number, y: number); positions(): { x: number; y: number; }[]; operation(): Operation; isValid(): boolean; copy(): Mino; }