gerar sistema php
Fazendo uma pesquisa na internet,eu achei um código que gera confrontos de futebol,o sistema serviria de caminho para o projeto que eu pretendo fazer de futebol,só que se tiver mais de 10 times,trava para gerar os confrontos,e acaba não gerando,saberiam me dizer o que posso estar fazendo para ajustar o script.
<?php
$times = array('Time 01','Time 02','Time 03','Time 04','Time 05','Time 06','Time 07','Time 08','Time 09','Time 10','Time 11','Time 12','Time 13','Time 14','Time 15','Time 16','Time 17','Time 18','Time 19','Time 20');
function gera_jogos($times) {
$num_times = count($times);
$jogo = array();
foreach ($times as $k => $m) {
for($i = $k+1;$i < count($times);$i++) {
$v = $times[$i];
if ($m != $v AND !in_array(array('m' => $v, 'v' => $m), $jogo)) {
$jogo[] = array('m' => $m, 'v' => $v);
}
}
}
$rodada = array();
$times_usados = array();
$jogos_usados = array();
$num_rodadas = $num_times - 1;
$num_jogos = $num_times * $num_rodadas / 2;
$num_jogos_realizados = 0;
$rodada = array();
shuffle($jogo);
for ($i = 1; $i <= $num_rodadas; $i++) {
foreach ($jogo as $c => $j) {
if (!in_array($j['v'], $times_usados) AND !in_array($j['m'], $times_usados) AND !in_array($j, $jogos_usados)) {
$rodada[$i][] = $j;
$times_usados[] = $j['v'];
$times_usados[] = $j['m'];
$jogos_usados[] = $j;
$num_jogos_realizados++;
}
}
$times_usados = array();
}
if ($num_jogos_realizados == $num_jogos) {
return $rodada;
} else {
return false;
$tentativa++;
}
}
$rodada = array();
while ($rodada == false) {
$rodada = gera_jogos($times);
$tentativa++;
}
foreach ($rodada as $c => $v) {
echo "<h2>Rodada $c</h2>";
foreach ($v as $i) {
echo $i['m'], ' x ', $i['v'], '<br />';
}
}
?>
Obrigado!
Discussão (7)
Carregando comentários...