function aks($angreifer_daten, $verteidiger_daten, $angreifer_schiffe, $verteidiger_schiffe, $angreifer_techniken, $verteidiger_techniken, $ressis, $pricelist) { $mtime = microtime(); $mtime = explode(" ", $mtime); $mtime = $mtime[1] + $mtime[0]; $starttime = $mtime; // RapidFire Start $rapidfire = array(202 => array(210 => 5, 212 => 5), 203 => array(210 => 5, 212 => 5), 204 => array(210 => 5, 212 => 5), 205 => array(202 => 3, 210 => 5, 212 => 5), 206 => array(204 => 6, 210 => 5, 212 => 5, 401 => 10), 207 => array(210 => 5, 212 => 5), 208 => array(210 => 5, 212 => 5), 209 => array(210 => 5, 212 => 5), 211 => array(210 => 5, 212 => 5, 401 => 20, 402 => 20, 403 => 10, 405 => 10), 213 => array(210 => 5, 212 => 5, 215 => 2, 402 => 10), 214 => array(210 => 1250, 212 => 1250, 202 => 250, 203 => 250, 204 => 200, 205 => 100, 206 => 33, 207 => 30, 208 => 250, 209 => 250, 211 => 25, 213 => 5, 215 => 15, 401 => 200, 402 => 200, 403 => 100, 404 => 50, 405 => 100), 215 => array(202 => 3, 203 => 3, 205 => 4, 206 => 4, 207 => 7, 210 => 5, 212 => 5), 216 => array(210 => 5, 212 => 1250, 202 => 260, 203 => 240, 204 => 200, 205 => 90, 206 => 35, 207 => 25, 208 => 250, 209 => 250, 211 => 30, 213 => 5, 215 => 10, 217 => 150, 401 => 200, 402 => 200, 403 => 100, 404 => 50), 218 => array(210 => 1250, 212 => 1250, 202 => 250, 203 => 250, 204 => 200, 205 => 100, 206 => 60, 207 => 50, 208 => 250, 209 => 250, 211 => 50, 213 => 15, 214 => 3, 215 => 30, 216 => 2, 217 => 30, 401 => 300, 402 => 300, 403 => 150, 404 => 50)); // RapidFire ende function pretty_number($n, $floor = true) { if ($floor) { $n = floor($n); } return number_format($n, 0, ",", "."); } $runde = array(); $angreifer_schilde = array(); $verteidiger_schilde = array(); $angreifer_huelle = array(); $verteidiger_huelle = array(); $angreifer_schiffe_start = $angreifer_schiffe; $verteidiger_schiffe_start = $verteidiger_schiffe; foreach ($angreifer_schiffe as $id => $arrayx) { foreach ($arrayx as $schiffid => $array) { $anzahl = $array['anzahl']; for ($i = 0; $i < $anzahl; $i++) { $angreifer_huelle[$id][$schiffid][$i] = ($pricelist[$schiffid]['metal'] + $pricelist[$schiffid]['crystal']) / 10 * (1 + $angreifer_techniken[$id]['panzerung'] / 10); } } } foreach ($verteidiger_schiffe as $schiffid => $arrayx) { foreach ($arrayx as $schiffid => $array) { $anzahl = $array['anzahl']; for ($i = 0; $i < $anzahl; $i++) { $verteidiger_huelle[$id][$schiffid][$i] = ($pricelist[$schiffid]['metal'] + $pricelist[$schiffid]['crystal']) / 10 * (1 + $verteidiger_techniken[$id]['panzerung'] / 10); } } } $initialisierung = array(); foreach ($angreifer_schiffe as $id => $arrayx) { foreach ($arrayx as $schiffid => $array) { $initialisierung['angreifer']['waffen'][$id][$schiffid] = $pricelist[$schiffid]['attack'] + $pricelist[$schiffid]['attack'] * ($angreifer_techniken[$id]['waffen'] / 10); $initialisierung['angreifer']['huelle'][$id][$schiffid] = ($pricelist[$schiffid]['metal'] + $pricelist[$schiffid]['crystal']) / 10 * (1 + $angreifer_techniken[$id]['panzerung'] / 10); $initialisierung['angreifer']['schilde'][$id][$schiffid] = $pricelist[$schiffid]['shield'] + $pricelist[$schiffid]['shield'] * $angreifer_techniken[$id]['schilde'] / 10; } } foreach ($verteidiger_schiffe as $id => $arrayx) { foreach ($arrayx as $schiffid => $array) { $initialisierung['verteidiger']['waffen'][$id][$schiffid] = $pricelist[$schiffid]['attack'] + $pricelist[$schiffid]['attack'] * ($verteidiger_techniken[$id]['waffen'] / 10); $initialisierung['verteidiger']['huelle'][$id][$schiffid] = ($pricelist[$schiffid]['metal'] + $pricelist[$schiffid]['crystal']) / 10 * (1 + $verteidiger_techniken[$id]['panzerung'] / 10); $initialisierung['verteidiger']['schilde'][$id][$schiffid] = $pricelist[$schiffid]['shield'] + $pricelist[$schiffid]['shield'] * $verteidiger_techniken[$id]['schilde'] / 10; } } $parse = getshipids($angreifer_schiffe, $pricelist, $angreifer_techniken); $angreifer_huelle = $parse['c']; $parse = getshipids($verteidiger_schiffe, $pricelist, $verteidiger_techniken); $verteidiger_huelle = $parse['c']; $endrunde = 0; for ($i = 1; $i < 8; $i++) { // $i = runde $zufall_angreifer = array(); $zufall_verteidiger = array(); $parse = getshipids($angreifer_schiffe, $pricelist, $angreifer_techniken); $zufall_angreifer['a'] = $parse['a']; $angreifer_schilde = $parse['d']; $parse = getshipids($verteidiger_schiffe, $pricelist, $verteidiger_techniken); $zufall_verteidiger['a'] = $parse['a']; $verteidiger_schilde = $parse['d']; $runde[$i]['angreifer']['schiffe'] = $angreifer_schiffe; $runde[$i]['angreifer']['schilde_weg'] = 0; $runde[$i]['angreifer']['schuesse'] = 0; $runde[$i]['angreifer']['schusskraft'] = 0; $runde[$i]['verteidiger']['schiffe'] = $verteidiger_schiffe; $runde[$i]['verteidiger']['schilde_weg'] = 0; $runde[$i]['verteidiger']['schuesse'] = 0; $runde[$i]['verteidiger']['schusskraft'] = 0; $endrunde++; if (count($zufall_verteidiger['a']) == 0 || count($zufall_angreifer['a']) == 0) { $endrunde = $i; $killed = 1; if (count($zufall_verteidiger['a']) == 0 && count($zufall_angreifer['a']) == 0) { $ausgang = 1; // = Unentscheiden } elseif (count($zufall_verteidiger['a']) == 0) { $ausgang = 2; // = Angreifer } elseif (count($zufall_angreifer['a']) == 0) { $ausgang = 3; // = Verteidiger } break; } $delete_angreifer = array(); $delete_verteidiger = array(); foreach ($runde[$i]['angreifer']['schiffe'] as $id => $arrayx) { foreach ($arrayx as $schiffid => $array) { $anzahl = $array['anzahl']; for ($j = 0; $j < $anzahl; $j++) { $rapidfire_anzahl = 0; $fire = true; while ($fire == true) { $fire = false; $schuss_auf_huelle = 0; $rapidfire_vs = 0; $ship_rapidfire = false; $temp = array(); $ids = array(); if (count($zufall_verteidiger['a']) == 0) { $killed1 = 1; } if ($killed1 != 1) { foreach ($zufall_verteidiger['a'] as $xid => $array) { $explode = explode("|", $xid); $xid = $explode[0]; $shipid = $explode[1]; $ids[$xid] = $xid; $temp[$xid][$shipid] = $shipid; } sort($ids); foreach ($ids as $idx) { if (count($temp[$idx]) <= 0) { unset($zufall_verteidiger['a'][$idx]); } } srand((double) microtime() * 10000000); $rand = @array_rand($zufall_verteidiger['a']); $explode = explode("|", $rand); $schuss_nach_id2 = $explode[0]; $schuss_nach_id = $explode[1]; $selected_ships = $zufall_verteidiger['a'][$rand]; $zufall = $explode[2]; $selected_ship = $explode[2]; } $feuerkraft = $pricelist[$schiffid]['attack'] + $pricelist[$schiffid]['attack'] * ($angreifer_techniken[$id]['waffen'] / 10); $runde[$i]['angreifer']['schuesse']++; $runde[$i]['angreifer']['schusskraft'] += $feuerkraft; if ($killed1 != 1) { $schiffschilde = $verteidiger_schilde[$schuss_nach_id2][$schuss_nach_id][$selected_ship]; if ($feuerkraft <= $initialisierung['verteidiger']['schilde'][$schuss_nach_id2][$schuss_nach_id] / 100) { $runde[$i]['verteidiger']['schilde_weg'] += $feuerkraft; $schuss_auf_huelle = 0; } else { if ($feuerkraft > $schiffschilde) { $runde[$i]['verteidiger']['schilde_weg'] += $schiffschilde; $verteidiger_schilde[$schuss_nach_id2][$schuss_nach_id][$selected_ship] = 0; $schuss_auf_huelle = $feuerkraft - $schiffschilde; } else { $schuss_auf_huelle = 0; $verteidiger_schilde[$schuss_nach_id2][$schuss_nach_id][$selected_ship] -= $feuerkraft; $runde[$i]['verteidiger']['schilde_weg'] += $feuerkraft; } if ($schuss_auf_huelle > 0) { $verteidiger_huelle[$schuss_nach_id2][$schuss_nach_id][$selected_ship] -= $feuerkraft; if ($verteidiger_huelle[$schuss_nach_id2][$schuss_nach_id][$selected_ship] <= 0) { $delete_verteidiger[] = $rand . "*XXXX*" . $schuss_nach_id . "*XXXX*" . $schuss_nach_id2; $rapidfire_vs = $schuss_nach_id; $ship_rapidfire = true; } else { if ($verteidiger_huelle[$schuss_nach_id2][$schuss_nach_id][$selected_ship] < 0) { $verteidiger_huelle[$schuss_nach_id2][$schuss_nach_id][$selected_ship] = 0; } unset($huelle_start); unset($prozent); unset($einprozent); $huelle_start = $initialisierung['verteidiger']['huelle'][$schuss_nach_id2][$schuss_nach_id]; $einprozent = $huelle_start / 100; $prozent = 100 - round($verteidiger_huelle[$schuss_nach_id2][$schuss_nach_id][$selected_ship] / $einprozent); $zufall = mt_rand(1, 100); if ($prozent >= 30) { if ($prozent <= $zufall) { $delete_verteidiger[] = $rand . "*XXXX*" . $schuss_nach_id . "*XXXX*" . $schuss_nach_id2; $rapidfire_vs = $schuss_nach_id; $ship_rapidfire = true; } } } } if ($ship_rapidfire) { if ($rapidfire[$schiffid][$rapidfire_vs] > 1 && $rapidfire_anzahl <= 1250) { $rapidfire_ = 100 * ($rapidfire[$schiffid][$rapidfire_vs] - 1) / $rapidfire[$schiffid][$rapidfire_vs]; $zufall = mt_rand(1, 100); if ($zufall <= $rapidfire_) { $fire = true; } } else { $fire = false; } } else { $fire = false; } } } } } } } // ############## foreach ($runde[$i]['verteidiger']['schiffe'] as $id => $arrayx) { foreach ($arrayx as $schiffid => $array) { $anzahl = $array['anzahl']; for ($j = 0; $j < $anzahl; $j++) { $rapidfire_anzahl = 0; $fire = true; while ($fire == true) { $fire = false; $schuss_auf_huelle = 0; $rapidfire_vs = 0; $ship_rapidfire = false; $temp = array(); $ids = array(); if (count($zufall_angreifer['a']) == 0) { $killed1 = 1; } if ($killed1 != 1) { foreach ($zufall_angreifer['a'] as $xid => $array) { $explode = explode("|", $xid); $xid = $explode[0]; $shipid = $explode[1]; $ids[$xid] = $xid; $temp[$xid][$shipid] = $shipid; } sort($ids); foreach ($ids as $idx) { if (count($temp[$idx]) <= 0) { unset($zufall_angreifer['a'][$idx]); } } srand((double) microtime() * 10000000); $rand = @array_rand($zufall_angreifer['a']); $explode = explode("|", $rand); $schuss_nach_id2 = $explode[0]; $schuss_nach_id = $explode[1]; $selected_ships = $zufall_angreifer['a'][$rand]; $zufall = $explode[2]; $selected_ship = $explode[2]; } $feuerkraft = $pricelist[$schiffid]['attack'] + $pricelist[$schiffid]['attack'] * ($verteidiger_techniken[$id]['waffen'] / 10); $runde[$i]['verteidiger']['schuesse']++; $runde[$i]['verteidiger']['schusskraft'] += $feuerkraft; if ($killed1 != 1) { $schiffschilde = $angreifer_schilde[$schuss_nach_id2][$schuss_nach_id][$selected_ship]; if ($feuerkraft <= $initialisierung['angreifer']['schilde'][$schuss_nach_id2][$schuss_nach_id] / 100) { $runde[$i]['angreifer']['schilde_weg'] += $feuerkraft; $schuss_auf_huelle = 0; } else { if ($feuerkraft > $schiffschilde) { $runde[$i]['angreifer']['schilde_weg'] += $schiffschilde; $angreifer_schilde[$schuss_nach_id2][$schuss_nach_id][$selected_ship] = 0; $schuss_auf_huelle = $feuerkraft - $schiffschilde; } else { $schuss_auf_huelle = 0; $angreifer_schilde[$schuss_nach_id2][$schuss_nach_id][$selected_ship] -= $feuerkraft; $runde[$i]['angreifer']['schilde_weg'] += $feuerkraft; } if ($schuss_auf_huelle > 0) { $angreifer_huelle[$schuss_nach_id2][$schuss_nach_id][$selected_ship] -= $feuerkraft; if ($angreifer_huelle[$schuss_nach_id2][$schuss_nach_id][$selected_ship] <= 0) { $delete_angreifer[] = $rand . "*XXXX*" . $schuss_nach_id . "*XXXX*" . $schuss_nach_id2; $rapidfire_vs = $schuss_nach_id; $ship_rapidfire = true; } else { if ($angreifer_huelle[$schuss_nach_id2][$schuss_nach_id][$selected_ship] < 0) { $angreifer_huelle[$schuss_nach_id2][$schuss_nach_id][$selected_ship] = 0; } unset($huelle_start); unset($prozent); unset($einprozent); $huelle_start = $initialisierung['angreifer']['huelle'][$schuss_nach_id2][$schuss_nach_id]; $einprozent = $huelle_start / 100; $prozent = 100 - round($angreifer_huelle[$schuss_nach_id2][$schuss_nach_id][$selected_ship] / $einprozent); $zufall = mt_rand(1, 100); if ($prozent >= 30) { if ($prozent <= $zufall) { $delete_angreifer[] = $rand . "*XXXX*" . $schuss_nach_id . "*XXXX*" . $schuss_nach_id2; $rapidfire_vs = $schuss_nach_id; $ship_rapidfire = true; } } } } if ($ship_rapidfire) { if ($rapidfire[$schiffid][$rapidfire_vs] > 1 && $rapidfire_anzahl <= 1250) { $rapidfire_ = 100 * ($rapidfire[$schiffid][$rapidfire_vs] - 1) / $rapidfire[$schiffid][$rapidfire_vs]; $zufall = mt_rand(1, 100); if ($zufall <= $rapidfire_) { $fire = true; } } else { $fire = false; } } else { $fire = false; } } } } } } } // ############# $delete_verteidiger = DoppelteWerteEntfernen($delete_verteidiger); $delete_angreifer = DoppelteWerteEntfernen($delete_angreifer); if (count($delete_verteidiger) > 0) { foreach ($delete_verteidiger as $nummer => $inhalt) { $split = explode("*XXXX*", $inhalt); unset($zufall_verteidiger['a'][$split[0]]); $verteidiger_schiffe[$split[2]][$split[1]]['anzahl']--; } } if (count($delete_angreifer) > 0) { foreach ($delete_angreifer as $nummer => $inhalt) { $split = explode("*XXXX*", $inhalt); unset($zufall_angreifer['a'][$split[0]]); $angreifer_schiffe[$split[2]][$split[1]]['anzahl']--; } } if ($killed1 == 1 || $killed2 == 1) { $killed = 1; } } $ausgabe = '<html> <HEAD> <LINK rel="stylesheet" type="text/css" href="http://mysqldb2.my.funpic.de/formate.css"> <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> <TITLE>Notizen</TITLE> </HEAD> <BODY> <div id="overDiv"></div> <table width="99%"> <tr> <td> Folgende Flotten stehen sich um ' . date("m-d H:i:s") . ' gegenüber: <br> '; $runde_id = 0; $return_angreifer = array(); $return_verteidiger = array(); foreach ($runde as $rundeid) { $runde_id++; $angreifer = $rundeid['angreifer']; $verteidiger = $rundeid['verteidiger']; $angreifer_komplettvernichtet = true; $angreifer_nicht_vernichtet = array(); $verteidiger_komplettvernichtet = true; $verteidiger_nicht_vernichtet = array(); foreach ($angreifer as $types => $array) { if ($types == "schiffe") { for ($i = 1; $i <= count($array); $i++) { $return_angreifer[$runde_id][$i]['typ'] = "<th>Typ</th>"; $return_angreifer[$runde_id][$i]['anz'] = "<th>Anz.</th>"; $return_angreifer[$runde_id][$i]['waffen'] = "<th>Bewaff.</th>"; $return_angreifer[$runde_id][$i]['schilde'] = "<th>Schilde</th>"; $return_angreifer[$runde_id][$i]['huelle'] = "<th>Hülle</th>"; } foreach ($array as $id => $schiffe) { foreach ($schiffe as $schiffid => $xarray) { $anzahl = $xarray['anzahl']; if (!empty($anzahl)) { $angreifer_komplettvernichtet = false; $angreifer_nicht_vernichtet[$runde_id][$id] = true; $return_angreifer[$runde_id][$id]['typ'] .= "<th>" . getnamebyid($schiffid) . "</th>"; $return_angreifer[$runde_id][$id]['anz'] .= "<th>" . pretty_number($anzahl) . "</th>"; $return_angreifer[$runde_id][$id]['waffen'] .= "<th>" . pretty_number($initialisierung['angreifer']['waffen'][$id][$schiffid]) . "</th>"; $return_angreifer[$runde_id][$id]['schilde'] .= "<th>" . pretty_number($initialisierung['angreifer']['schilde'][$id][$schiffid]) . "</th>"; $return_angreifer[$runde_id][$id]['huelle'] .= "<th>" . pretty_number($initialisierung['angreifer']['huelle'][$id][$schiffid]) . "</th>"; } } } } } foreach ($verteidiger as $types => $array) { if ($types == "schiffe") { for ($i = 1; $i <= count($array); $i++) { $return_verteidiger[$runde_id][$i]['typ'] = "<th>Typ</th>"; $return_verteidiger[$runde_id][$i]['anz'] = "<th>Anz.</th>"; $return_verteidiger[$runde_id][$i]['waffen'] = "<th>Bewaff.</th>"; $return_verteidiger[$runde_id][$i]['schilde'] = "<th>Schilde</th>"; $return_verteidiger[$runde_id][$i]['huelle'] = "<th>Hülle</th>"; } foreach ($array as $id => $schiffe) { foreach ($schiffe as $schiffid => $xarray) { $anzahl = $xarray['anzahl']; if (!empty($anzahl)) { $verteidiger_komplettvernichtet = false; $verteidiger_nicht_vernichtet[$runde_id][$id] = true; $return_verteidiger[$runde_id][$id]['typ'] .= "<th>" . getnamebyid($schiffid) . "</th>"; $return_verteidiger[$runde_id][$id]['anz'] .= "<th>" . pretty_number($anzahl) . "</th>"; $return_verteidiger[$runde_id][$id]['waffen'] .= "<th>" . pretty_number($initialisierung['verteidiger']['waffen'][$id][$schiffid]) . "</th>"; $return_verteidiger[$runde_id][$id]['schilde'] .= "<th>" . pretty_number($initialisierung['verteidiger']['schilde'][$id][$schiffid]) . "</th>"; $return_verteidiger[$runde_id][$id]['huelle'] .= "<th>" . pretty_number($initialisierung['verteidiger']['huelle'][$id][$schiffid]) . "</th>"; } } } } } $ausgabe .= "\r\n\t<table border=1 width=100%>\r\n\t\t<tr>"; for ($i = 1; $i <= count($return_angreifer[$runde_id]); $i++) { $ausgabe .= "\r\n\t\t\t<th>\r\n\t\t\t\t<br>\r\n\t\t\t\t<center>\r\n\t\t\t\t\tAngreifer " . $angreifer_daten[$i]['name'] . " (" . $angreifer_daten[$i]['koords'] . ")"; if ($runde_id == 1) { $ausgabe .= "\r\n\t\t\t\t\t<br>\r\n\t\t\t\t\tWaffen: " . $angreifer_techniken[$i]['waffen'] * 10 . "% Schilde: " . $angreifer_techniken[$i]['schilde'] * 10 . "% Hülle: " . $angreifer_techniken[$i]['panzerung'] * 10 . "%"; } if ($angreifer_nicht_vernichtet[$runde_id][$i]) { $ausgabe .= "<table border=1>"; $ausgabe .= "<tr>"; $ausgabe .= $return_angreifer[$runde_id][$i]['typ']; $ausgabe .= "</tr>"; $ausgabe .= "<tr>"; $ausgabe .= $return_angreifer[$runde_id][$i]['anz']; $ausgabe .= "</tr>"; $ausgabe .= "<tr>"; $ausgabe .= $return_angreifer[$runde_id][$i]['waffen']; $ausgabe .= "</tr>"; $ausgabe .= "<tr>"; $ausgabe .= $return_angreifer[$runde_id][$i]['schilde']; $ausgabe .= "</tr>"; $ausgabe .= "<tr>"; $ausgabe .= $return_angreifer[$runde_id][$i]['huelle']; $ausgabe .= "</tr>"; $ausgabe .= "</table>"; } else { $ausgabe .= "<br>\r\n\t\t\tVernichtet"; } $ausgabe .= "\r\n\t\t\t\t</center>\r\n\t\t\t</th>"; } $ausgabe .= "\r\n\t\t</tr></table>"; $ausgabe .= "\r\n\t<table border=1 width=100%>\r\n\t\t<tr>"; for ($i = 1; $i <= count($return_verteidiger[$runde_id]); $i++) { $ausgabe .= "\r\n\t\t\t<th>\r\n\t\t\t\t<br>\r\n\t\t\t\t<center>\r\n\t\t\t\t\tVerteidiger " . $verteidiger_daten[$i]['name'] . " (" . $verteidiger_daten[$i]['koords'] . ")"; if ($runde_id == 1) { $ausgabe .= "\r\n\t\t\t\t\t<br>\r\n\t\t\t\t\tWaffen: " . $verteidiger_techniken[$i]['waffen'] * 10 . "% Schilde: " . $verteidiger_techniken[$i]['schilde'] * 10 . "% Hülle: " . $verteidiger_techniken[$i]['panzerung'] * 10 . "%"; } if ($verteidiger_nicht_vernichtet[$runde_id][$i]) { $ausgabe .= "<table border=1>"; $ausgabe .= "<tr>"; $ausgabe .= $return_verteidiger[$runde_id][$i]['typ']; $ausgabe .= "</tr>"; $ausgabe .= "<tr>"; $ausgabe .= $return_verteidiger[$runde_id][$i]['anz']; $ausgabe .= "</tr>"; $ausgabe .= "<tr>"; $ausgabe .= $return_verteidiger[$runde_id][$i]['waffen']; $ausgabe .= "</tr>"; $ausgabe .= "<tr>"; $ausgabe .= $return_verteidiger[$runde_id][$i]['schilde']; $ausgabe .= "</tr>"; $ausgabe .= "<tr>"; $ausgabe .= $return_verteidiger[$runde_id][$i]['huelle']; $ausgabe .= "</tr>"; $ausgabe .= "</table>"; } else { $ausgabe .= "<br>Vernichtet"; } $ausgabe .= "\r\n\t\t\t\t</center>\r\n\t\t\t</th>"; } $ausgabe .= "\r\n\t\t</tr>\r\n\t</table>"; if (!$verteidiger_komplettvernichtet && !$angreifer_komplettvernichtet) { $ausgabe .= "\r\n\t<br>\r\n\t<center>\r\n\t\tDie angreifende Flotte schießt insgesamt <b>" . pretty_number($runde[$runde_id]['angreifer']['schuesse']) . "</b> mal mit Gesamtstärke <b>" . pretty_number($runde[$runde_id]['angreifer']['schusskraft']) . "</b> auf den Verteidiger.\r\n\t\tDie Schilde des Verteidigers absorbieren <b>" . pretty_number($runde[$runde_id]['verteidiger']['schilde_weg']) . "</b> Schadenspunkte\r\n\t\t<br>\r\n\t\tDie verteidigende Flotte schießt insgesamt <b>" . pretty_number($runde[$runde_id]['verteidiger']['schuesse']) . "</b> mal mit Gesamtstärke <b>" . pretty_number($runde[$runde_id]['verteidiger']['schusskraft']) . "</b> auf den Angreifer.\r\n\t\tDie Schilde des Angreifers absorbieren <b>" . pretty_number($runde[$runde_id]['angreifer']['schilde_weg']) . "</b> Schadenspunkte\r\n\t</center>"; } else { if ($verteidiger_komplettvernichtet) { $ausgang = "angreifer"; } elseif ($angreifer_komplettvernichtet) { $ausgang = "verteidiger"; } else { $ausgang = "unentschieden"; } } } if ($ausgang == "angreifer") { $ausgabe .= "\r\n\t<p>Der Angreifer die Schlacht gewonnen!\r\n\t<br>\r\n\t\t\t"; $angreifer_kapazitaet = array(); $angreifer_gesamt_kapazitaet = 0; foreach ($angreifer_schiffe as $id => $arrayx) { foreach ($arrayx as $schiffid => $array) { $anzahl = $array['anzahl']; $angreifer_kapazitaet[$id] += $pricelist[$schiffid]['capacity'] * $anzahl; $angreifer_gesamt_kapazitaet += $pricelist[$schiffid]['capacity'] * $anzahl; } } $max_metall = floor($ressis['metall'] / 2); $max_kristall = floor($ressis['kristall'] / 2); $max_deut = floor($ressis['deuterium'] / 2); $einprozent = $angreifer_gesamt_kapazitaet / 100; $angreifer_beute_metall = 0; $angreifer_beute_kristall = 0; $angreifer_beute_deuterium = 0; $angreifer_beute = array(); $anzahl = count($angreifer_kapazitaet); foreach ($angreifer_kapazitaet as $id => $kapazitaet) { $prozent = $kapazitaet / 100 / ($angreifer_gesamt_kapazitaet / 100) * 100; $max_metall_user = $max_metall / 100 * $prozent; $max_kristall_user = $max_kristall / 100 * $prozent; $max_deut_user = $max_deut / 100 * $prozent; if (!empty($max_metall_user) && $max_metall_user < 1) { $max_metall_user = 1; } else { $max_metall_user = floor($max_metall_user); } if (!empty($max_kristall_user) && $max_kristall_user < 1) { $max_kristall_user = 1; } else { $max_kristall_user = floor($max_kristall_user); } if (!empty($max_deut_user) && $max_deut_user < 1) { $max_deut_user = 1; } else { $max_deut_user = floor($max_deut_user); } if ($max_metall_user + $max_kristall_user + $max_deut_user >= $kapazitaet) { $angreifer_beute[$id]['metall'] += $max_metall_user; $angreifer_beute[$id]['kristall'] += $max_kristall_user; $angreifer_beute[$id]['deut'] += $max_deut_user; $angreifer_beute_metall += $max_metall_user; $angreifer_beute_kristall += $max_kristall_user; $angreifer_beute_deuterium += $max_deut_user; } else { $drittel = $kapazitaet / 3; if ($drittel <= $max_metall_user) { $angreifer_beute[$id]['metall'] += $drittel; $angreifer_beute_metall += $drittel; } else { $angreifer_beute[$id]['metall'] += $max_metall_user; $angreifer_beute_metall += $max_metall_user; } if ($drittel <= $max_kristall_user) { $angreifer_beute[$id]['kristall'] += $drittel; $angreifer_beute_kristall += $drittel; } else { $angreifer_beute[$id]['kristall'] += $max_kristall_user; $angreifer_beute_kristall += $max_kristall_user; } if ($drittel <= $max_deut_user) { $angreifer_beute[$id]['deut'] += $drittel; $angreifer_beute_deuterium += $drittel; } else { $angreifer_beute[$id]['deut'] += $max_deut_user; $angreifer_beute_deuterium += $max_deut_user; } } } $ausgabe .= "\r\n\tEr erbeutet<br><b>" . pretty_number($angreifer_beute_metall) . "</b> Metall, <b>" . pretty_number($angreifer_beute_kristall) . "</b> Kristall und <b>" . pretty_number($angreifer_beute_deuterium) . "</b> Deuterium\r\n\t<br>"; } elseif ($angreifer_komplettvernichtet) { $ausgang = "verteidiger"; } else { $ausgang = "unentschieden"; } $units_angreifer_start = 0; $units_angreifer_end = 0; $units_verteidiger_start = 0; $units_verteidiger_end = 0; $verlusteangreifer_schiffe = array(); $verlusteverteidiger_schiffe = array(); $verluste_verteidigung = array(); foreach ($angreifer_schiffe_start as $id => $array) { foreach ($array as $schiffid => $arrayx) { $anzahl = $arrayx['anzahl']; $units = ($pricelist[$schiffid]['metal'] + $pricelist[$schiffid]['crystal']) * $anzahl; $units_angreifer_start += $units; $verlusteangreifer_schiffe[$schiffid] += $anzahl; } } $fleet_array = array(); $angr_schiffe = 0; if (count($angreifer_schiffe) > 0) { foreach ($angreifer_schiffe as $id => $array) { foreach ($array as $schiffid => $arrayx) { $anzahl = $arrayx['anzahl']; $units = ($pricelist[$schiffid]['metal'] + $pricelist[$schiffid]['crystal']) * $anzahl; $units_angreifer_end += $units; $verlusteangreifer_schiffe[$schiffid] -= $anzahl; $fleet_array[$id] .= $schiffid . "," . $anzahl . ";"; $angr_schiffe++; } } } if (count($verteidiger_schiffe_start) > 0) { foreach ($verteidiger_schiffe_start as $id => $array) { foreach ($array as $schiffid => $arrayx) { $anzahl = $arrayx['anzahl']; $units = ($pricelist[$schiffid]['metal'] + $pricelist[$schiffid]['crystal']) * $anzahl; $units_verteidiger_start += $units; $verlusteverteidiger_schiffe[$schiffid] += $anzahl; } } } if (count($verteidiger_schiffe) > 0) { foreach ($verteidiger_schiffe as $id => $array) { foreach ($array as $schiffid => $arrayx) { $anzahl = $arrayx['anzahl']; $units = ($pricelist[$schiffid]['metal'] + $pricelist[$schiffid]['crystal']) * $anzahl; $units_verteidiger_end += $units; $verlusteverteidiger_schiffe[$schiffid] -= $anzahl; } } } $metall = 0; $kristall = 0; if (count($verlusteverteidiger_schiffe) > 0) { foreach ($verlusteverteidiger_schiffe as $schiffid => $anzahl) { if ($anzahl > 0 && $schiffid < 400) { $metall += $pricelist[$schiffid]['metal'] * 0.3 * $anzahl; $kristall += $pricelist[$schiffid]['crystal'] * 0.3 * $anzahl; } elseif ($schiffid > 400 && $schiffid < 500) { $verluste_verteidigung[$schiffid] += $anzahl; } } } if (count($verlusteangreifer_schiffe) > 0) { foreach ($verlusteangreifer_schiffe as $schiffid => $anzahl) { if ($anzahl > 0 && $schiffid > 400 && $schiffid < 500) { $metall += $pricelist[$schiffid]['metal'] * 0.3 * $anzahl; $kristall += $pricelist[$schiffid]['crystal'] * 0.3 * $anzahl; } } } $repair = array(); if (count($verlusteverteidiger_schiffe) > 0) { foreach ($verlusteverteidiger_schiffe as $schiffid => $anzahl) { if ($schiffid > 400 && $schiffid < 500) { for ($k = 0; $k < $anzahl; $k++) { $zufall = mt_rand(0, 100); if ($zufall <= 70) { $repair[$schiffid]++; } else { $return_delete[$schiffid]++; } } } } } $repairtext = ""; $x = 0; $irgendwas = false; foreach ($repair as $schiffid => $anzahl) { $x++; $repairtext .= "<b>" . $anzahl . "</b> " . get_komplett_name($schiffid); if ($x < count($repair)) { $repairtext .= ", "; $irgendwas = true; } elseif ($x == count($repair) - 1 && $irgendwas) { $rapirtext .= " und "; } $verteidiger_schiffe[$schiffid] += $anzahl; } $verluste_verteidiger = $units_verteidiger_start - $units_verteidiger_end; $verluste_angreifer = $units_angreifer_start - $units_angreifer_end; $mtime = microtime(); $mtime = explode(" ", $mtime); $mtime = $mtime[1] + $mtime[0]; $endtime = $mtime; $totaltime = round($endtime - $starttime, 5); $ausgabe_verteidiger .= $ausgabe . "\r\n\t<p>\r\n\t<br>\r\n\tDer Angreifer hat insgesamt " . pretty_number($verluste_angreifer) . " Units verloren.\r\n\t<br>\r\n\tDer Verteidiger hat insgesamt " . pretty_number($verluste_verteidiger) . " Units verloren.\r\n\t<br>\r\n\tAuf diesen Raumkoordinaten liegen nun <b>" . pretty_number($metall) . "</b> Metall und <b>" . pretty_number($kristall) . "</b> Kristall.\r\n\t<br>" . $repairtext . " liessen sich reparieren.\r\n\t<br><br>\r\n\tDer Server brauchte <b>" . $totaltime . "</b> Sekunden um den Kampf auszutragen!\r\n </td>\r\n\r\n </tr>\r\n</table>\r\n</BODY>\r\n</html>"; $ausgabe_angreifer .= $ausgabe . "\r\n\t<p>\r\n\t<br>\r\n\tDer Angreifer hat insgesamt " . pretty_number($verluste_angreifer) . " Units verloren.\r\n\t<br>\r\n\tDer Verteidiger hat insgesamt " . pretty_number($verluste_verteidiger) . " Units verloren.\r\n\t<br>\r\n\tAuf diesen Raumkoordinaten liegen nun <b>" . pretty_number($metall) . "</b> Metall und <b>" . pretty_number($kristall) . "</b> Kristall.\r\n\t<br><br>\r\n\tDer Server brauchte <b>" . $totaltime . "</b> Sekunden um den Kampf auszutragen!\r\n </td>\r\n\r\n </tr>\r\n</table>\r\n</BODY>\r\n</html>"; $hashes = array(); $hashes['md5_angreifer'] = md5($ausgabe_angreifer); $hashes['sha1_angreifer'] = sha1($ausgabe_angreifer); $hashes['double_angreifer'] = $hashes['sha1_angreifer'] . $hashes['md5_angreifer']; $hashes['md5_verteidiger'] = md5($ausgabe_verteidiger); $hashes['sha1_verteidiger'] = sha1($ausgabe_verteidiger); $hashes['double_verteidiger'] = $hashes['sha1_verteidiger'] . $hashes['md5_verteidiger']; $return = array(); $return['ausgabe_angreifer'] = $ausgabe_angreifer; $return['ausgabe_verteidger'] = $ausgabe_verteidiger; $return['angreifer_schiffe'] = $angreifer_schiffe; $return['verteidiger_schiffe'] = $verteidiger_schiffe; $return['hashes'] = $hashes; $return['delete'] = $return_delete; $return['tf'] = array("m" => $metall, "k" => $kristall); $return['units'] = array("a" => $verluste_angreifer, "v" => $verluste_verteidiger); $return['ausgang'] = $ausgang; $return['beute'] = $angreifer_beute; $return['endrunde'] = $endrunde; $return['fleet_amount'] = $angr_schiffe; $return['fleet_array'] = $fleet_array; return $return; }
<td> <a href="__ROOT__/Index/notice/show/<?php echo $vo['id']; ?> "><?php echo $vo["title"]; ?> </a></td> <td><a href="__ROOT__/Index/notice/show/<?php echo $vo['id']; ?> "><?php echo utf_shorttext($vo["content"], 20); ?> </a></td> <td><?php echo getnamebyid("cernet_user", $vo["author"]); ?> </td> <td><?php echo $vo["time"]; ?> </td> <td><?php if ($vo["priority"] == 0) { ?> <i class="icon-remove"></i><?php } else { ?> <i class="icon-ok"></i><?php } ?>
</div> <div class="wrapper" id="Main"> <div class="container"> <div class="container well-large" id="container"> <legend class="title"> <h2><?php echo $title; ?> </h2> </legend> <p> <a href="__ROOT__" >返回首页</a> <span class="pull-right"><?php echo getnamebyid("cernet_user", $author); ?> 发布于 <?php echo $time; ?> </span> </p> <hr /> <div class="content well well-large" id="content"> <?php echo $content; ?> </div> </div> </div> </div>