tetris-fumen
Version:
Fumen parser for tetris
42 lines (41 loc) • 1.23 kB
TypeScript
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;
}