<?php
// Team- und Spielstrategie-Einstellungen
$teamA = [
'name' => 'Team A',
'players' => [
'goalkeeper' => 'Spieler A1',
'defensive' => ['left' => 'Spieler A2', 'center' => 'Spieler A3', 'right' => 'Spieler A4'],
'midfield' => ['left' => 'Spieler A5', 'center' => 'Spieler A6', 'right' => 'Spieler A7'],
'offensive' => ['left' => 'Spieler A8', 'center' => 'Spieler A9', 'right' => 'Spieler A10']
],
'strategy' => ['left' => 0.2, 'center' => 0.4, 'right' => 0.4],
'offensive_percentage' => 100 // 100% offensiv
];
$teamB = [
'name' => 'Team B',
'players' => [
'goalkeeper' => 'Spieler B1',
'defensive' => ['left' => 'Spieler B2', 'center' => 'Spieler B3', 'right' => 'Spieler B4'],
'midfield' => ['left' => 'Spieler B5', 'center' => 'Spieler B6', 'right' => 'Spieler B7'],
'offensive' => ['left' => 'Spieler B8', 'center' => 'Spieler B9', 'right' => 'Spieler B10']
],
'strategy' => ['left' => 0.5, 'center' => 0.2, 'right' => 0.3],
'offensive_percentage' => 100 // 100% offensiv
];
// Funktion zur Berechnung des Erfolgs einer Aktion
function calculateSuccess($teamValue, $opponentValue) {
return $teamValue / ($teamValue + $opponentValue);
}
// Funktion zur Zufallsverteilung der Ereignisse
function distributeEvents($totalEvents, $duration) {
$events = [];
for ($i = 0; $i < $totalEvents; $i++) {
$minute = mt_rand(0, $duration * 10) / 10;
$events[] = $minute;
}
sort($events);
return $events;
}
// Anzahl der Aktionen pro Team berechnen
$totalActions = 50; // Beispielwert
$actionsTeamA = $totalActions * 0.5; // 50% Ballbesitz
$actionsTeamB = $totalActions * 0.5; // 50% Ballbesitz
// Verteilung der Aktionen auf die Spielfeldseiten basierend auf der Teamstrategie
$actionsTeamA_left = $actionsTeamA * $teamA['strategy']['left'];
$actionsTeamA_center = $actionsTeamA * $teamA['strategy']['center'];
$actionsTeamA_right = $actionsTeamA * $teamA['strategy']['right'];
$actionsTeamB_left = $actionsTeamB * $teamB['strategy']['left'];
$actionsTeamB_center = $actionsTeamB * $teamB['strategy']['center'];
$actionsTeamB_right = $actionsTeamB * $teamB['strategy']['right'];
// Erfolg der Aktionen berechnen
$successA_left = calculateSuccess($teamA['players']['defensive']['left'], $teamB['players']['offensive']['right']);
$successA_center = calculateSuccess($teamA['players']['midfield']['center'], $teamB['players']['midfield']['center']);
$successA_right = calculateSuccess($teamA['players']['offensive']['right'], $teamB['players']['defensive']['left']);
$successB_left = calculateSuccess($teamB['players']['defensive']['left'], $teamA['players']['offensive']['right']);
$successB_center = calculateSuccess($teamB['players']['midfield']['center'], $teamA['players']['midfield']['center']);
$successB_right = calculateSuccess($teamB['players']['offensive']['right'], $teamA['players']['defensive']['left']);
// Erfolgreiche Aktionen berechnen
$successfulActionsA = $actionsTeamA * $successA_center; // Beispiel für das Zentrum
$successfulActionsB = $actionsTeamB * $successB_center; // Beispiel für das Zentrum
// Ereignisse zufällig auf die Spielzeit verteilen
$duration = 90; // Spieldauer in Minuten
$eventsA = distributeEvents($successfulActionsA, $duration);
$eventsB = distributeEvents($successfulActionsB, $duration);
// Ausgabe der Ereignisse
echo "Team A Ereignisse:\n";
print_r($eventsA);
echo "Team B Ereignisse:\n";
print_r($eventsB);
// Spielergebnis berechnen (Beispiel: Anzahl der Tore)
$goalsA = count($eventsA) / 10; // Beispiel: Ein Tor pro 10 Ereignisse
$goalsB = count($eventsB) / 10; // Beispiel: Ein Tor pro 10 Ereignisse
echo "Endergebnis:\n";
echo $teamA['name'] . ": " . $goalsA . " Tore\n";
echo $teamB['name'] . ": " . $goalsB . " Tore\n";
// Spieleraufstellungen ausgeben
echo "Aufstellungen:\n";
echo $teamA['name'] . ":\n";
print_r($teamA['players']);
echo $teamB['name'] . ":\n";
print_r($teamB['players']);
?>
- Output for 8.2.0 - 8.2.27, 8.3.0 - 8.3.15, 8.4.1 - 8.4.2
- Fatal error: Uncaught TypeError: Unsupported operand types: string + string in /in/5ViWn:29
Stack trace:
#0 /in/5ViWn(58): calculateSuccess('Spieler A2', 'Spieler B10')
#1 {main}
thrown in /in/5ViWn on line 29
Process exited with code 255.
preferences:
42.88 ms | 406 KiB | 5 Q