Hallöchen,
ich bins mal wieder und hoffe das ich mein Problem richtig beschreiben kann:
Ich habe eine Auflistung von Spielergebnissen. Pro Spiel/Turnier gibt es einen eindeutigen Timestamp.
Ziel: Ich möchte zb 7 Turniere auswerten. Pro Spiel gibt es eine Quote.
Beispiel: Spieler A hat in Spiel 1 eine Quote von 33,33, in Spiel 2: 50,00 usw.
Dann möchte ich die einezelnen Quoten addieren. In einem Beispiel: Qoute = 83,33
Grundlage (Auszug) ist folgende Datei (elo.php):
Die lese ich so ein:
Leider ist es so, dass ich alle Spiele als Quote bekomme. Das ist natürlich sinnlos, wenn ein Spieler einmal mitmacht, und dann alles zu 0 gewonnen hat.
Dann hat der ja 100% und da kommt keiner mehr ran.
Deshalb möchte ich gerne pro Turnier seine Quote und dann nur die letzten zb. 7 Teilnahmen addieren.
Ich hoffe ich konnte mich verständlich ausdrücken.
ich bins mal wieder und hoffe das ich mein Problem richtig beschreiben kann:
Ich habe eine Auflistung von Spielergebnissen. Pro Spiel/Turnier gibt es einen eindeutigen Timestamp.
Ziel: Ich möchte zb 7 Turniere auswerten. Pro Spiel gibt es eine Quote.
Beispiel: Spieler A hat in Spiel 1 eine Quote von 33,33, in Spiel 2: 50,00 usw.
Dann möchte ich die einezelnen Quoten addieren. In einem Beispiel: Qoute = 83,33
Grundlage (Auszug) ist folgende Datei (elo.php):
PHP-Code:
PekingPeter;Sir ConnorMcleod;1;2;1316725136
DJ Avalon45;PowerCyborg;2;1;1316725136
hexenwesen10;Snoopyy;2;0;1316725136
akropolis1962;Ass53;0;2;1316725136
Niam47;Arwen7614;0;2;1316725136
Sir ConnorMcleod;DJ Avalon45;2;0;1316725136
hexenwesen10;Ass53;0;2;1316725136
Arwen7614;Sir ConnorMcleod;0;2;1316725136
hexenwesen10;Arwen7614;0;2;1316725136
Ass53;Sir ConnorMcleod;2;0;1316725136
DJmünstermaus;Ass53;2;0;1316814183
ConnorMcleod;PowerCyborg;1;2;1316814183
16-coon;Snoopyy;1;2;1316814183
DJ Avalon45;Niam47;1;2;1316814183
akronis;hexenwesen10;2;1;1316814183
DJmünstermaus;PowerCyborg;1;2;1316814183
Snoopyy;Niam47;2;1;1316814183
akronis;PowerCyborg;2;0;1316814183
Niam47;PowerCyborg;0;2;1316814183
Snoopyy;akronis;0;2;1316814183
Angel Missing;DJ Avalon45;0;2;1316980069
PowerCyborg;akronis;1;2;1316980069
hexenwesen10;Ass53;1;2;1316980069
helle 65;Snoopyy;2;0;1316980069
Jumping Bill;Niam47;2;0;1316980069
Mamasschlumpf78;dasgehtjetztnich;1;2;1316980069
DJ Avalon45;akronis;0;2;1316980069
Ass53;helle 65;2;0;1316980069
Jumping Bill;dasgehtjetztnich;1;2;1316980069
akronis;Ass53;0;2;1316980069
Jumping Bill;akronis;0;2;1316980069
dasgehtjetztnich;Ass53;0;2;1316980069
PHP-Code:
$datei = file("elo.php");
$tuni_anzahl = array();
$tabelle = array();
foreach ($datei as $items){
list ($name_1,$name_2,$erg_1,$erg_2,$timestamp) = explode(";",$items);
$tabelle[$name_1]['gew'] += $erg_1;
$tabelle[$name_1]['verl'] += $erg_2;
$tabelle[$name_2]['gew'] += $erg_2;
$tabelle[$name_2]['verl'] += $erg_1;
#$tabelle[$name_1][$tuni_anzahl] = ($timestamp+=1);
#$tabelle[$name_2]['timestamp'] += $timestamp;
}
print "<pre>";
#print_r ($tabelle);
print "</pre>";
$tuni_anzahl = array();
foreach ($datei as $index => $item){
list ($name_1,$name_2,$erg_1,$erg_2,$timestamp) = explode(";",$item);
$tuni_anzahl[$timestamp] += 1;
}
$result = array ();
foreach ($tabelle as $name => $value){
// Quote ermitteln
$quote = $value['gew']/($value['gew']+$value['verl'])*100;
// Quote Nachkommastellen formatieren
$quote = number_format($quote,3);
// Name und Quote ins Array
$result[$name]['quote'] = $quote;
$result[$name]['saetze-gewonnen'] = $value['gew'];
$result[$name]['saetze-verloren'] = $value['verl'];
}
arsort($result);
// Ausgabe
echo "<table border =\"1\">
<tr>
<td align=center> Platz </td>
<td > Name </td>
<td align=center> Quote </td>
<td align=center>Sätze<br> Gewonnen </td>
<td align=center>Sätze<br> Verloren </td>
</tr>
";
echo "Anzahl der gewerteten Turniere waren => ".count($tuni_anzahl)."<br>";
echo "Die Quote wird so ermittelt:<br>Sätze_Gewonnen ÷ (Sätze_Gewonnen + Sätze_Verloren)×100<br>Es wird auf 3 Nachkommastellen gerundet<br>";
$row_col_1 = "#094E99"; // Reihenfarbe 1
$row_col_2 = "#033780"; // Reihenfarbe 2
$row_start = 0; // Startzähler für die Reihenfarben
$platz =1; // Startzähler für die Platzierungen
foreach ($result as $name => $value){
$farbe = ($row_start % 2 == 0) ? $row_col_1 : $row_col_2;
$value['quote'] = number_format($value['quote'],3,',','');
echo "
<tr style=\"background-color:".$farbe.";\">
<!-- <tr> //-->
<td align=center>".$platz++."</td>
<td> ".$name." </td>
<td align=center> ".$value['quote']." </td>
<td align=center>".$value['saetze-gewonnen']."</td>
<td align=center>".$value['saetze-verloren']."</td>
</tr>
";
$row_start++;
}
echo "</table>";
Dann hat der ja 100% und da kommt keiner mehr ran.
Deshalb möchte ich gerne pro Turnier seine Quote und dann nur die letzten zb. 7 Teilnahmen addieren.
Ich hoffe ich konnte mich verständlich ausdrücken.
Kommentar