react-tetris2
Version:
Classic Tetris game as a reusable React 18+ component, fully typed with TypeScript and controllable via ref.
24 lines • 1.46 kB
TypeScript
import { Piece, Rotation } from './Piece';
export { Piece };
export type Coords = {
x: number;
y: number;
};
export type Matrix = Array<Array<Piece | 'ghost' | null>>;
export declare function buildMatrix(): Matrix;
export declare const addPieceToBoard: (matrix: Matrix, positionedPiece: PositionedPiece, isGhost?: boolean) => Matrix;
export type PositionedPiece = {
piece: Piece;
rotation: Rotation;
position: Coords;
};
export declare function setPiece(matrix: Matrix, positionedPiece: PositionedPiece): Matrix;
export declare function clearFullLines(matrix: Matrix): [Matrix, number[], number];
export declare function isEmptyPosition(matrix: Matrix, positionedPiece: PositionedPiece): boolean;
export declare const moveLeft: (gameboard: Matrix, positionedPiece: PositionedPiece) => PositionedPiece | undefined;
export declare const moveRight: (gameboard: Matrix, positionedPiece: PositionedPiece) => PositionedPiece | undefined;
export declare const moveDown: (gameboard: Matrix, positionedPiece: PositionedPiece) => PositionedPiece | undefined;
export declare const flipClockwise: (gameboard: Matrix, positionedPiece: PositionedPiece) => PositionedPiece | undefined;
export declare const flipCounterclockwise: (gameboard: Matrix, positionedPiece: PositionedPiece) => PositionedPiece | undefined;
export declare function hardDrop(gameboard: Matrix, positionedPiece: PositionedPiece): PositionedPiece;
//# sourceMappingURL=Matrix.d.ts.map