UNPKG

the-game-domain

Version:

Complete domain layer for 'The Game' card game with rich business entities, automatic persistence, action tracking, and advanced game mechanics. Features Game, Player, Card, Deck, Pile entities with repository pattern, turn management, victory/defeat dete

49 lines 1.38 kB
import { Card } from './Card'; import { Deck } from './Deck'; export declare class Player { private static readonly MAX_CARDS; private static playerCounter; private readonly _id; private _name; private _cards; private _isCurrentTurn; constructor(name?: string); get id(): string; get name(): string; get cards(): readonly Card[]; get isCurrentTurn(): boolean; get cardCount(): number; get isHandFull(): boolean; private _validatePlayer; changeName(newName: string): void; addCard(card: Card): void; addCards(cards: Card[]): void; removeCard(cardValue: number): Card | undefined; clearCards(): void; hasCard(cardValue: number): boolean; drawCardFromDeck(deck: Deck): Card | undefined; setCurrentTurn(isCurrentTurn: boolean): void; endTurn(players: Player[]): string; equals(other: Player): boolean; toString(): string; toJSON(): { id: string; name: string; cards: Array<{ value: number; id?: string; }>; isCurrentTurn: boolean; }; static fromJSON(data: { id: string; name: string; cards: Array<{ value: number; id?: string; }>; isCurrentTurn: boolean; }): Player; static resetCounter(): void; } //# sourceMappingURL=Player.d.ts.map