heroyt/tournament-generator
最新稳定版本:v0.6.0-alpha
Composer 安装命令:
composer require heroyt/tournament-generator
包简介
A set of classes used to create multiple kinds of tournament brackets in PHP.
README 文档
README
Tournament Generator
A set of multiple classes to generate and work with all different kinds of tournament brackets or defining a custom bracket.
Features
- Creating a custom tournament bracket with any number of categories, rounds, groups and teams
- Defining a multiple different conditions
- Easily generating Robin-Robin tournaments
- Generating a tournament using a predefined preset (single elimination, double elimination, 2R2G) with any number of teams
- Generating brackets with 2 to 4 teams in one game against each other
- Filling your bracket with results and getting teams table with scores
Installation
$ composer require heroyt/tournament-generator
Basic Usage
require 'vendor/autoload.php'; // Create a tournament $tournament = new TournamentGenerator\Tournament('Tournament name'); // 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 // Create a round and a final round $round = $tournament->round("First's round's name"); $final = $tournament->round("Final's round's name"); // Create 2 groups for the first round $group_1 = $round->group('Round 1') ->setInGame(2) // 2 TEAMS PLAYING AGAINST EACH OTHER ->setType(TournamentGenerator\Constants::ROUND_ROBIN); // ROBIN-ROBIN GROUP $group_2 = $round->group('Round 2') ->setInGame(2) // 2 TEAMS PLAYING AGAINST EACH OTHER ->setType(TournamentGenerator\Constants::ROUND_ROBIN); // ROBIN-ROBIN GROUP // Create a final group $final_group = $final->group('Finale') ->setInGame(2) // 2 TEAMS PLAYING AGAINST EACH OTHER ->setType(TournamentGenerator\Constants::ROUND_ROBIN); // ROBIN-ROBIN GROUP // CREATE 6 TEAMS for ($i=1; $i <= 6; $i++) { $tournament->team('Team '.$i); } // SET PROGRESSIONS FROM GROUP 1 AND 2 TO FINAL GROUP $group_1->progression($final_group, 0, 2); // PROGRESS 2 BEST WINNING TEAMS $group_2->progression($final_group, 0, 2); // PROGRESS 2 BEST WINNING TEAMS // Generate games in the first round $round->genGames(); // Simulate results (or you can fill it with your own real results) $round->simulate(); // Progress best teams from first round to final round $round->progress(); // Generate games in the final round $final->genGames(); // Simulate results (or you can fill it with your own real results) $final->simulate(); // GET ALL TEAMS $teams = $tournament->getTeams(true); // TRUE to get teams ordered by their results
Creating a tournament with a template
require 'vendor/autoload.php'; // Create a tournament $tournament = new TournamentGenerator\Preset\SingleElimination('Tournament name'); // 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 // CREATE 6 TEAMS for ($i=1; $i <= 6; $i++) { $tournament->team('Team '.$i); } // GENERATE ALL GAMES $tournament->generate(); // 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 // GET ALL TEAMS $teams = $tournament->getTeams(true); // TRUE to get teams ordered by their results
统计信息
- 总下载量: 14.44k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 67
- 点击次数: 1
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2019-07-21