@haelp/teto
Version:
A typescript-based controllable TETR.IO client.
77 lines • 2.24 kB
TypeScript
import { type BoardSquare } from "../../board";
import { Mino } from "../../queue/types";
import { type KickTable } from "../kicks";
import type { Rotation } from "./types";
export interface TetrominoInitializeParams {
symbol: Mino;
initialRotation: Rotation;
boardHeight: number;
boardWidth: number;
from?: Tetromino | TetrominoSnapshot;
}
export interface TetrominoSnapshot {
symbol: Mino;
location: [number, number];
locking: number;
lockResets: number;
rotResets: number;
safeLock: number;
highestY: number;
rotation: Rotation;
fallingRotations: number;
totalRotations: number;
irs: number;
ihs: boolean;
aox: number;
aoy: number;
keys: number;
}
export declare class Tetromino {
#private;
symbol: Mino;
states: [number, number][][];
location: [number, number];
locking: number;
lockResets: number;
rotResets: number;
safeLock: number;
highestY: number;
fallingRotations: number;
totalRotations: number;
irs: number;
ihs: boolean;
aox: number;
aoy: number;
keys: number;
constructor(options: TetrominoInitializeParams);
get blocks(): [number, number][];
get absoluteBlocks(): [number, number][];
absoluteAt({ x, y, rotation }: {
x?: number;
y?: number;
rotation?: number;
}): [number, number][];
get rotation(): Rotation;
set rotation(value: number);
get x(): number;
set x(value: number);
get y(): number;
set y(value: number);
isStupidSpinPosition(board: BoardSquare[][]): boolean;
isAllSpinPosition(board: BoardSquare[][]): boolean;
rotate(board: BoardSquare[][], kickTable: KickTable, amt: Rotation, maxMovement: boolean): boolean | {
kick: [number, number];
newLocation: [number, number];
id: string;
index: number;
};
moveRight(board: BoardSquare[][]): boolean;
moveLeft(board: BoardSquare[][]): boolean;
dasRight(board: BoardSquare[][]): boolean;
dasLeft(board: BoardSquare[][]): boolean;
softDrop(board: BoardSquare[][]): boolean;
snapshot(): TetrominoSnapshot;
}
export * from "./data";
export * from "./types";
//# sourceMappingURL=index.d.ts.map