Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Составить календарь матчей
 
 автор: Sergeous   (16.10.2011 в 20:57)   письмо автору
 
 

В массиве $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
                )

        )


И т. д. Но в каждом матчи играют одни и те же команды. Нужно сделать какойто сдвиг команд. Зашел в тупик. Может есть какая-то формула календаря?

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования