DoubleElimination is a strategy where each player plays atleast two games before being eliminated.

### Hierarchy

- DoubleEliminationMatchmaker

### Implements

- IMatchmaker

## Index

### Constructors

- constructor

### Properties

- events
- finished
- oneLossOddPlayer
- options
- playerStats
- players
- processedMatches
- tournamentStats
- unlinkedMatches
- waitingForFinal
- zeroLossOddPlayer

### Methods

- anyPlayersWaiting
- createMatch
- finishedRanking
- getPlayerScore
- getRanking
- getRemainingMatches
- isFinished
- matchPlayers
- playerIsWaitingForMatch
- setParentMatches
- unfinishedRanking
- updateStats

## Constructors

### constructor

- new DoubleEliminationMatchmaker(players: Player[], options: IMatchOptions, events: ITournamentEvents): DoubleEliminationMatchmaker

- - Defined in tournament/matchmaker/DoubleEliminationMatchmaker.ts:36

  #### Parameters

  - ##### players: Player[]

  - ##### options: IMatchOptions

  - ##### events: ITournamentEvents

  #### Returns DoubleEliminationMatchmaker

## Properties

### Private events

events: ITournamentEvents

- Defined in tournament/matchmaker/DoubleEliminationMatchmaker.ts:38

### Private finished

finished: boolean

- Defined in tournament/matchmaker/DoubleEliminationMatchmaker.ts:29

### Private oneLossOddPlayer

oneLossOddPlayer: Player

- Defined in tournament/matchmaker/DoubleEliminationMatchmaker.ts:34

### Private options

options: IMatchOptions

- Defined in tournament/matchmaker/DoubleEliminationMatchmaker.ts:38

### Private playerStats

playerStats: object

- Defined in tournament/matchmaker/DoubleEliminationMatchmaker.ts:32

#### Type declaration

- ##### [key: string]: IPlayerStats

### Private players

players: Player[]

- Defined in tournament/matchmaker/DoubleEliminationMatchmaker.ts:38

### Private processedMatches

processedMatches: string[]

- Defined in tournament/matchmaker/DoubleEliminationMatchmaker.ts:31

### Private tournamentStats

tournamentStats: ITournamentStats

- Defined in tournament/matchmaker/DoubleEliminationMatchmaker.ts:30

### Private unlinkedMatches

unlinkedMatches: DoubleEliminationMatch[] = []

- Defined in tournament/matchmaker/DoubleEliminationMatchmaker.ts:36

### Private waitingForFinal

waitingForFinal: Player[]

- Defined in tournament/matchmaker/DoubleEliminationMatchmaker.ts:35

### Private zeroLossOddPlayer

zeroLossOddPlayer: Player

- Defined in tournament/matchmaker/DoubleEliminationMatchmaker.ts:33

## Methods

### Private anyPlayersWaiting

- anyPlayersWaiting(): boolean

- - Defined in tournament/matchmaker/DoubleEliminationMatchmaker.ts:237

  #### Returns boolean

### Private createMatch

- createMatch(playerA: Player, playerB: Player, optionOverrides?: any, parentMatches?: IMatchParent[]): DoubleEliminationMatch

- - Defined in tournament/matchmaker/DoubleEliminationMatchmaker.ts:219

  #### Parameters

  - ##### playerA: Player

  - ##### playerB: Player

  - ##### Optional optionOverrides: any

  - ##### Optional parentMatches: IMatchParent[]

  #### Returns DoubleEliminationMatch

### Private finishedRanking

- finishedRanking(): string[]

- - Defined in tournament/matchmaker/DoubleEliminationMatchmaker.ts:166

  #### Returns string[]

### Private getPlayerScore

- getPlayerScore(player: Player): number

- - Defined in tournament/matchmaker/DoubleEliminationMatchmaker.ts:193

  #### Parameters

  - ##### player: Player

  #### Returns number

### getRanking

- getRanking(): string[]

- Implementation of IMatchmaker.getRanking

  - Defined in tournament/matchmaker/DoubleEliminationMatchmaker.ts:158

  #### Returns string[]

### getRemainingMatches

- getRemainingMatches(): DoubleEliminationMatch[]

- Implementation of IMatchmaker.getRemainingMatches

  - Defined in tournament/matchmaker/DoubleEliminationMatchmaker.ts:75

  #### Returns DoubleEliminationMatch[]

### isFinished

- isFinished(): boolean

- Implementation of IMatchmaker.isFinished

  - Defined in tournament/matchmaker/DoubleEliminationMatchmaker.ts:47

  #### Returns boolean

### Private matchPlayers

- matchPlayers(players: Player[]): IMatchingResult

- - Defined in tournament/matchmaker/DoubleEliminationMatchmaker.ts:197

  #### Parameters

  - ##### players: Player[]

  #### Returns IMatchingResult

### Private playerIsWaitingForMatch

- playerIsWaitingForMatch(player: Player): boolean

- - Defined in tournament/matchmaker/DoubleEliminationMatchmaker.ts:233

  #### Parameters

  - ##### player: Player

  #### Returns boolean

### Private setParentMatches

- setParentMatches(match: DoubleEliminationMatch): void

- - Defined in tournament/matchmaker/DoubleEliminationMatchmaker.ts:241

  #### Parameters

  - ##### match: DoubleEliminationMatch

  #### Returns void

### Private unfinishedRanking

- unfinishedRanking(): string[]

- - Defined in tournament/matchmaker/DoubleEliminationMatchmaker.ts:186

  #### Returns string[]

### updateStats

- updateStats(tournamentStats: ITournamentStats): void

- Implementation of IMatchmaker.updateStats

  - Defined in tournament/matchmaker/DoubleEliminationMatchmaker.ts:51

  #### Parameters

  - ##### tournamentStats: ITournamentStats

  #### Returns void

Generated using TypeDoc