marga
Version:
gaming soreboard
45 lines (44 loc) • 1.61 kB
TypeScript
import Entity from '../../entity/Entity';
import IEntity from '../../entity/IEntity';
import Streak from '../../streak/Streak';
import BeadRoad from '../bead/BeadRoad';
import IStreakRoad from '../IStreakRoad';
import BigEntity from './BigEntity';
/**
* The Big Road is a streak road that records the results of the game.
*/
declare class BigRoad implements IStreakRoad {
/**
* Form a new BigRoad from a beadRoad object (which is a collection of bead entities).
* @param {BeadRoad} beadRoad
* @return {BigRoad} The new BigRoad
*/
static from(beadRoad: BeadRoad): BigRoad;
private _length;
private _entityIndex;
private _firstStreak;
private _lastStreak;
private readonly _shoeIndex;
private _setLastStreak;
private _setFirstStreak;
constructor(index: number);
print(): string[] | string[][];
getSize(): number;
/**
* Add entity to the Big Road.
* @param {BigEntity} entity
* @return {boolean} If the entity is added successfully, return true, otherwise return false.
*/
addEntity(entity: BigEntity): boolean;
getFirstStreak(): Streak | undefined;
getLastStreak(): Streak | undefined;
getFirstEntity(): Entity | undefined;
getLastEntity(): IEntity | undefined;
getShoeIndex(): number;
/**
* Get a generator that can iterate the Pingpong pattern in the Big Road.
* @return {Generator<BigEntity[], void, boolean>} A generator that can iterate the Pingpong pattern in the Big Road.
*/
getPingpongIterator(): Generator<BigEntity[], void, boolean>;
}
export default BigRoad;