PHP Classes

File: docs/examples/preset.md

Recommend this page to a friend!
  Classes of Tomáš Vojík  >  PHP Tournament Bracket Generator  >  docs/examples/preset.md  >  Download  
File: docs/examples/preset.md
Role: Documentation
Content type: text/markdown
Description: Documentation
Class: PHP Tournament Bracket Generator
Organize the matches of teams in a tournament
Author: By
Last change:
Date: 9 months ago
Size: 2,788 bytes
 

Contents

Class file image Download

Introduction

You also have an ability to use predefined tournament tempates.

Templates are predefined classes, that make it easier to create commonly used tournament brackets with any number of Teams. All templates are used in a similar way - see the list of templates.

Creating a tournament

In this example, we will be looking at creating a single elimination bracket.

Start with creating a new SingleElimination class.

require 'vendor/autoload.md';

// Create a tournament
$tournament = new TournamentGenerator\Preset\SingleElimination('Tournament name');

You can also set play time, time between games and time between rounds to later calculate a timetable of the whole tournament

// Set tournament lengths - could be omitted
$tournament
	->setPlay(7) // SET GAME TIME TO 7 MINUTES
	->setGameWait(2) // SET TIME BETWEEN GAMES TO 2 MINUTES
	->setRoundWait(0); // SET TIME BETWEEN ROUNDS TO 0 MINUTES

Adding teams

Now, you can add Teams to your tournament.

We will add just a few, but you can populate your tournament with your own teams.

// CREATE 6 TEAMS
for ($i=1; $i <= 6; $i++) {
	$tournament->team('Team '.$i, $i); // Creates a team with name 'Team $i' and id of $i
}

Now, we generate all the games using a generate() method.

// GENERATE ALL GAMES
$tournament->generate();

Generating results

At last you set results to all your Games one by one with your own scores.

// Get all rounds
$rounds = $tournament->getRounds();

// Get all games in a round
$games = $round[0]->getGames();

// Set game results
$games[0]->setResults(
	[
		mixed 'teamID' => int 25, // FIRST  TEAM SCORE
		mixed 'teamID' => int 50  // SECOND TEAM SCORE
	]
);
// Continue for all other games and rounds

Or you simulate all the Rounds.

// Get all rounds
$rounds = $tournament->getRounds();

//Simulate all rounds
foreach ($rounds as $round) {
	$round->simulate(); // Simulate games without scores, just to save a bracket
}

Or you can simulate a whole Tournament at once.

// Simulate games
$tournament->genGamesSimulate(); // Simulate only games for example to only save bracket to DB
$tournament->genGamesSimulateReal(); // Simulate games with results like a real tournament

Getting final results

Finally, you can get all the Teams ordered by their results.

// GET ALL TEAMS
$teams = $tournament->getTeams(true); // TRUE to get teams ordered by their results

For more information send a message to info at phpclasses dot org.