feat(游戏模块): 重构比赛逻辑并添加赛制支持
- 移除了原有的比赛时间检查逻辑 - 引入了赛制类文件,实现了比赛自动编排功能 - 新增了 GameMatch 模型用于存储比赛对阵信息 - 优化了数据库事务处理逻辑 - 更新了 Composer 自动加载配置,添加 format 命名空间
This commit is contained in:
24
format/GameInterface.php
Normal file
24
format/GameInterface.php
Normal file
@@ -0,0 +1,24 @@
|
||||
<?php
|
||||
|
||||
namespace format;
|
||||
/*
|
||||
赛制文件
|
||||
|
||||
1. 团队类型:1双打,2单打,3团队
|
||||
2. 规则类型:1八人转,2超八转,3混双转,4固搭转,5固定擂,6活动擂,7转转,8分区转,9擂台赛,10守擂赛,11追分赛,12固搭追分赛,13大循环群内赛,14两队PK赛,15战队淘汰赛,16单项淘汰赛,17分区循环淘汰赛
|
||||
|
||||
3. 需要引入新赛制请创建新的类文件,类文件需要实现GameInterface接口,并且文件名为`Game + 团队类型代码 + 规则类型代码.php`。
|
||||
如:赛制为双打八人转,则文件为format/Game11.php。
|
||||
赛制为单打擂台赛,则文件为format/Game29.php。
|
||||
*/
|
||||
interface GameInterface
|
||||
{
|
||||
// 赛制说明
|
||||
public function describe(): string;
|
||||
|
||||
// 对阵安排
|
||||
public function match($game,$users): array;
|
||||
|
||||
// 奖金分配
|
||||
public function prize($rank): array;
|
||||
}
|
||||
Reference in New Issue
Block a user