infernothebest
Gebruiker
- Lid geworden
- 25 feb 2008
- Berichten
- 76
Beste leden,
Onderstaand script (werkt overigens perfect) is een wedstrijd genereer tool zoals dit wordt gedaan om een voetbal seizoen te genereren. Zodat elk team 1x per half seizoen tegen elkaar speelt en op de helft precies andersom.
Nu is mijn vraag:
Stel ik heb 1 Voetbal club met 3 velden en 6 teams. Hoe kan ik er voor zorgen dat ik nooit meer dan 3 teams tegelijkertijd thuis spelen op 1 dag.
Onderstaand script (werkt overigens perfect) is een wedstrijd genereer tool zoals dit wordt gedaan om een voetbal seizoen te genereren. Zodat elk team 1x per half seizoen tegen elkaar speelt en op de helft precies andersom.
Nu is mijn vraag:
Stel ik heb 1 Voetbal club met 3 velden en 6 teams. Hoe kan ik er voor zorgen dat ik nooit meer dan 3 teams tegelijkertijd thuis spelen op 1 dag.
PHP:
<?php
function scheduler($teams,$shuffle=1,$reverse=1){
if (count($teams)%2 != 0){
array_push($teams,"");
}
if ($shuffle == 1){
shuffle($teams);
}
$away = array_splice($teams,(count($teams)/2));
$home = $teams;
for ($i=0; $i < count($home)+count($away)-1; $i++){
for ($j=0; $j<count($home); $j++){
if (($i%2 !=0) && ($j%2 ==0)){
$schedule[$i][$j]["Home"]=$away[$j];
$schedule[$i][$j]["Away"]=$home[$j];
} else {
$schedule[$i][$j]["Home"]=$home[$j];
$schedule[$i][$j]["Away"]=$away[$j];
}
}
if(count($home)+count($away)-1 > 2){
array_unshift($away,array_shift(array_splice($home,1,1)));
array_push($home,array_pop($away));
}
}
if ($reverse == 1){
for ($k=0; $k < count($home)+count($away)-1; $k++){
for ($j=0; $j<count($home); $j++){
if (($k%2 !=0) && ($j%2 ==0)){
$schedule[$i][$j]["Home"]=$home[$j];
$schedule[$i][$j]["Away"]=$away[$j];
} else {
$schedule[$i][$j]["Home"]=$away[$j];
$schedule[$i][$j]["Away"]=$home[$j];
}
}
if(count($home)+count($away)-1 > 2){
array_unshift($away,array_shift(array_splice($home,1,1)));
array_push($home,array_pop($away));
}
$i++;
}
}
return $schedule;
}
$result = mysql_query("SELECT * FROM Team WHERE Divisie_ID='".mysql_real_escape_string(htmlspecialchars($Divisie_NR))."'");
$teams = array();
while($row = mysql_fetch_array( $result )) {
$members[] = $row['Team_ID']."|".$row['Naam'];
}
// $members = array("name1","name2","name3","name4");
$schedule = scheduler($members);
$i = 0;
foreach($schedule AS $round => $games){
foreach($games AS $play){
if (!empty($play["Home"])){//filter 1
if (!empty($play["Away"])){//filter 2
echo "<tr>";
echo "<td>".($round+1)."</td>";
$thuis = explode("|", $play["Home"]);
$uit = explode("|", $play["Away"]);
echo "<td><input value='".$thuis[0]."' name='Thuis".$i."' hidden>".$thuis[1]."</td>";
echo "<td><input value='".$uit[0]."' name='Uit".$i."' hidden>".$uit[1]."</td>";
echo "<td><input type='text' name='Datum".$i."' class='form-control datepicker'></td>";
echo "</tr>";
$i++;
}//filter 2
}//filter 1
}
}
?>