|
|
|
| В массиве $groups_teams список команд (их id). Нужно составить календарь футбольных матчей чемпионата в два круга. Например, 16 команд. это 30 туров. Каждая команда должна сыграть дома и на выезде.
Не могу че-то сообразить как сделать.
Пока вот что набросал:
// кругов
$krugov = 2;
// количество команд
$count = 16;
// количество игр в туре
$plays = $count / 2;
// туров
$tours = $count * $krugov - $krugov;
$mt = 0;
$mat = 1;
$tr = 1;
$krug = 1;
$number = 1;
while ($number<=$tours)
{
$pl = 0;
$mt = 0;
while ($pl<$plays)
{
if ($krug==1)
{
$matchs_list[$number][$mat]['team1']= $groups_teams[$mt+$pl]['teams_id'];
$matchs_list[$number][$mat]['team2']= $groups_teams[$mt+$pl+1]['teams_id'];
}
if ($krug==2)
{
$matchs_list[$number][$mat]['team1']= $groups_teams[$mt+$pl+1]['teams_id'];
$matchs_list[$number][$mat]['team2']= $groups_teams[$mt+$pl]['teams_id'];
}
$matchs_list[$number][$mat]['tour']= $number;
$mt1 = $mt+$pl;
$mt2= $mt +$pl+1;
echo "<li>Тур - $number | mt1 - $mt1 | mt2 - $mt2 | Матч тура - $pl";
$pl++;
$mat++;
$mt=$mt+1;
}
if ($number==$count-1)
{
$krug = 2;
echo "smena kruga";
}
else
{
}
$tr++;
$number++;
}
|
Получается
[1] => Array
(
[1] => Array
(
[team1] => 1
[team2] => 4
[tour] => 1
)
[2] => Array
(
[team1] => 3
[team2] => 2
[tour] => 1
)
)
[2] => Array
(
[3] => Array
(
[team1] => 1
[team2] => 4
[tour] => 2
)
[4] => Array
(
[team1] => 3
[team2] => 2
[tour] => 2
)
)
|
И т. д. Но в каждом матчи играют одни и те же команды. Нужно сделать какойто сдвиг команд. Зашел в тупик. Может есть какая-то формула календаря? | |
|
|